diff options
Diffstat (limited to 'target/linux/brcm2708/patches-3.10/0039-bcm2708-Add-vc_cma-driver-to-enable-use-of-CMA.patch')
-rw-r--r-- | target/linux/brcm2708/patches-3.10/0039-bcm2708-Add-vc_cma-driver-to-enable-use-of-CMA.patch | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-3.10/0039-bcm2708-Add-vc_cma-driver-to-enable-use-of-CMA.patch b/target/linux/brcm2708/patches-3.10/0039-bcm2708-Add-vc_cma-driver-to-enable-use-of-CMA.patch new file mode 100644 index 0000000000..82f25b7624 --- /dev/null +++ b/target/linux/brcm2708/patches-3.10/0039-bcm2708-Add-vc_cma-driver-to-enable-use-of-CMA.patch @@ -0,0 +1,55 @@ +From bf571a571b090c16cd49458126e996243d8a2626 Mon Sep 17 00:00:00 2001 +From: popcornmix <popcornmix@gmail.com> +Date: Thu, 28 Mar 2013 00:10:32 +0000 +Subject: [PATCH 039/174] bcm2708: Add vc_cma driver to enable use of CMA + +--- + arch/arm/mach-bcm2708/bcm2708.c | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +--- a/arch/arm/mach-bcm2708/bcm2708.c ++++ b/arch/arm/mach-bcm2708/bcm2708.c +@@ -60,6 +60,11 @@ + #include "armctrl.h" + #include "clock.h" + ++#ifdef CONFIG_BCM_VC_CMA ++#include <linux/broadcom/vc_cma.h> ++#endif ++ ++ + /* Effectively we have an IOMMU (ARM<->VideoCore map) that is set up to + * give us IO access only to 64Mbytes of physical memory (26 bits). We could + * represent this window by setting our dmamasks to 26 bits but, in fact +@@ -693,6 +698,9 @@ void __init bcm2708_init(void) + { + int i; + ++#if defined(CONFIG_BCM_VC_CMA) ++ vc_cma_early_init(); ++#endif + printk("bcm2708.uart_clock = %d\n", uart_clock); + pm_power_off = bcm2708_power_off; + +@@ -889,6 +897,13 @@ void __init bcm2708_init_early(void) + init_dma_coherent_pool_size(SZ_4M); + } + ++static void __init board_reserve(void) ++{ ++#if defined(CONFIG_BCM_VC_CMA) ++ vc_cma_reserve(); ++#endif ++} ++ + MACHINE_START(BCM2708, "BCM2708") + /* Maintainer: Broadcom Europe Ltd. */ + .map_io = bcm2708_map_io, +@@ -897,6 +912,7 @@ MACHINE_START(BCM2708, "BCM2708") + .init_machine = bcm2708_init, + .init_early = bcm2708_init_early, + .restart = bcm2708_restart, ++ .reserve = board_reserve, + MACHINE_END + + module_param(boardrev, uint, 0644); |