Thread (60 messages) 60 messages, 9 authors, 2026-02-26

Re: [PATCH RFCv1 3/3] iommu/arm-smmu-v3: Allow ATS to be always on

From: Jason Gunthorpe <jgg@nvidia.com>
Date: 2026-01-27 14:49:10
Also in: linux-iommu, linux-pci, lkml

On Tue, Jan 27, 2026 at 01:50:54PM +0000, Will Deacon wrote:
Argh, I had conflated a transaction using SSID 0 vs a transaction
without a substream at all. So I think this makes sense now...
Yeah, it is bit subtle, but as a SW choice the iommu subsystem
reserves PASID 0/SSID 0 as the "untagged" translation.

Several HW's force this in their implementation (ie AMD)

ARM however includes a "Substream Valid" in the input bus. Linux
doesn't use the combination "Substream Valid, SSID=0", that should
never occur.

If it wrongly does happen then IDENTITY will generate a fault, either
C_BAD_CD (due to it being non-valid) or C_BAD_SUBSTREAMID (due to
S1CDMax disabling substreams).

While PAGING will either fault with C_BAD_SUBSTREAMID (S2 paging
domain) or success when S1DSS=b10.

Jason
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help