aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-kernel/linux/linux-imx-2.6.35.3/plat-mxc-double-dma-zone-max.patch
blob: cd13000768f17b1d77414a0de3ef8f5617bf346e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Double the maximum value of DMA_ZONE_SIZE for i.MX (plat-mxc).

This allows to increase the DMA_ZONE, which prevents memory allocation
failures during playout V4L2, such as these:

gplay: page allocation failure. order:10, mode:0xd1
[<80038538>] (unwind_backtrace+0x0/0xf0) from [<8009c4c8>] (__alloc_pages_nodemask+0x500/0x568)
[<8009c4c8>] (__alloc_pages_nodemask+0x500/0x568) from [<80038f70>] (__dma_alloc+0xec/0x2b8)
[<80038f70>] (__dma_alloc+0xec/0x2b8) from [<800391b4>] (dma_alloc_coherent+0x54/0x60)
[<800391b4>] (dma_alloc_coherent+0x54/0x60) from [<802e40b8>] (mxc_allocate_buffers+0x24/0x7c)
[<802e40b8>] (mxc_allocate_buffers+0x24/0x7c) from [<802e6098>] (mxc_v4l2out_do_ioctl+0x488/0xd9c)
[<802e6098>] (mxc_v4l2out_do_ioctl+0x488/0xd9c) from [<802d945c>] (video_usercopy+0x1e4/0x310)
[<802d945c>] (video_usercopy+0x1e4/0x310) from [<802d889c>] (v4l2_ioctl+0x44/0x4c)
[<802d889c>] (v4l2_ioctl+0x44/0x4c) from [<800d0bb4>] (vfs_ioctl+0x7c/0xac)
[<800d0bb4>] (vfs_ioctl+0x7c/0xac) from [<800d1204>] (do_vfs_ioctl+0x52c/0x57c)
[<800d1204>] (do_vfs_ioctl+0x52c/0x57c) from [<800d1288>] (sys_ioctl+0x34/0x54)
[<800d1288>] (sys_ioctl+0x34/0x54) from [<80033f80>] (ret_fast_syscall+0x0/0x30)

Although this fixes first symptoms, needs further analysis to see if this is
a long term fix. Is this contiguous memory? Does it fragment over time, thus
only delay the actual error occurance, etc?

Signed-off-by: Leon Woestenberg <leon@sidebranch.com>
diff -Nur orig/arch/arm/plat-mxc/Kconfig git/arch/arm/plat-mxc/Kconfig
--- orig/arch/arm/plat-mxc/Kconfig	2011-12-22 15:11:17.589371026 +0100
+++ git/arch/arm/plat-mxc/Kconfig	2011-12-22 16:10:19.148873805 +0100
@@ -87,7 +87,7 @@
 
 config DMA_ZONE_SIZE
 	int "DMA memory zone size"
-	range 0 96
+	range 0 182
 	default 24
 	help
 	  This is the size in MB for the DMA zone. The DMA zone is used for