diff options
author | Michael Ellerman <mpe@ellerman.id.au> | 2016-07-26 07:55:27 -0400 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2016-07-31 21:14:55 -0400 |
commit | 2537b09c939fca26447f0ac3e688691de06eadda (patch) | |
tree | 18a5143d6114ab849d91e85eda6d81416a767d37 /arch/powerpc/mm | |
parent | bacf9cf88303c0df5794ca45dd9f297740a00913 (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.c | 4 | ||||
-rw-r--r-- | arch/powerpc/mm/pgtable-radix.c | 3 |
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 | ||
267 | static void __init radix_init_page_sizes(void) | 267 | void __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); |