[PATCH v2 0/5] Convert SMMU to domain_alloc_paging()

Jason Gunthorpe jgg at nvidia.com
Tue Oct 17 11:11:39 PDT 2023


Add the global statics for IDENTITY and BLOCKED to the SMMU driver and
change to use domain_alloc_paging(). This allows SMMU to finalize the
domain during allocation.

This relies on the first few patches of the dart conversion series:

https://lore.kernel.org/r/0-v2-bff223cf6409+282-dart_paging_jgg@nvidia.com

To enable the BLOCKED global static.

v2:
 - Remove the disable_bypass fixing, Robin says to just leave it broken
   for ARM32
 - Rename arm_smmu_domain_add_master() to arm_smmu_master_install_s2crs()
   and remove smmu as a parameter
 - Fix missed use of dev in arm_smmu_context_fault
 - Use a local variable for domain in arm_smmu_init_domain_context()
v1: https://lore.kernel.org/r/0-v1-cf5846854f51+6db3f-smmu_newapi_jgg@nvidia.com

Jason Gunthorpe (5):
  iommu/arm-smmu: Reorganize arm_smmu_domain_add_master()
  iommu/arm-smmu: Convert to a global static identity domain
  iommu/arm-smmu: Implement IOMMU_DOMAIN_BLOCKED
  iommu/arm-smmu: Pass arm_smmu_domain to internal functions
  iommu/arm-smmu: Convert to domain_alloc_paging()

 drivers/iommu/arm/arm-smmu/arm-smmu.c | 126 ++++++++++++++++++--------
 drivers/iommu/arm/arm-smmu/arm-smmu.h |   1 -
 2 files changed, 88 insertions(+), 39 deletions(-)


base-commit: 853eb2d43e1be6e947fdd11c3341ffc2275fb6c7
-- 
2.42.0




More information about the linux-arm-kernel mailing list