[PATCH RFC 11/11] perf/arm-smmu-v3-pmu: Add IRQ mapping -EPROBE_DEFER handling

Lorenzo Pieralisi lpieralisi at kernel.org
Fri Sep 25 00:48:10 PDT 2026


With the advent of GICv5, IRQs mapping can fail if the interrupt
controller the wired SMMU PMCG interrupts are routed to has not probed
yet when the SMMU PMCG driver probes.

Handle -EPROBE_DEFER gracefully for IRQ mappings failures.

Signed-off-by: Lorenzo Pieralisi <lpieralisi at kernel.org>
Cc: Will Deacon <will at kernel.org>
Cc: Robin Murphy <robin.murphy at arm.com>
---
 drivers/perf/arm_smmuv3_pmu.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/perf/arm_smmuv3_pmu.c b/drivers/perf/arm_smmuv3_pmu.c
index 8ce34e6bb82b..d8d977c13ab9 100644
--- a/drivers/perf/arm_smmuv3_pmu.c
+++ b/drivers/perf/arm_smmuv3_pmu.c
@@ -893,6 +893,9 @@ static int smmu_pmu_probe(struct platform_device *pdev)
 	}
 
 	irq = platform_get_irq_optional(pdev, 0);
+	if (irq == -EPROBE_DEFER)
+		return dev_err_probe(dev, irq, "failed to get PMCG IRQ\n");
+
 	if (irq > 0)
 		smmu_pmu->irq = irq;
 

-- 
2.54.0




More information about the linux-arm-kernel mailing list