mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 10:00:17 +00:00
powerpc/powernv/idle: Fix restore of SPRN_LDBAR for POWER9 stop state.
commitf5a9e488d6upstream. commit10d91611f4("powerpc/64s: Reimplement book3s idle code in C") reimplemented book3S code to pltform/powernv/idle.c. But when doing so missed to add the per-thread LDBAR update in the core_woken path of the power9_idle_stop(). Patch fixes the same. Fixes:10d91611f4("powerpc/64s: Reimplement book3s idle code in C") Cc: stable@vger.kernel.org # v5.2+ Signed-off-by: Athira Rajeev <atrajeev@linux.vnet.ibm.com> Signed-off-by: Madhavan Srinivasan <maddy@linux.vnet.ibm.com> Reviewed-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20190702105836.26695-1-maddy@linux.vnet.ibm.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
03eccf2da6
commit
d71acd3f40
@@ -758,7 +758,6 @@ static unsigned long power9_idle_stop(unsigned long psscr, bool mmu_on)
|
||||
mtspr(SPRN_PTCR, sprs.ptcr);
|
||||
mtspr(SPRN_RPR, sprs.rpr);
|
||||
mtspr(SPRN_TSCR, sprs.tscr);
|
||||
mtspr(SPRN_LDBAR, sprs.ldbar);
|
||||
|
||||
if (pls >= pnv_first_tb_loss_level) {
|
||||
/* TB loss */
|
||||
@@ -790,6 +789,7 @@ core_woken:
|
||||
mtspr(SPRN_MMCR0, sprs.mmcr0);
|
||||
mtspr(SPRN_MMCR1, sprs.mmcr1);
|
||||
mtspr(SPRN_MMCR2, sprs.mmcr2);
|
||||
mtspr(SPRN_LDBAR, sprs.ldbar);
|
||||
|
||||
mtspr(SPRN_SPRG3, local_paca->sprg_vdso);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user