summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--arch/arm64/kernel/perf_event.c2
-rw-r--r--drivers/soc/qcom/perf_event_kryo.c2
-rw-r--r--include/linux/perf/arm_pmu.h1
3 files changed, 3 insertions, 2 deletions
diff --git a/arch/arm64/kernel/perf_event.c b/arch/arm64/kernel/perf_event.c
index ce8eb8f565e1..9674cea90c68 100644
--- a/arch/arm64/kernel/perf_event.c
+++ b/arch/arm64/kernel/perf_event.c
@@ -653,7 +653,7 @@ static void armv8pmu_read_num_pmnc_events(void *info)
*nb_cnt += 1;
}
-static int armv8pmu_probe_num_events(struct arm_pmu *arm_pmu)
+int armv8pmu_probe_num_events(struct arm_pmu *arm_pmu)
{
return smp_call_function_any(&arm_pmu->supported_cpus,
armv8pmu_read_num_pmnc_events,
diff --git a/drivers/soc/qcom/perf_event_kryo.c b/drivers/soc/qcom/perf_event_kryo.c
index a9a7f3f682be..c61a86850777 100644
--- a/drivers/soc/qcom/perf_event_kryo.c
+++ b/drivers/soc/qcom/perf_event_kryo.c
@@ -384,6 +384,6 @@ int kryo_pmu_init(struct arm_pmu *kryo_pmu)
kryo_clear_resrs();
- return 0;
+ return armv8pmu_probe_num_events(cpu_pmu);
}
diff --git a/include/linux/perf/arm_pmu.h b/include/linux/perf/arm_pmu.h
index 6ebc90027fb3..136e2e9da1ee 100644
--- a/include/linux/perf/arm_pmu.h
+++ b/include/linux/perf/arm_pmu.h
@@ -174,6 +174,7 @@ int armv8pmu_disable_counter(int idx);
u32 armv8pmu_getreset_flags(void);
void armv8pmu_pmcr_write(u32 val);
void armv8pmu_write_evtype(int idx, u32 val);
+int armv8pmu_probe_num_events(struct arm_pmu *arm_pmu);
int kryo_pmu_init(struct arm_pmu *cpu_pmu);