On Wed, 13 Jun 2018 23:23:56 +1000
Michael Ellerman <m...@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: sta...@vger.kernel.org # v4.17+
> Reported-by: Paul Mackerras <pau...@samba.org>
> Signed-off-by: Michael Ellerman <m...@ellerman.id.au>

Acked-by: Nicholas Piggin <npig...@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) {

Reply via email to