aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/mm
diff options
context:
space:
mode:
authorMichael Ellerman <mpe@ellerman.id.au>2016-07-26 07:55:27 -0400
committerMichael Ellerman <mpe@ellerman.id.au>2016-07-31 21:14:55 -0400
commit2537b09c939fca26447f0ac3e688691de06eadda (patch)
tree18a5143d6114ab849d91e85eda6d81416a767d37 /arch/powerpc/mm
parentbacf9cf88303c0df5794ca45dd9f297740a00913 (diff)
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: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/mm')
-rw-r--r--arch/powerpc/mm/init_64.c4
-rw-r--r--arch/powerpc/mm/pgtable-radix.c3
2 files changed, 4 insertions, 3 deletions
diff --git a/arch/powerpc/mm/init_64.c b/arch/powerpc/mm/init_64.c
index d023333c6c9a..e0ab33d20a10 100644
--- a/arch/powerpc/mm/init_64.c
+++ b/arch/powerpc/mm/init_64.c
@@ -427,7 +427,9 @@ void __init mmu_early_init_devtree(void)
427 if (disable_radix) 427 if (disable_radix)
428 cur_cpu_spec->mmu_features &= ~MMU_FTR_RADIX; 428 cur_cpu_spec->mmu_features &= ~MMU_FTR_RADIX;
429 429
430 if (!radix_enabled()) 430 if (radix_enabled())
431 radix__early_init_devtree();
432 else
431 hash__early_init_devtree(); 433 hash__early_init_devtree();
432} 434}
433#endif /* CONFIG_PPC_STD_MMU_64 */ 435#endif /* CONFIG_PPC_STD_MMU_64 */
diff --git a/arch/powerpc/mm/pgtable-radix.c b/arch/powerpc/mm/pgtable-radix.c
index 003ff48a11b6..f34ccdbe0fbd 100644
--- a/arch/powerpc/mm/pgtable-radix.c
+++ b/arch/powerpc/mm/pgtable-radix.c
@@ -264,7 +264,7 @@ static int __init radix_dt_scan_page_sizes(unsigned long node,
264 return 1; 264 return 1;
265} 265}
266 266
267static void __init radix_init_page_sizes(void) 267void __init radix__early_init_devtree(void)
268{ 268{
269 int rc; 269 int rc;
270 270
@@ -343,7 +343,6 @@ void __init radix__early_init_mmu(void)
343 __pte_frag_nr = H_PTE_FRAG_NR; 343 __pte_frag_nr = H_PTE_FRAG_NR;
344 __pte_frag_size_shift = H_PTE_FRAG_SIZE_SHIFT; 344 __pte_frag_size_shift = H_PTE_FRAG_SIZE_SHIFT;
345 345
346 radix_init_page_sizes();
347 if (!firmware_has_feature(FW_FEATURE_LPAR)) { 346 if (!firmware_has_feature(FW_FEATURE_LPAR)) {
348 radix_init_native(); 347 radix_init_native();
349 lpcr = mfspr(SPRN_LPCR); 348 lpcr = mfspr(SPRN_LPCR);