[PATCH v3 6/8] iommu/arm-smmu-v3: Populate the tlbi at the top of the call chain
Jason Gunthorpe
jgg at nvidia.com
Wed Jul 15 07:54:29 PDT 2026
On Tue, Jul 14, 2026 at 02:29:20PM -0700, Nicolin Chen wrote:
> On Tue, Jul 14, 2026 at 03:46:06PM -0300, Jason Gunthorpe wrote:
> > +/*
> > + * Called by io-pgtable-arm.c for each single table level it wants to remove.
> > + * size is the size of the table level and granule is the tg in bytes. This must
> > + * clear the walk cache and any leaves within the range.
> > + */
> > static void arm_smmu_tlb_inv_walk(unsigned long iova, size_t size,
> > size_t granule, void *cookie)
> > {
> > struct arm_smmu_domain *smmu_domain = cookie;
> > + struct arm_smmu_tlbi tlbi = {
> > + .tgsz_lg2 = smmu_domain->tgsz_lg2,
> > + .iova = iova,
> > + .size = size,
> > + .iopte_size = smmu_domain->tgsz_lg2,
>
> Sashiko reported a typo here, though this gets fixed in patch-7.
Oops, I forgot the shift! But it is supposed to be tgsz since it has
to be tgsz to clear all the leaves.
Jason
More information about the linux-arm-kernel
mailing list