PRI support in arm-smmu-v3 driver

Will Deacon will at kernel.org
Tue Nov 25 10:00:07 PST 2025


[+iommu list and usual suspects]

Hi Pavan,

On Tue, Nov 25, 2025 at 02:22:05PM +0530, Pavan Kondeti wrote:
> I am trying to understand IO fault handling in Linux w/ SMMUv3. While reading
> the code, I understand that SVA domain creation allows taking IO pagefaults.
> arm_smmu_enable_iopf() checks if the master support stall upon fault
> feature or not. How do we handle page faults for PCIe devices, for which 
> transactions cannot safely be stalled? IIUC, The PRI handling in the
> driver i.e arm_smmu_priq_thread()->arm_smmu_handle_ppr() is not doing
> anything. In the SVA support for SMMUv3 series v7, I see the support for
> PRI via "Add support for PRI" patch [1] but it is not merged. 
> 
> Can you please clarify if we can support SVA with PCIe devices w/o
> pinning the memory?
> 
> [1]
> https://lore.kernel.org/all/20200519175502.2504091-25-jean-philippe@linaro.org/

The only SVA client we've had for SMMUv3 in the upstream kernel is the
"uacce" thing from HiSilicon which is a platform device (rather than a
PCIe device) and so I think the PRI support just fell by the wayside due
to lack of an upstream user and no ability to test it.

I'm not sure whether or not Jason has plans to implement PRI but maybe
it's something you could help with if you have hardware?

Will



More information about the linux-arm-kernel mailing list