From: Nicolin Chen Date: Thu, 23 Oct 2025 02:21:05 +0000 (-0700) Subject: iommu/arm-smmu-v3: Set release_domain to arm_smmu_blocked_domain X-Git-Tag: v6.19-rc1~133^2^8~60 X-Git-Url: https://gentwo.org/gitweb/?a=commitdiff_plain;h=52f77fb176ec5008995283e434de61d21c694ba9;p=linux%2F.git iommu/arm-smmu-v3: Set release_domain to arm_smmu_blocked_domain Since the core now takes care of the require_direct case for the release domain, simply use that via the release_domain op. Reviewed-by: Jason Gunthorpe Signed-off-by: Nicolin Chen Signed-off-by: Joerg Roedel --- diff --git a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c index 2a8b46b948f0..2125ebfc9a70 100644 --- a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c +++ b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c @@ -3582,12 +3582,6 @@ static void arm_smmu_release_device(struct device *dev) WARN_ON(master->iopf_refcount); - /* Put the STE back to what arm_smmu_init_strtab() sets */ - if (dev->iommu->require_direct) - arm_smmu_attach_dev_identity(&arm_smmu_identity_domain, dev); - else - arm_smmu_attach_dev_blocked(&arm_smmu_blocked_domain, dev); - arm_smmu_disable_pasid(master); arm_smmu_remove_master(master); if (arm_smmu_cdtab_allocated(&master->cd_table)) @@ -3678,6 +3672,7 @@ static int arm_smmu_def_domain_type(struct device *dev) static const struct iommu_ops arm_smmu_ops = { .identity_domain = &arm_smmu_identity_domain, .blocked_domain = &arm_smmu_blocked_domain, + .release_domain = &arm_smmu_blocked_domain, .capable = arm_smmu_capable, .hw_info = arm_smmu_hw_info, .domain_alloc_sva = arm_smmu_sva_domain_alloc,