powerpc/64s/idle: Fix restore of AMOR on POWER9 after deep sleep
authorNicholas Piggin <npiggin@gmail.com>
Thu, 5 Apr 2018 06:10:00 +0000 (16:10 +1000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 May 2018 05:52:25 +0000 (07:52 +0200)
[ Upstream commit c1b25a17d24925b0961c319cfc3fd7e1dc778914 ]

POWER8 restores AMOR when waking from deep sleep, but POWER9 does not,
because it does not go through the subcore restore.

Have POWER9 restore it in core restore.

Fixes: ee97b6b99f42 ("powerpc/mm/radix: Setup AMOR in HV mode to allow key 0")
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/powerpc/kernel/idle_book3s.S

index 1125c9b..e35cebd 100644 (file)
@@ -838,6 +838,8 @@ BEGIN_FTR_SECTION
        mtspr   SPRN_PTCR,r4
        ld      r4,_RPR(r1)
        mtspr   SPRN_RPR,r4
+       ld      r4,_AMOR(r1)
+       mtspr   SPRN_AMOR,r4
 END_FTR_SECTION_IFSET(CPU_FTR_ARCH_300)
 
        ld      r4,_TSCR(r1)