Re: [PATCH] powernv:idle: Set NAPSTATELOST after recovering paca on P9 DD1

Nicholas Piggin
2017-05-12T09:37:07Z

On Fri, 12 May 2017 14:52:06 +0530
"Gautham R. Shenoy" <ego@linux.vnet.ibm.com> wrote:

> From: "Gautham R. Shenoy" <ego@linux.vnet.ibm.com>
>
> commit 17ed4c8f81da ("powerpc/powernv: Recover correct PACA on wakeup
> from a stop on P9 DD1") promises to set the NAPSTATELOST bit in paca
> after recovering the correct paca for the thread waking up from stop1
> on DD1, so that the GPRs can be correctly restored on the stop exit
> path. However, it loads the value 1 into r3, but stores the value in
> r0 into NAPSTATELOST(r13).
>
> Fix this by correctly set the NAPSTATELOST bit in paca after
> recovering the paca on POWER9 DD1.
>
> Fixes: commit 17ed4c8f81da ("powerpc/powernv: Recover correct PACA on wakeup
> from a stop on P9 DD1")
>
> Signed-off-by: Gautham R. Shenoy <ego@linux.vnet.ibm.com>

This looks obviously correct to me.

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

> ---
> arch/powerpc/kernel/idle_book3s.S | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/powerpc/kernel/idle_book3s.S b/arch/powerpc/kernel/idle_book3s.S
> index 07d4e0a..4898d67 100644
> --- a/arch/powerpc/kernel/idle_book3s.S
> +++ b/arch/powerpc/kernel/idle_book3s.S
> @@ -416,7 +416,7 @@ power9_dd1_recover_paca:
> * which needs to be restored from the stack.
> */
> li r3, 1
> - stb r0,PACA_NAPSTATELOST(r13)
> + stb r3,PACA_NAPSTATELOST(r13)
> blr
>
> /*