[PATCH] iommu/arm-smmu: Use pm_runtime in fault handlers
Pranjal Shrivastava
praan at google.com
Mon Feb 2 12:14:26 PST 2026
On Wed, Jan 28, 2026 at 06:44:35PM +0000, Robin Murphy wrote:
> [ +Pranjal as this might matter for v3 too... ]
>
Hi Robin,
To weigh in from the arm-smmu-v3 side, we’ve attempted to address the
"can of worms" regarding power races by leaning on these differences:
- Threaded IRQs for PRI/Events: In the recent series[1], the PRI and
event handlers are fully threaded. This allows us to call
arm_smmu_rpm_get() safely, as the handler can sleep while waiting for
the hardware to resume.
- GERROR Handling: Since GERROR remains a hard IRQ, we handle any
pending gerrors in the suspend callback before the SMMU actually
powers down. Any GERROR interrupts received while the device was
suspended are treated as spurious and ignored.
Thanks,
Praan
[1] https://lore.kernel.org/all/20260126151157.3418145-1-praan@google.com/
[...]
>
> Hmm, but then how *do* we actually guarantee that autosuspend doesn't happen
> to kick in and power down the SMMU just as a hardirq handler runs, when
> there's some unexpected event? I fear there's a horrible can of worms
> here...
>
> Thanks,
> Robin.
More information about the linux-arm-kernel
mailing list