diff options
Diffstat (limited to 'arch/arm64/kernel/perf_event.c')
-rw-r--r-- | arch/arm64/kernel/perf_event.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/arm64/kernel/perf_event.c b/arch/arm64/kernel/perf_event.c index 78a5894b1621..dfbd178f198e 100644 --- a/arch/arm64/kernel/perf_event.c +++ b/arch/arm64/kernel/perf_event.c @@ -1332,9 +1332,9 @@ static void __init cpu_pmu_init(struct arm_pmu *armpmu) static int __init init_hw_perf_events(void) { - u64 dfr = read_cpuid(ID_AA64DFR0_EL1); + u64 dfr = read_system_reg(SYS_ID_AA64DFR0_EL1); - switch ((dfr >> 8) & 0xf) { + switch (cpuid_feature_extract_field(dfr, ID_AA64DFR0_PMUVER_SHIFT)) { case 0x1: /* PMUv3 */ cpu_pmu = armv8_pmuv3_pmu_init(); break; |