[PATCH v2 00/15] drivers/perf: apple_m1: Add M3/M4/A18 Pro Support
From: Myria Sarvay via B4 Relay
Date: Sat Nov 07 2026 - 06:20:17 EST
This series adds support for the CPU PMU in the new M3, M4 and A18 SoCs
presed in apple devices. These PMUs have new encodings for events, along
with larger codes for these events. All of these events are as Apple
describes them in the various kpep files found under /usr/share/kpep on
macOS 27. More events may exist, but we have no idea of their affinity,
or what they actually count, so we don't include them here.
These patches have been tested on my own M2 (t8133-j413) and M3
(t6031-j514c) devices, as well as by Yuvan on their M4 (t8132-j713)
device.
If possible, the device tree changes should probably go through
apple-soc, as this is where the recently picked up M4 Pro/Max dts are.
Tested-by: Yuvan Shen <yuvanshen09@xxxxxxxxx> # on t8132-j713
Signed-off-by: Myria Sarvay <myrialsarvay@xxxxxxxxx>
---
Changes in v2:
- Remove extra cell in t6041 pmu interrupt specifications
- Add affinities for t603* and t8140 aic interrupts
- Make the a18 interrupts use the m4 function definitions directly
- Remove dead pmceid defines
- All changes address the sashiko feedback
- Link to v1: https://patch.msgid.link/20261103-m3-plus-pmu-events-v1-0-a8eb6c1139fe@xxxxxxxxx
To: Will Deacon <will@xxxxxxxxxx>
To: Mark Rutland <mark.rutland@xxxxxxx>
To: Rob Herring <robh@xxxxxxxxxx>
To: Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>
To: Conor Dooley <conor+dt@xxxxxxxxxx>
To: Marc Zyngier <maz@xxxxxxxxxx>
To: Sven Peter <sven@xxxxxxxxxx>
To: Janne Grunau <j@xxxxxxxxxx>
To: Neal Gompa <neal@xxxxxxxxx>
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Cc: linux-perf-users@xxxxxxxxxxxxxxx
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: asahi@xxxxxxxxxxxxxxx
---
Myria Sarvay (14):
dt-bindings: arm: pmu: Add Apple M3/M4/A18 Pro SoC CPU PMU compatibles
drivers/perf: apple_m1: Remove unused variables
drivers/perf: apple_m1: Support per-implementation event size
drivers/perf: apple_m1: Use macros for per-implementation init functions
drivers/perf: apple_m1: Add Apple M3 Series Support
drivers/perf: apple_m1: Add Apple M4 Series Support
drivers/perf: apple_m1: Add Apple A18 Support
arm64: dts: apple: t603*: Add core interrupt affinities
arm64: dts: apple: t8140: Add core interrupt affinities
arm64: dts: apple: t603x: Add PMU Device Nodes
arm64: dts: apple: t8122: Add PMU Device Nodes
arm64: dts: apple: t604x: Add PMU Device Nodes
arm64: dts: apple: t8132: Add PMU Device Nodes
arm64: dts: apple: t8140: Add PMU Device Nodes
Nick Chan (1):
drivers/perf: apple_m1: Support per-implementation event tables
Documentation/devicetree/bindings/arm/pmu.yaml | 8 +
arch/arm64/boot/dts/apple/t6030.dtsi | 26 +
arch/arm64/boot/dts/apple/t6031-base.dtsi | 12 +
arch/arm64/boot/dts/apple/t6031.dtsi | 18 +
arch/arm64/boot/dts/apple/t6032.dtsi | 20 +
arch/arm64/boot/dts/apple/t6041.dtsi | 12 +
arch/arm64/boot/dts/apple/t8122.dtsi | 12 +
arch/arm64/boot/dts/apple/t8132.dtsi | 12 +
arch/arm64/boot/dts/apple/t8140.dtsi | 25 +
drivers/perf/apple_m1_cpu_pmu.c | 654 +++++++++++++++++++++----
10 files changed, 717 insertions(+), 82 deletions(-)
---
base-commit: 84a1163b0a3ec0acdda113d4c920ed72955dd6e8
change-id: 20260929-m3-plus-pmu-events-e4010ab44135
Best regards,
--
Myria Sarvay <myrialsarvay@xxxxxxxxx>