[PATCH 7/9] iommu/arm-smmu-v3: Directly encode CMDQ_OP_ATC_INV
Jason Gunthorpe
jgg at nvidia.com
Sat May 9 09:54:01 PDT 2026
On Fri, May 08, 2026 at 11:46:39AM +0000, Pranjal Shrivastava wrote:
> On Fri, May 01, 2026 at 11:29:16AM -0300, Jason Gunthorpe wrote:
> > Add a new command make function and convert all the places using
> > ATC_INV.
> >
> > Split out full invalidation to directly make the cmd instead of
> > overloading size=0 to mean full invalidation.
> >
> > Signed-off-by: Jason Gunthorpe <jgg at nvidia.com>
> > ---
>
> Nit: I guess it's worth mentioning that we remove CMDQ_ATC_0_GLOBAL as
> we don't set ent->atc.global = true anywhere in the driver anymore.
I added this:
In section "3.9.1 ATS Interface" of F.b the specification says:
When the SMMU returns an ATS Translation Completion for a request that
had a PASID, the Global bit of the Translation Completion Data Entry
must be zero.
Even though it faithfully forwards the G bit through to the ATS
invalidation command there is no way to create G mappings so there is
never any need to send a G invalidation. Thus don't expose global in the
new helpers and leave CMDQ_ATC_0_GLOBAL unused.
Jason
More information about the linux-arm-kernel
mailing list