diff options
| author | Satya Durga Srinivasu Prabhala <satyap@codeaurora.org> | 2016-03-14 13:29:39 -0700 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 21:23:40 -0700 |
| commit | 36ea398cfb0a4f3eea22212d61fdfecc3aa7adfe (patch) | |
| tree | 3f8247e5fb42a074edc81c011e994822180cd6cf | |
| parent | 6d65a9d49dc25d125f27ea297fab6e9394579805 (diff) | |
qcom: perf: probe number of events in kryo CPU PMU init
CPU PMU events needs to be probed and returned per new design in
kernel 4.4.
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
Diffstat (limited to '')
| -rw-r--r-- | arch/arm64/kernel/perf_event.c | 2 | ||||
| -rw-r--r-- | drivers/soc/qcom/perf_event_kryo.c | 2 | ||||
| -rw-r--r-- | include/linux/perf/arm_pmu.h | 1 |
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); |
