Hi,
When I use "dma_alloc_coherent()" allocate large than 4MB memory.
I got this error message from the linux kernel.
error source : kernel/drivers/video/da8xx-fb.c
--------------------------------------------------------------------------------------------------------------------------------------------------------------
[ 0.430572] da8xx_lcdc da8xx_lcdc.0: GLCD: Found TFC_S9700RTWV35TR_01B panel
[ 0.431640] par->vram_size = 6291456
[ 0.431640] ------------[ cut here ]------------
[ 0.431701] WARNING: at mm/page_alloc.c:2109 __alloc_pages_nodemask+0x480/0x650()
[ 0.431732] Modules linked in:
[ 0.431732] Backtrace:
[ 0.431793] [<c001803c>] (dump_backtrace+0x0/0x10c) from [<c04d61cc>] (dump_stack+0x18/0x1c)
[ 0.431793] r7:00000009 r6:0000083d r5:c0082cf8 r4:00000000
[ 0.431854] [<c04d61b4>] (dump_stack+0x0/0x1c) from [<c003beb4>] (warn_slowpath_common+0x54/0x6c)
[ 0.431884] [<c003be60>] (warn_slowpath_common+0x0/0x6c) from [<c003bef0>] (warn_slowpath_null+0x24/0x2c)
[ 0.431884] r9:c06f2558 r8:00ffffff r7:00000000 r6:c069e110 r5:c07068e8
[ 0.431915] r4:00000000
[ 0.431945] [<c003becc>] (warn_slowpath_null+0x0/0x2c) from [<c0082cf8>] (__alloc_pages_nodemask+0x480/0x650)
[ 0.431976] [<c0082878>] (__alloc_pages_nodemask+0x0/0x650) from [<c001a2c8>] (__dma_alloc+0x90/0x308)
[ 0.432006] [<c001a238>] (__dma_alloc+0x0/0x308) from [<c001a5d0>] (dma_alloc_coherent+0x5c/0x68)
[ 0.432037] [<c001a574>] (dma_alloc_coherent+0x0/0x68) from [<c04cdc5c>] (fb_probe+0x7cc/0xbec)
[ 0.432067] r7:c06bc318 r6:00002000 r5:df868e08 r4:c06d1004
[ 0.432098] [<c04cd490>] (fb_probe+0x0/0xbec) from [<c0265444>] (platform_drv_probe+0x20/0x24)
[ 0.432128] [<c0265424>] (platform_drv_probe+0x0/0x24) from [<c0263f8c>] (driver_probe_device+0xa0/0x1b0)
[ 0.432159] [<c0263eec>] (driver_probe_device+0x0/0x1b0) from [<c0264130>] (__driver_attach+0x94/0x98)
[ 0.432189] r9:00000000 r8:00000000 r7:00000000 r6:df868e3c r5:c06d0f48
[ 0.432220] r4:df868e08
[ 0.432220] [<c026409c>] (__driver_attach+0x0/0x98) from [<c0263740>] (bus_for_each_dev+0x68/0x94)
[ 0.432250] r7:00000000 r6:c026409c r5:df82ded0 r4:c06d0f48
[ 0.432281] [<c02636d8>] (bus_for_each_dev+0x0/0x94) from [<c0263ddc>] (driver_attach+0x24/0x28)
[ 0.432312] r7:00000000 r6:df95d340 r5:c06d55e8 r4:c06d0f48
[ 0.432342] [<c0263db8>] (driver_attach+0x0/0x28) from [<c0262fa8>] (bus_add_driver+0xa8/0x23c)
[ 0.432373] [<c0262f00>] (bus_add_driver+0x0/0x23c) from [<c0264794>] (driver_register+0x80/0x144)
[ 0.432403] [<c0264714>] (driver_register+0x0/0x144) from [<c02658e0>] (platform_driver_register+0x4c/0x60)
[ 0.432434] r9:00000000 r8:00000000 r7:00000013 r6:00000000 r5:c06f2b00
[ 0.432464] r4:c069acc8
[ 0.432495] [<c0265894>] (platform_driver_register+0x0/0x60) from [<c0679ae8>] (da8xx_fb_init+0x14/0x1c)
[ 0.432525] [<c0679ad4>] (da8xx_fb_init+0x0/0x1c) from [<c0008610>] (do_one_initcall+0x44/0x1a4)
[ 0.432556] [<c00085cc>] (do_one_initcall+0x0/0x1a4) from [<c0660288>] (kernel_init+0x80/0x124)
[ 0.432586] [<c0660208>] (kernel_init+0x0/0x124) from [<c003f4b4>] (do_exit+0x0/0x6ac)
[ 0.432617] r5:c0660208 r4:00000000
[ 0.432678] ---[ end trace 65f8ea860415c04f ]---
[ 0.432708] da8xx_lcdc da8xx_lcdc.0: GLCD: kmalloc for frame buffer failed
[ 0.432769] da8xx_lcdc: probe of da8xx_lcdc.0 failed with error -22
--------------------------------------------------------------------------------------------------------------------------------------------------------------
How to resolve this problem?
Please suggest
Thanks