| From: |
| Robin Murphy <robin.murphy-AT-arm.com> |
| To: |
| will-AT-kernel.org, mark.rutland-AT-arm.com |
| Subject: |
| [PATCH 0/6] perf: Arm SMMU PMU driver |
| Date: |
| Thu, 17 Feb 2022 14:24:14 +0000 |
| Message-ID: |
| <cover.1645106346.git.robin.murphy@arm.com> |
| Cc: |
| lorenzo.pieralisi-AT-arm.com, sudeep.holla-AT-arm.com, linux-arm-kernel-AT-lists.infradead.org, jean-philippe-AT-linaro.org, leo.yan-AT-linaro.org, noda.akio-AT-socionext.com |
| Archive-link: |
| Article |
Hi all,
Since our friends at Linaro had some interest in the area, I've dug up
and finished off my old SMMUv1/v2 PMU driver, now with a slightly less
terrible DT binding to boot. Patch #1 involves a general refactoring of
the IRQ setup code in arm-smmu which also now serves to remove the
general dependency on explicit IRQ resources for of_platform devices.
ACPI support via IORT (patch #2) is pleasingly trivial, but does have a
hard dependency on the previous patch, otherwise SMMU context
interrupts may get messed up.
The driver itself in patch #5 is still largely a time capsule of me
learning the PMU APIs 5 years ago (as a warm-up for arm-cmn). I've
mostly just added IRQ affinity support (which I didn't yet fully
understand at the time) and tweaked a few comments. I'm pretty confident
all the testing I did back then is still valid, so I've just run some
quick sanity checks with patch #6 to verify the new DT binding.
Cheers,
Robin.
Robin Murphy (6):
iommu/arm-smmu: Account for PMU interrupts
acpi/iort: Register SMMUv2 PMU interrupts
iommu/arm-smmu: Add DT PMU support
iommu/smmu: Create child devices for PMUs
perf: Add ARM SMMU PMU driver
arm64: dts: Add SMMU PMUs to Juno
.../devicetree/bindings/iommu/arm,smmu.yaml | 19 +-
arch/arm64/boot/dts/arm/juno-base.dtsi | 26 +-
drivers/acpi/arm64/iort.c | 18 +-
drivers/iommu/arm/arm-smmu/arm-smmu.c | 143 ++--
drivers/iommu/arm/arm-smmu/arm-smmu.h | 5 +-
drivers/perf/Kconfig | 24 +-
drivers/perf/Makefile | 1 +
drivers/perf/arm-smmu-pmu.c | 732 ++++++++++++++++++
8 files changed, 896 insertions(+), 72 deletions(-)
create mode 100644 drivers/perf/arm-smmu-pmu.c
--
2.28.0.dirty
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel