summaryrefslogtreecommitdiff
path: root/drivers/perf/arm_cspmu/arm_cspmu.h
diff options
context:
space:
mode:
authorIlkka Koskinen <ilkka@os.amperecomputing.com>2023-09-14 02:39:40 +0300
committerWill Deacon <will@kernel.org>2023-10-05 16:19:25 +0300
commit647d5c5a9e7672e285f54f0e141ee759e69382f2 (patch)
tree48e22118979adbc7815f11aae81be2ab6adcc583 /drivers/perf/arm_cspmu/arm_cspmu.h
parent0a7603ab242e9bab530227cf0d0d344d4e334acc (diff)
downloadlinux-647d5c5a9e7672e285f54f0e141ee759e69382f2.tar.xz
perf: arm_cspmu: Support implementation specific validation
Some platforms may use e.g. different filtering mechanism and, thus, may need different way to validate the events and group. Signed-off-by: Ilkka Koskinen <ilkka@os.amperecomputing.com> Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com> Link: https://lore.kernel.org/r/20230913233941.9814-4-ilkka@os.amperecomputing.com Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to 'drivers/perf/arm_cspmu/arm_cspmu.h')
-rw-r--r--drivers/perf/arm_cspmu/arm_cspmu.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/perf/arm_cspmu/arm_cspmu.h b/drivers/perf/arm_cspmu/arm_cspmu.h
index e0cca5b4aab9..a30c8372214c 100644
--- a/drivers/perf/arm_cspmu/arm_cspmu.h
+++ b/drivers/perf/arm_cspmu/arm_cspmu.h
@@ -107,6 +107,9 @@ struct arm_cspmu_impl_ops {
/* Set event filter */
void (*set_ev_filter)(struct arm_cspmu *cspmu,
struct hw_perf_event *hwc, u32 filter);
+ /* Implementation specific event validation */
+ int (*validate_event)(struct arm_cspmu *cspmu,
+ struct perf_event *event);
/* Hide/show unsupported events */
umode_t (*event_attr_is_visible)(struct kobject *kobj,
struct attribute *attr, int unused);