summaryrefslogtreecommitdiff
path: root/drivers/perf/arm_cspmu/arm_cspmu.c
diff options
context:
space:
mode:
authorBesar Wicaksono <bwicaksono@nvidia.com>2025-09-30 00:26:01 +0000
committerWill Deacon <will@kernel.org>2025-11-03 13:35:07 +0000
commita2573bc7908da8e6eb63dc4e449b7c1724e3849b (patch)
tree43f27c9fa052292c41a05eb03d7ec01275570f63 /drivers/perf/arm_cspmu/arm_cspmu.c
parentc3d78c34ad009a7cce57ae5b5c93e1bd03bb31a3 (diff)
perf/arm_cspmu: Add callback to reset filter config
Implementer may need to reset a filter config when stopping a counter, thus adding a callback for this. Reviewed-by: Ilkka Koskinen <ilkka@os.amperecomputing.com> Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com> Signed-off-by: Besar Wicaksono <bwicaksono@nvidia.com> Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to 'drivers/perf/arm_cspmu/arm_cspmu.c')
-rw-r--r--drivers/perf/arm_cspmu/arm_cspmu.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/perf/arm_cspmu/arm_cspmu.c b/drivers/perf/arm_cspmu/arm_cspmu.c
index efa9b229e701..82d7ed6202f1 100644
--- a/drivers/perf/arm_cspmu/arm_cspmu.c
+++ b/drivers/perf/arm_cspmu/arm_cspmu.c
@@ -815,6 +815,10 @@ static void arm_cspmu_stop(struct perf_event *event, int pmu_flags)
return;
arm_cspmu_disable_counter(cspmu, hwc->idx);
+
+ if (cspmu->impl.ops.reset_ev_filter)
+ cspmu->impl.ops.reset_ev_filter(cspmu, event);
+
arm_cspmu_event_update(event);
hwc->state |= PERF_HES_STOPPED | PERF_HES_UPTODATE;