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) {