linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/6] perf: Arm SMMU PMU driver
@ 2022-02-17 14:24 Robin Murphy
  2022-02-17 14:24 ` [PATCH 1/6] iommu/arm-smmu: Account for PMU interrupts Robin Murphy
                   ` (6 more replies)
  0 siblings, 7 replies; 10+ messages in thread
From: Robin Murphy @ 2022-02-17 14:24 UTC (permalink / raw)
  To: will, mark.rutland
  Cc: lorenzo.pieralisi, sudeep.holla, linux-arm-kernel, jean-philippe,
	leo.yan, noda.akio

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2022-03-07 22:08 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-02-17 14:24 [PATCH 0/6] perf: Arm SMMU PMU driver Robin Murphy
2022-02-17 14:24 ` [PATCH 1/6] iommu/arm-smmu: Account for PMU interrupts Robin Murphy
2022-02-17 14:24 ` [PATCH 2/6] acpi/iort: Register SMMUv2 " Robin Murphy
2022-02-17 14:24 ` [PATCH 3/6] iommu/arm-smmu: Add DT PMU support Robin Murphy
2022-03-02 15:33   ` Rob Herring
2022-03-02 17:03     ` Robin Murphy
2022-02-17 14:24 ` [PATCH 4/6] iommu/smmu: Create child devices for PMUs Robin Murphy
2022-02-17 14:24 ` [PATCH 5/6] perf: Add ARM SMMU PMU driver Robin Murphy
2022-02-17 14:24 ` [PATCH 6/6] arm64: dts: Add SMMU PMUs to Juno Robin Murphy
2022-03-07 22:03 ` [PATCH 0/6] perf: Arm SMMU PMU driver Will Deacon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).