[PATCH 08/13] drivers/perf: apple_m1: Add Apple A18 Support

From: Myria Sarvay via B4 Relay

Date: Tue Nov 03 2026 - 06:22:05 EST


From: Myria Sarvay <myrialsarvay@xxxxxxxxx>

The A18 has events and affinities identical to the M4, so use it.

Signed-off-by: Myria Sarvay <myrialsarvay@xxxxxxxxx>
---
drivers/perf/apple_m1_cpu_pmu.c | 13 +++++++++++++
1 file changed, 13 insertions(+)

diff --git a/drivers/perf/apple_m1_cpu_pmu.c b/drivers/perf/apple_m1_cpu_pmu.c
index bdbd138cf1db..775f3d5aba7e 100644
--- a/drivers/perf/apple_m1_cpu_pmu.c
+++ b/drivers/perf/apple_m1_cpu_pmu.c
@@ -1149,12 +1149,23 @@ static int gen ## _pmu_ ## family ## _init(struct arm_pmu *cpu_pmu) \
#define m4_pmu_set_event_filter m3_pmu_set_event_filter
#define m4_pmu_format_attr_group m3_pmu_format_attr_group

+#define a18_pmu_enable_event m4_pmu_enable_event
+#define a18_pmu_map_event m4_pmu_map_event
+#define a18_pmu_get_event_idx m4_pmu_get_event_idx
+#define a18_pmu_set_event_filter m4_pmu_set_event_filter
+#define a18_pmu_map_pmuv3_event m4_pmu_map_pmuv3_event
+#define a18_pmu_init_pmceid m4_pmu_init_pmceid
+#define a18_pmu_events_attr_group m4_pmu_events_attr_group
+#define a18_pmu_format_attr_group m4_pmu_format_attr_group
+
APPLE_PMU_INIT(m1, icestorm)
APPLE_PMU_INIT(m1, firestorm)
APPLE_PMU_INIT(m2, avalanche)
APPLE_PMU_INIT(m2, blizzard)
APPLE_PMU_INIT(m3, sawtooth)
APPLE_PMU_INIT(m3, everest)
+APPLE_PMU_INIT(a18, tahiti_e)
+APPLE_PMU_INIT(a18, tahiti_p)
APPLE_PMU_INIT(m4, donan_e)
APPLE_PMU_INIT(m4, donan_p)
APPLE_PMU_INIT(m4, brava_e)
@@ -1165,6 +1176,8 @@ static const struct of_device_id m1_pmu_of_device_ids[] = {
{ .compatible = "apple,brava-p-pmu", .data = m4_pmu_brava_p_init, },
{ .compatible = "apple,donan-e-pmu", .data = m4_pmu_donan_e_init, },
{ .compatible = "apple,donan-p-pmu", .data = m4_pmu_donan_p_init, },
+ { .compatible = "apple,tahiti-e-pmu", .data = a18_pmu_tahiti_e_init, },
+ { .compatible = "apple,tahiti-p-pmu", .data = a18_pmu_tahiti_p_init, },
{ .compatible = "apple,sawtooth-pmu", .data = m3_pmu_sawtooth_init, },
{ .compatible = "apple,everest-pmu", .data = m3_pmu_everest_init, },
{ .compatible = "apple,avalanche-pmu", .data = m2_pmu_avalanche_init, },

--
2.56.0