On Mon, 13 Mar 2017 11:31:26 +0530
"Gautham R. Shenoy" <e...@linux.vnet.ibm.com> wrote:

> [Changelog written with inputs from sva...@linux.vnet.ibm.com]
> Signed-off-by: Gautham R. Shenoy <e...@linux.vnet.ibm.com>

Reviewed-by: Nicholas Piggin <npig...@gmail.com>

> ---
>  arch/powerpc/platforms/powernv/smp.c | 10 +++++++++-
>  1 file changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/powerpc/platforms/powernv/smp.c 
> b/arch/powerpc/platforms/powernv/smp.c
> index e39e6c4..8d5b99e 100644
> --- a/arch/powerpc/platforms/powernv/smp.c
> +++ b/arch/powerpc/platforms/powernv/smp.c
> @@ -192,8 +192,16 @@ static void pnv_smp_cpu_kill_self(void)
>               } else if ((idle_states & OPAL_PM_SLEEP_ENABLED) ||
>                          (idle_states & OPAL_PM_SLEEP_ENABLED_ER1)) {
>                       srr1 = power7_sleep();
> -             } else {
> +             } else if (idle_states & OPAL_PM_NAP_ENABLED) {
>                       srr1 = power7_nap(1);
> +             } else {
> +                     /* This is the fallback method. We emulate snooze */
> +                     while (!generic_check_cpu_restart(cpu)) {
> +                             HMT_low();
> +                             HMT_very_low();
> +                     }
> +                     srr1 = 0;
> +                     HMT_medium();
>               }
>  
>               ppc64_runlatch_on();

Reply via email to