aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/omap4_ion.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-omap2/omap4_ion.c')
-rwxr-xr-xarch/arm/mach-omap2/omap4_ion.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/omap4_ion.c b/arch/arm/mach-omap2/omap4_ion.c
index 6233173..e591020 100755
--- a/arch/arm/mach-omap2/omap4_ion.c
+++ b/arch/arm/mach-omap2/omap4_ion.c
@@ -18,6 +18,9 @@
#include <mach/omap4_ion.h>
+/* Hardcoded Ducati heap address. */
+#define TUNA_DUCATI_HEAP_ADDR 0xba300000
+
/*
* Carveouts from higher end of RAM
* - SMC
@@ -120,7 +123,11 @@ void __init omap_ion_init(void)
omap4_ion_heap_nonsec_tiler_mem_size = 0;
omap4_ion_heap_tiler_mem_size = 0;
} else {
+#if defined(CONFIG_ION_OMAP_IPU_MEM_IOBUFS_SIZE) && CONFIG_ION_OMAP_IPU_MEM_IOBUFS_SIZE > 0
+ omap4_ion_heap_secure_input_size = (SZ_1M * CONFIG_ION_OMAP_IPU_MEM_IOBUFS_SIZE);
+#else
omap4_ion_heap_secure_input_size = (SZ_1M * 90);
+#endif
#ifdef CONFIG_MACH_TUNA
omap4_ion_heap_secure_output_wfdhdcp_size = 0;
#else
@@ -141,8 +148,12 @@ void __init omap_ion_init(void)
/* carveout addresses */
omap4_smc_addr = PLAT_PHYS_OFFSET + omap_total_ram_size() -
omap4_smc_size;
+#ifdef CONFIG_MACH_TUNA /* fixed start address of ducati heap */
+ omap4_ion_heap_secure_input_addr = TUNA_DUCATI_HEAP_ADDR;
+#else
omap4_ion_heap_secure_input_addr = omap4_smc_addr -
omap4_ion_heap_secure_input_size;
+#endif
omap4_ion_heap_secure_output_wfdhdcp_addr =
omap4_ion_heap_secure_input_addr -
omap4_ion_heap_secure_output_wfdhdcp_size;