Enter winkle during offline if supported, else revert to sleep or nap.

Cc: Benjamin Herrenschmidt <b...@kernel.crashing.org>
Cc: Paul Mackerras <pau...@samba.org>
Cc: Michael Ellerman <m...@ellerman.id.au>
Cc: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Shreyas B. Prabhu <shre...@linux.vnet.ibm.com>
---
 arch/powerpc/platforms/powernv/smp.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/arch/powerpc/platforms/powernv/smp.c 
b/arch/powerpc/platforms/powernv/smp.c
index 3ad31d2..e3fc2c9 100644
--- a/arch/powerpc/platforms/powernv/smp.c
+++ b/arch/powerpc/platforms/powernv/smp.c
@@ -169,8 +169,10 @@ static void pnv_smp_cpu_kill_self(void)
        while (!generic_check_cpu_restart(cpu)) {
                ppc64_runlatch_off();
 
-               /* If sleep is supported, go to sleep, instead of nap */
-               if (idle_states & IDLE_USE_SLEEP)
+               /* Go to deepest supported idle state */
+               if (idle_states & IDLE_USE_WINKLE)
+                       power7_winkle();
+               else if (idle_states & IDLE_USE_SLEEP)
                        power7_sleep();
                else
                        power7_nap(1);
-- 
1.9.0

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to