diff options
author | codeworkx <codeworkx@cyanogenmod.com> | 2012-09-17 17:53:57 +0200 |
---|---|---|
committer | codeworkx <codeworkx@cyanogenmod.com> | 2012-09-18 16:31:59 +0200 |
commit | c28265764ec6ad9995eb0c761a376ffc9f141fcd (patch) | |
tree | 3ad899757480d47deb2be6011509a4243e8e0dc2 /arch/arm/plat-s5p/reserve_mem.c | |
parent | 0ddbcb39c0dc0318f68d858f25a96a074142af2f (diff) | |
download | kernel_samsung_smdk4412-c28265764ec6ad9995eb0c761a376ffc9f141fcd.zip kernel_samsung_smdk4412-c28265764ec6ad9995eb0c761a376ffc9f141fcd.tar.gz kernel_samsung_smdk4412-c28265764ec6ad9995eb0c761a376ffc9f141fcd.tar.bz2 |
applied patches from i9305 jb sources, updated mali to r3p0
Change-Id: Iec4bc4e2fb59e2cf5b4d25568a644d4e3719565e
Diffstat (limited to 'arch/arm/plat-s5p/reserve_mem.c')
-rw-r--r-- | arch/arm/plat-s5p/reserve_mem.c | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/arch/arm/plat-s5p/reserve_mem.c b/arch/arm/plat-s5p/reserve_mem.c index 5b91823..a103ec9 100644 --- a/arch/arm/plat-s5p/reserve_mem.c +++ b/arch/arm/plat-s5p/reserve_mem.c @@ -155,14 +155,49 @@ void __init s5p_cma_region_reserve(struct cma_region *regions_normal, } if (paddr_last) { +#ifndef CONFIG_DMA_CMA while (memblock_reserve(paddr_last, size_secure)) paddr_last -= align_secure; +#else + if (!reg->start) { + while (memblock_reserve(paddr_last, + size_secure)) + paddr_last -= align_secure; + } +#endif do { +#ifndef CONFIG_DMA_CMA reg->start = paddr_last; reg->reserved = 1; paddr_last += reg->size; - +#else + if (reg->start) { + reg->reserved = 1; +#if defined(CONFIG_USE_MFC_CMA) && defined(CONFIG_MACH_M0) + if (reg->start == 0x5C100000) { + if (memblock_reserve(0x5C100000, + 0x700000)) + panic("memblock\n"); + if (memblock_reserve(0x5F000000, + 0x200000)) + panic("memblock\n"); + } else { + if (memblock_reserve(reg->start, + reg->size)) + panic("memblock\n"); + } +#else + if (memblock_reserve(reg->start, + reg->size)) + panic("memblock\n"); +#endif + } else { + reg->start = paddr_last; + reg->reserved = 1; + paddr_last += reg->size; + } +#endif pr_info("S5P/CMA: " "Reserved 0x%08x/0x%08x for '%s'\n", reg->start, reg->size, reg->name); |