Idle code no longer uses the .cpu_restore CPU operation to restore
SPRs, so this workaround is no longer required.

Signed-off-by: Nicholas Piggin <npig...@gmail.com>
---
 arch/powerpc/kernel/dt_cpu_ftrs.c | 21 +--------------------
 1 file changed, 1 insertion(+), 20 deletions(-)

diff --git a/arch/powerpc/kernel/dt_cpu_ftrs.c 
b/arch/powerpc/kernel/dt_cpu_ftrs.c
index c66fd3ce6478..78db3e6eb45e 100644
--- a/arch/powerpc/kernel/dt_cpu_ftrs.c
+++ b/arch/powerpc/kernel/dt_cpu_ftrs.c
@@ -71,7 +71,6 @@ static int hv_mode;
 
 static struct {
        u64     lpcr;
-       u64     lpcr_clear;
        u64     hfscr;
        u64     fscr;
 } system_registers;
@@ -80,24 +79,7 @@ static void (*init_pmu_registers)(void);
 
 static void __restore_cpu_cpufeatures(void)
 {
-       u64 lpcr;
-
-       /*
-        * LPCR is restored by the power on engine already. It can be changed
-        * after early init e.g., by radix enable, and we have no unified API
-        * for saving and restoring such SPRs.
-        *
-        * This ->restore hook should really be removed from idle and register
-        * restore moved directly into the idle restore code, because this code
-        * doesn't know how idle is implemented or what it needs restored here.
-        *
-        * The best we can do to accommodate secondary boot and idle restore
-        * for now is "or" LPCR with existing.
-        */
-       lpcr = mfspr(SPRN_LPCR);
-       lpcr |= system_registers.lpcr;
-       lpcr &= ~system_registers.lpcr_clear;
-       mtspr(SPRN_LPCR, lpcr);
+       mtspr(SPRN_LPCR, system_registers.lpcr);
        if (hv_mode) {
                mtspr(SPRN_LPID, 0);
                mtspr(SPRN_HFSCR, system_registers.hfscr);
@@ -318,7 +300,6 @@ static int __init feat_enable_mmu_hash_v3(struct 
dt_cpu_feature *f)
 {
        u64 lpcr;
 
-       system_registers.lpcr_clear |= (LPCR_ISL | LPCR_UPRT | LPCR_HR);
        lpcr = mfspr(SPRN_LPCR);
        lpcr &= ~(LPCR_ISL | LPCR_UPRT | LPCR_HR);
        mtspr(SPRN_LPCR, lpcr);
-- 
2.20.1

Reply via email to