From: Athira Rajeev <atraj...@linux.vnet.ibm.com>

commit 10d91611f426 ("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: 10d91611f426 ("powerpc/64s: Reimplement book3s idle code in C")
Signed-off-by: Athira Rajeev <atraj...@linux.vnet.ibm.com>
Signed-off-by: Madhavan Srinivasan <ma...@linux.vnet.ibm.com>
---
 arch/powerpc/platforms/powernv/idle.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/powerpc/platforms/powernv/idle.c 
b/arch/powerpc/platforms/powernv/idle.c
index 2f4479b94ac3..fd14a6237954 100644
--- a/arch/powerpc/platforms/powernv/idle.c
+++ b/arch/powerpc/platforms/powernv/idle.c
@@ -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 @@ static unsigned long power9_idle_stop(unsigned long psscr, 
bool mmu_on)
        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);
 
-- 
2.20.1

Reply via email to