Commit 2537b09c authored by Michael Ellerman's avatar Michael Ellerman

powerpc/mm: Do radix device tree scanning earlier

Like we just did for hash, split the device tree scanning parts out and
call them from mmu_early_init_devtree().
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent bacf9cf8
...@@ -109,6 +109,7 @@ extern int mmu_io_psize; ...@@ -109,6 +109,7 @@ extern int mmu_io_psize;
/* MMU initialization */ /* MMU initialization */
void mmu_early_init_devtree(void); void mmu_early_init_devtree(void);
void hash__early_init_devtree(void); void hash__early_init_devtree(void);
void radix__early_init_devtree(void);
extern void radix_init_native(void); extern void radix_init_native(void);
extern void hash__early_init_mmu(void); extern void hash__early_init_mmu(void);
extern void radix__early_init_mmu(void); extern void radix__early_init_mmu(void);
......
...@@ -427,7 +427,9 @@ void __init mmu_early_init_devtree(void) ...@@ -427,7 +427,9 @@ void __init mmu_early_init_devtree(void)
if (disable_radix) if (disable_radix)
cur_cpu_spec->mmu_features &= ~MMU_FTR_RADIX; cur_cpu_spec->mmu_features &= ~MMU_FTR_RADIX;
if (!radix_enabled()) if (radix_enabled())
radix__early_init_devtree();
else
hash__early_init_devtree(); hash__early_init_devtree();
} }
#endif /* CONFIG_PPC_STD_MMU_64 */ #endif /* CONFIG_PPC_STD_MMU_64 */
...@@ -264,7 +264,7 @@ static int __init radix_dt_scan_page_sizes(unsigned long node, ...@@ -264,7 +264,7 @@ static int __init radix_dt_scan_page_sizes(unsigned long node,
return 1; return 1;
} }
static void __init radix_init_page_sizes(void) void __init radix__early_init_devtree(void)
{ {
int rc; int rc;
...@@ -343,7 +343,6 @@ void __init radix__early_init_mmu(void) ...@@ -343,7 +343,6 @@ void __init radix__early_init_mmu(void)
__pte_frag_nr = H_PTE_FRAG_NR; __pte_frag_nr = H_PTE_FRAG_NR;
__pte_frag_size_shift = H_PTE_FRAG_SIZE_SHIFT; __pte_frag_size_shift = H_PTE_FRAG_SIZE_SHIFT;
radix_init_page_sizes();
if (!firmware_has_feature(FW_FEATURE_LPAR)) { if (!firmware_has_feature(FW_FEATURE_LPAR)) {
radix_init_native(); radix_init_native();
lpcr = mfspr(SPRN_LPCR); lpcr = mfspr(SPRN_LPCR);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment