arm: stm32mp: correct the ALIGN macro usage
authorPatrick Delaunay <patrick.delaunay@st.com>
Wed, 4 Nov 2020 08:22:09 +0000 (09:22 +0100)
committerPatrick Delaunay <patrick.delaunay@st.com>
Wed, 25 Nov 2020 09:33:16 +0000 (10:33 +0100)
Correct the ALIGN macro usage in mmu_set_region_dcache_behaviour
call: the address must use ALIGN_DOWN and size can use ALIGN macro.

With STM32_SYSRAM_BASE=0x2FFC0000 and MMU_SECTION_SIZE=0x100000 for
STM32MP15x the computed address was 30000000 instead of 2ff00000.

Fixes: 43fe9d2fda24 ("stm32mp1: mmu_set_region_dcache_behaviour")
Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
arch/arm/mach-stm32mp/cpu.c

index 6785ab6..1520c6e 100644 (file)
@@ -226,8 +226,8 @@ static void early_enable_caches(void)
 
        if (IS_ENABLED(CONFIG_SPL_BUILD))
                mmu_set_region_dcache_behaviour(
-                       ALIGN(STM32_SYSRAM_BASE, MMU_SECTION_SIZE),
-                       round_up(STM32_SYSRAM_SIZE, MMU_SECTION_SIZE),
+                       ALIGN_DOWN(STM32_SYSRAM_BASE, MMU_SECTION_SIZE),
+                       ALIGN(STM32_SYSRAM_SIZE, MMU_SECTION_SIZE),
                        DCACHE_DEFAULT_OPTION);
        else
                mmu_set_region_dcache_behaviour(STM32_DDR_BASE,