]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
powerpc: Add TIDR CPU feature for POWER9
authorAlastair D'Silva <alastair@d-silva.org>
Fri, 11 May 2018 06:12:57 +0000 (16:12 +1000)
committerStefan Bader <stefan.bader@canonical.com>
Tue, 17 Jul 2018 09:15:38 +0000 (11:15 +0200)
BugLink: http://bugs.launchpad.net/bugs/1775786
This patch adds a CPU feature bit to show whether the CPU has
the TIDR register available, enabling as_notify/wait in userspace.

Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
Reviewed-by: Frederic Barrat <fbarrat@linux.vnet.ibm.com>
Reviewed-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
(backported from commit 819844285ef2b5d15466f5b5062514135ffba06c)
Signed-off-by: Joseph Salisbury <joseph.salisbury@canonical.com>
Acked-by: Stefan Bader <stefan.bader@canonical.com>
Acked-by: Seth Forshee <seth.forshee@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
arch/powerpc/include/asm/cputable.h
arch/powerpc/kernel/dt_cpu_ftrs.c

index c585bdf86d6354b1aaf8f1b20aa3f541f9462aa4..82ca727911c9b5f5cca45b5c282070a12a39dcd4 100644 (file)
@@ -227,6 +227,7 @@ enum {
 #define CPU_FTR_P9_TM_HV_ASSIST                LONG_ASM_CONST(0x0000100000000000)
 #define CPU_FTR_P9_TM_XER_SO_BUG       LONG_ASM_CONST(0x0000200000000000)
 #define CPU_FTR_P9_TLBIE_BUG           LONG_ASM_CONST(0x0000400000000000)
+#define CPU_FTR_P9_TIDR                        LONG_ASM_CONST(0x0000800000000000)
 
 #ifndef __ASSEMBLY__
 
@@ -478,7 +479,7 @@ enum {
            CPU_FTR_CFAR | CPU_FTR_HVMODE | CPU_FTR_VMX_COPY | \
            CPU_FTR_DBELL | CPU_FTR_HAS_PPR | CPU_FTR_DAWR | \
            CPU_FTR_ARCH_207S | CPU_FTR_TM_COMP | CPU_FTR_ARCH_300 | \
-           CPU_FTR_P9_TLBIE_BUG)
+           CPU_FTR_P9_TLBIE_BUG | CPU_FTR_P9_TIDR)
 #define CPU_FTRS_POWER9_DD1 ((CPU_FTRS_POWER9 | CPU_FTR_POWER9_DD1) & \
                             (~CPU_FTR_SAO))
 #define CPU_FTRS_POWER9_DD2_0 CPU_FTRS_POWER9
index ba09a3cd7c01ee8ae3505ad52780033a408e3bec..480af69a8acb4d6cffcc2c2afc7ee54a0737e9dc 100644 (file)
@@ -748,8 +748,10 @@ static __init void cpufeatures_cpu_quirks(void)
                cur_cpu_spec->cpu_features |= CPU_FTR_P9_TM_HV_ASSIST |
                        CPU_FTR_P9_TM_XER_SO_BUG;
 
-       if ((version & 0xffff0000) == 0x004e0000)
+       if ((version & 0xffff0000) == 0x004e0000) {
                cur_cpu_spec->cpu_features |= CPU_FTR_P9_TLBIE_BUG;
+               cur_cpu_spec->cpu_features |= CPU_FTR_P9_TIDR;
+       }
 }
 
 static void __init cpufeatures_setup_finished(void)