[PATCH 4/7] iommu/arm-smmu-v3: Remove io-pgtable-arm from sva.c
Jason Gunthorpe
jgg at nvidia.com
Wed Aug 12 09:04:55 PDT 2026
On Fri, Jul 24, 2026 at 07:26:08PM +0000, Mostafa Saleh wrote:
> > diff --git a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h
> > index 95186cf84e9abb..99ca96db0d0401 100644
> > --- a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h
> > +++ b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h
> > @@ -203,6 +203,13 @@ struct arm_vsmmu;
> > #define Q_MAX_SZ_SHIFT (PAGE_SHIFT + MAX_PAGE_ORDER)
> > #endif
> >
> > +/* Constants used for CD TCR and STE VTCR fields */
> > +#define ARM_SMMU_TCR_TG0_4K 0
> > +#define ARM_SMMU_TCR_TG0_64K 1
> > +#define ARM_SMMU_TCR_TG0_16K 2
> > +#define ARM_SMMU_TCR_RGN_WBWA 1
> > +#define ARM_SMMU_TCR_SH_IS 3
>
> Can the driver use the ones in generic_pt/armv.h instead of
> re-defining them?
No, it cannot include that file from here.
However there are ARM architecture header we can use instead:
+#include <asm/sysreg.h>
[..]
if (PAGE_SIZE == SZ_64K)
- return ARM_LPAE_TCR_TG0_64K;
+ return TCR_EL1_TG0_64K;
if (PAGE_SIZE == SZ_16K)
- return ARM_LPAE_TCR_TG0_16K;
- return ARM_LPAE_TCR_TG0_4K;
+ return TCR_EL1_TG0_16K;
+ return TCR_EL1_TG0_4K;
And so on
Jason
More information about the linux-arm-kernel
mailing list