powerpc/powernv: Enable TM without suspend if possible
authorMichael Ellerman <mpe@ellerman.id.au>
Thu, 12 Oct 2017 10:17:18 +0000 (21:17 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Fri, 20 Oct 2017 22:33:05 +0000 (09:33 +1100)
commit54820530c5faa9fd78e1c08cb6449100b1a19157
treeb7b605fd74c9435143d6c3464d4c829e95ea8141
parentcba6ac4869e45cc93ac5497024d1d49576e82666
powerpc/powernv: Enable TM without suspend if possible

Some Power9 revisions can run in a mode where TM operates without
suspended state. If we find ourself on a CPU that might be in this
mode, we query OPAL to check, and if so we reenable TM in CPU
features, and enable a new user feature to signal to userspace that we
are in this mode.

We do not enable the "normal" user feature, PPC_FEATURE2_HTM, but we
do enable PPC_FEATURE2_HTM_NOSC because that indicates to userspace
that the kernel will abort transactions on syscall entry, which is
true regardless of the suspend mode.

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/include/asm/opal-api.h
arch/powerpc/include/asm/powernv.h
arch/powerpc/include/asm/tm.h
arch/powerpc/kernel/process.c
arch/powerpc/kernel/prom.c
arch/powerpc/platforms/powernv/setup.c