arm64: mm: Move zone_dma_bits initialization into zone_sizes_init()
authorNicolas Saenz Julienne <nsaenzjulienne@suse.de>
Thu, 19 Nov 2020 17:53:54 +0000 (18:53 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Fri, 20 Nov 2020 09:34:13 +0000 (09:34 +0000)
zone_dma_bits's initialization happens earlier that it's actually
needed, in arm64_memblock_init(). So move it into the more suitable
zone_sizes_init().

Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Tested-by: Jeremy Linton <jeremy.linton@arm.com>
Link: https://lore.kernel.org/r/20201119175400.9995-3-nsaenzjulienne@suse.de
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/mm/init.c

index 5cae22be54fa0e3991592a8a092cc94a01ce58c3..1609b61ef2680539f9d5dd2b5a47cc21a8520dcf 100644 (file)
@@ -197,6 +197,8 @@ static void __init zone_sizes_init(unsigned long min, unsigned long max)
        unsigned long max_zone_pfns[MAX_NR_ZONES]  = {0};
 
 #ifdef CONFIG_ZONE_DMA
+       zone_dma_bits = ARM64_ZONE_DMA_BITS;
+       arm64_dma_phys_limit = max_zone_phys(zone_dma_bits);
        max_zone_pfns[ZONE_DMA] = PFN_DOWN(arm64_dma_phys_limit);
 #endif
 #ifdef CONFIG_ZONE_DMA32
@@ -383,11 +385,6 @@ void __init arm64_memblock_init(void)
 
        early_init_fdt_scan_reserved_mem();
 
-       if (IS_ENABLED(CONFIG_ZONE_DMA)) {
-               zone_dma_bits = ARM64_ZONE_DMA_BITS;
-               arm64_dma_phys_limit = max_zone_phys(ARM64_ZONE_DMA_BITS);
-       }
-
        if (IS_ENABLED(CONFIG_ZONE_DMA32))
                arm64_dma32_phys_limit = max_zone_phys(32);
        else