[PATCH] powerpc/64s: Fix DT CPU features Power9 DD2.1 logic

Nicholas Piggin npiggin at gmail.com
Thu Jun 14 00:31:58 AEST 2018


On Wed, 13 Jun 2018 23:23:56 +1000
Michael Ellerman <mpe at ellerman.id.au> wrote:

> In the device tree CPU features quirk code we want to set
> CPU_FTR_POWER9_DD2_1 on all Power9s that aren't DD2.0 or earlier. But
> we got the logic wrong and instead set it on all CPUs that aren't
> Power9 DD2.0 or earlier, ie. including Power8.
> 
> Fix it by making sure we're on a Power9. This isn't a bug in practice
> because the only code that checks the feature is Power9 only to begin
> with. But we'll backport it anyway to avoid confusion.
> 
> Fixes: 9e9626ed3a4a ("powerpc/64s: Fix POWER9 DD2.2 and above in DT CPU features")
> Cc: stable at vger.kernel.org # v4.17+
> Reported-by: Paul Mackerras <paulus at samba.org>
> Signed-off-by: Michael Ellerman <mpe at ellerman.id.au>

Acked-by: Nicholas Piggin <npiggin at gmail.com>

> ---
>  arch/powerpc/kernel/dt_cpu_ftrs.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/powerpc/kernel/dt_cpu_ftrs.c b/arch/powerpc/kernel/dt_cpu_ftrs.c
> index 4be1c0de9406..96dd3d871986 100644
> --- a/arch/powerpc/kernel/dt_cpu_ftrs.c
> +++ b/arch/powerpc/kernel/dt_cpu_ftrs.c
> @@ -711,7 +711,8 @@ static __init void cpufeatures_cpu_quirks(void)
>  		cur_cpu_spec->cpu_features |= CPU_FTR_P9_TM_HV_ASSIST;
>  		cur_cpu_spec->cpu_features |= CPU_FTR_P9_TM_XER_SO_BUG;
>  		cur_cpu_spec->cpu_features |= CPU_FTR_POWER9_DD2_1;
> -	} else /* DD2.1 and up have DD2_1 */
> +	} else if ((version & 0xffff0000) == 0x004e0000)
> +		/* DD2.1 and up have DD2_1 */
>  		cur_cpu_spec->cpu_features |= CPU_FTR_POWER9_DD2_1;
>  
>  	if ((version & 0xffff0000) == 0x004e0000) {



More information about the Linuxppc-dev mailing list