arm: mvebu: a37xx: Fix calling build_mem_map()
authorPali Rohár <pali@kernel.org>
Wed, 16 Feb 2022 10:18:43 +0000 (11:18 +0100)
committerStefan Roese <sr@denx.de>
Thu, 17 Feb 2022 13:17:07 +0000 (14:17 +0100)
commit2fb7426cf027a9efcd05975b6f4b2968a4d54834
treee07b67514eefdbc26d2316109284ec9a9a7eebf4
parent0eebc3dbe5659cc0163fd37ea87727edd8343379
arm: mvebu: a37xx: Fix calling build_mem_map()

Function build_mem_map() modifies global variable mem_map. This variable is
used by the get_page_table_size() function which is called by function
arm_reserve_mmu() (as aliased macro PGTABLE_SIZE). Function
arm_reserve_mmu() is called earlier than enable_caches() which calls
build_mem_map(). So arm_reserve_mmu() does not calculate reserved memory
correctly.

Fix this issue by calling build_mem_map() from a3700_dram_init() which is
called before arm_reserve_mmu().

Signed-off-by: Pali Rohár <pali@kernel.org>
Reviewed-by: Stefan Roese <sr@denx.de>
Reviewed-by: Marek Behún <marek.behun@nic.cz>
arch/arm/mach-mvebu/armada3700/cpu.c