[PATCH] driver: perf: arm_pmuv3: Identify 'event->attr.config1' based attributes

Anshuman Khandual anshuman.khandual at arm.com
Sun Oct 8 22:17:53 PDT 2023


This defines macros to identify long and rdpmc attributes which get carried
inside 'event->attr.config1', thus making the code explicit and clear.

Cc: Will Deacon <will at kernel.org>
Cc: Mark Rutland <mark.rutland at arm.com>
Cc: linux-arm-kernel at lists.infradead.org
Cc: linux-kernel at vger.kernel.org
Signed-off-by: Anshuman Khandual <anshuman.khandual at arm.com>
---
This applies on v6.6-rc5.

 drivers/perf/arm_pmuv3.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/perf/arm_pmuv3.c b/drivers/perf/arm_pmuv3.c
index 94723d00548e..797ffd5a8fed 100644
--- a/drivers/perf/arm_pmuv3.c
+++ b/drivers/perf/arm_pmuv3.c
@@ -298,16 +298,19 @@ PMU_FORMAT_ATTR(event, "config:0-15");
 PMU_FORMAT_ATTR(long, "config1:0");
 PMU_FORMAT_ATTR(rdpmc, "config1:1");
 
+#define ARM_PMUV3_ATTR_LONG	0x01
+#define ARM_PMUV3_ATTR_RDPMC	0x02
+
 static int sysctl_perf_user_access __read_mostly;
 
 static inline bool armv8pmu_event_is_64bit(struct perf_event *event)
 {
-	return event->attr.config1 & 0x1;
+	return event->attr.config1 & ARM_PMUV3_ATTR_LONG;
 }
 
 static inline bool armv8pmu_event_want_user_access(struct perf_event *event)
 {
-	return event->attr.config1 & 0x2;
+	return event->attr.config1 & ARM_PMUV3_ATTR_RDPMC;
 }
 
 static struct attribute *armv8_pmuv3_format_attrs[] = {
-- 
2.25.1




More information about the linux-arm-kernel mailing list