[PATCH 4/7] iommu/arm-smmu-v3: Remove io-pgtable-arm from sva.c
Jason Gunthorpe
jgg at nvidia.com
Mon Jul 6 09:29:10 PDT 2026
This is only being used to get some STE constants. Put local
constants along side the register definitions instead.
Signed-off-by: Jason Gunthorpe <jgg at nvidia.com>
---
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c | 13 ++++++-------
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 7 +++++++
2 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c
index 0e670c92469b2f..f82a513ede09c9 100644
--- a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c
+++ b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c
@@ -11,7 +11,6 @@
#include <kunit/visibility.h>
#include "arm-smmu-v3.h"
-#include "../../io-pgtable-arm.h"
static void __maybe_unused
arm_smmu_update_s1_domain_cd_entry(struct arm_smmu_domain *smmu_domain)
@@ -41,10 +40,10 @@ static u64 page_size_to_cd(void)
static_assert(PAGE_SIZE == SZ_4K || PAGE_SIZE == SZ_16K ||
PAGE_SIZE == SZ_64K);
if (PAGE_SIZE == SZ_64K)
- return ARM_LPAE_TCR_TG0_64K;
+ return ARM_SMMU_TCR_TG0_64K;
if (PAGE_SIZE == SZ_16K)
- return ARM_LPAE_TCR_TG0_16K;
- return ARM_LPAE_TCR_TG0_4K;
+ return ARM_SMMU_TCR_TG0_16K;
+ return ARM_SMMU_TCR_TG0_4K;
}
VISIBLE_IF_KUNIT
@@ -85,10 +84,10 @@ void arm_smmu_make_sva_cd(struct arm_smmu_cd *target,
64ULL - vabits_actual) |
FIELD_PREP(CTXDESC_CD_0_TCR_TG0, page_size_to_cd()) |
FIELD_PREP(CTXDESC_CD_0_TCR_IRGN0,
- ARM_LPAE_TCR_RGN_WBWA) |
+ ARM_SMMU_TCR_RGN_WBWA) |
FIELD_PREP(CTXDESC_CD_0_TCR_ORGN0,
- ARM_LPAE_TCR_RGN_WBWA) |
- FIELD_PREP(CTXDESC_CD_0_TCR_SH0, ARM_LPAE_TCR_SH_IS));
+ ARM_SMMU_TCR_RGN_WBWA) |
+ FIELD_PREP(CTXDESC_CD_0_TCR_SH0, ARM_SMMU_TCR_SH_IS));
target->data[1] = cpu_to_le64(virt_to_phys(mm->pgd) &
CTXDESC_CD_1_TTB0_MASK);
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
+
/*
* Stream table.
*
--
2.43.0
More information about the linux-arm-kernel
mailing list