From: R Sricharan Date: Wed, 12 Sep 2012 07:14:13 +0000 (+0530) Subject: ARM: OMAP2+: Round of the carve out memory requested to section_size X-Git-Tag: next-20121012~80^2~4^2~14 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=7a2852908e37e20be065e7765806daf1df077496;p=karo-tx-linux.git ARM: OMAP2+: Round of the carve out memory requested to section_size memblock_steal tries to reserve physical memory during boot. When the requested size is not aligned on the section size then, the remaining memory available for lowmem becomes unaligned on the section boundary. There is a issue with this, which is discussed in the thread below. https://lkml.org/lkml/2012/6/28/112 The final conclusion from the thread seems to be align the memblock_steal calls on the SECTION boundary. The issue comes out when LPAE is enabled, where the section size is 2MB. Boot tested this on OMAP5 evm with and without LPAE. Signed-off-by: R Sricharan Acked-by: Santosh Shilimkar Signed-off-by: Tony Lindgren --- diff --git a/arch/arm/mach-omap2/omap-secure.c b/arch/arm/mach-omap2/omap-secure.c index a004cb9acf52..e089e4d1ae38 100644 --- a/arch/arm/mach-omap2/omap-secure.c +++ b/arch/arm/mach-omap2/omap-secure.c @@ -61,8 +61,8 @@ int __init omap_secure_ram_reserve_memblock(void) { u32 size = OMAP_SECURE_RAM_STORAGE; - size = ALIGN(size, SZ_1M); - omap_secure_memblock_base = arm_memblock_steal(size, SZ_1M); + size = ALIGN(size, SECTION_SIZE); + omap_secure_memblock_base = arm_memblock_steal(size, SECTION_SIZE); return 0; }