summaryrefslogtreecommitdiff
path: root/arch/powerpc/perf/power9-pmu.c
diff options
context:
space:
mode:
authorRashmica Gupta <rashmica.g@gmail.com>2022-07-07 17:37:17 +0300
committerMichael Ellerman <mpe@ellerman.id.au>2022-07-27 14:36:05 +0300
commitec3eb9d941a98f4c0dac263110729680a734279b (patch)
tree33ee98c9e5c4436c6b83dd8e678e22533a3447a1 /arch/powerpc/perf/power9-pmu.c
parent6042a1652d643d1d34fa89bb314cb102960c0800 (diff)
downloadlinux-ec3eb9d941a98f4c0dac263110729680a734279b.tar.xz
powerpc/perf: Use PVR rather than oprofile field to determine CPU version
Currently the perf CPU backend drivers detect what CPU they're on using cur_cpu_spec->oprofile_cpu_type. Although that works, it's a bit crufty to be using oprofile related fields, especially seeing as oprofile is more or less unused these days. It also means perf is reliant on the fragile logic in setup_cpu_spec() which detects when we're using a logical PVR and copies back the PMU related fields from the raw CPU entry. So lets check the PVR directly. Suggested-by: Michael Ellerman <mpe@ellerman.id.au> Signed-off-by: Rashmica Gupta <rashmica.g@gmail.com> Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> Reviewed-by: Madhavan Srinivasan <maddy@linux.vnet.ibm.com> [chleroy: Added power10 and fixed checkpatch issues] Reviewed-and-tested-by: Athira Rajeev <atrajeev@linux.vnet.ibm.com> Reviewed-and-tested-By: Kajol Jain <kjain@linux.ibm.com> [For 24x7 side changes] Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20c0ee7f99dbf0dbf8658df6b39f84753e6db1ef.1657204631.git.christophe.leroy@csgroup.eu
Diffstat (limited to 'arch/powerpc/perf/power9-pmu.c')
-rw-r--r--arch/powerpc/perf/power9-pmu.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/arch/powerpc/perf/power9-pmu.c b/arch/powerpc/perf/power9-pmu.c
index bc6d76bce97b..cb6a7dc02dd7 100644
--- a/arch/powerpc/perf/power9-pmu.c
+++ b/arch/powerpc/perf/power9-pmu.c
@@ -467,9 +467,7 @@ int __init init_power9_pmu(void)
int rc = 0;
unsigned int pvr = mfspr(SPRN_PVR);
- /* Comes from cpu_specs[] */
- if (!cur_cpu_spec->oprofile_cpu_type ||
- strcmp(cur_cpu_spec->oprofile_cpu_type, "ppc64/power9"))
+ if (PVR_VER(pvr) != PVR_POWER9)
return -ENODEV;
/* Blacklist events */