[PATCH] iommu/arm-smmu: Use pm_runtime in fault handlers
Pranjal Shrivastava
praan at google.com
Tue Feb 10 05:15:21 PST 2026
On Tue, Feb 10, 2026 at 04:39:56PM +0530, Prakash Gupta wrote:
>
>
> On 2/3/2026 1:44 AM, Pranjal Shrivastava wrote:
> > 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] refer to case where SMMU state is not retained during smmu device
> power down, this I think is equally applicable for both context and
> global faults.
>
> Since the ARM SMMU runtime resume triggers a device reset, any pending
> faults would be cleared during resume. Here the solution can be to
> handle both global and context faults before allowing the SMMU device to
> suspend.
> With this approach, any hard or threaded IRQ scheduled after the SMMU
> device has suspended can be safely ignored.
> One concern I see is iommu fault reporting to clients while handling
> fault during smmu device suspend.
I believe by the time we've reached suspend it's safe to assume that all
clients have been suspended. Thus, we could simply not report the error
and instead scream by having a dev_warn_ratelimited about the situation.
Thanks,
Praan
>
> Thanks,
> Prakash
>
> [1] https://lore.kernel.org/all/20260126151157.3418145-9-praan@google.com/
>
More information about the linux-arm-kernel
mailing list