OSDN Git Service

powerpc/hv-24x7: Fix pvr check when setting interface version
authorKajol Jain <kjain@linux.ibm.com>
Tue, 31 Jan 2023 18:48:04 +0000 (00:18 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Fri, 10 Feb 2023 11:17:35 +0000 (22:17 +1100)
Commit ec3eb9d941a9 ("powerpc/perf: Use PVR rather than
oprofile field to determine CPU version") added usage
of pvr value instead of oprofile field to determine the
platform. In hv-24x7 pmu driver code, pvr check uses PVR_POWER8
when assigning the interface version for power8 platform.
But power8 can also have other pvr values like PVR_POWER8E and
PVR_POWER8NVL. Hence the interface version won't be set
properly incase of PVR_POWER8E and PVR_POWER8NVL.
Fix this issue by adding the checks for PVR_POWER8E and
PVR_POWER8NVL as well.

Fixes: ec3eb9d941a9 ("powerpc/perf: Use PVR rather than oprofile field to determine CPU version")
Reported-by: Sachin Sant <sachinp@linux.ibm.com>
Signed-off-by: Kajol Jain <kjain@linux.ibm.com>
Tested-by: Sachin Sant <sachinp@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20230131184804.220756-1-kjain@linux.ibm.com
arch/powerpc/perf/hv-24x7.c

index 33c2322..8ce5683 100644 (file)
@@ -1727,7 +1727,8 @@ static int hv_24x7_init(void)
        }
 
        /* POWER8 only supports v1, while POWER9 only supports v2. */
-       if (PVR_VER(pvr) == PVR_POWER8)
+       if (PVR_VER(pvr) == PVR_POWER8 || PVR_VER(pvr) == PVR_POWER8E ||
+           PVR_VER(pvr) == PVR_POWER8NVL)
                interface_version = 1;
        else {
                interface_version = 2;