microblaze: Kernel parameters should be parsed earlier
authorMichal Simek <michal.simek@xilinx.com>
Tue, 14 Jan 2020 10:00:41 +0000 (11:00 +0100)
committerMichal Simek <michal.simek@xilinx.com>
Mon, 24 Feb 2020 11:19:42 +0000 (12:19 +0100)
Kernel command line should be parsed before cma initialization to be able
to get cma sizes from command line. That's why call parse_early_param()
before dma_continugous_reserve().

Unfortunately it can't be called earlier in machine_early_init() because
if earlycon is passed in the command line the parse_early_param() attempts
an ioremap which fails as the memory params are not set yet.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: Shubhrajyoti Datta <shubhrajyoti.datta@xilinx.com>
arch/microblaze/kernel/setup.c
arch/microblaze/mm/init.c

index 511c1ab..a8fc15a 100644 (file)
@@ -54,7 +54,6 @@ void __init setup_arch(char **cmdline_p)
        *cmdline_p = boot_command_line;
 
        setup_memory();
-       parse_early_param();
 
        console_verbose();
 
index 1056f16..9899ff2 100644 (file)
@@ -347,6 +347,8 @@ asmlinkage void __init mmu_init(void)
         * inside 768MB limit */
        memblock_set_current_limit(memory_start + lowmem_size - 1);
 
+       parse_early_param();
+
        /* CMA initialization */
        dma_contiguous_reserve(memory_start + lowmem_size - 1);
 }