mirror of https://github.com/torvalds/linux.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 <jgg@nvidia.com> Signed-off-by: Nicolin Chen <nicolinc@nvidia.com> Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
This commit is contained in:
parent
e94160488e
commit
52f77fb176
|
|
@ -3582,12 +3582,6 @@ static void arm_smmu_release_device(struct device *dev)
|
||||||
|
|
||||||
WARN_ON(master->iopf_refcount);
|
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_disable_pasid(master);
|
||||||
arm_smmu_remove_master(master);
|
arm_smmu_remove_master(master);
|
||||||
if (arm_smmu_cdtab_allocated(&master->cd_table))
|
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 = {
|
static const struct iommu_ops arm_smmu_ops = {
|
||||||
.identity_domain = &arm_smmu_identity_domain,
|
.identity_domain = &arm_smmu_identity_domain,
|
||||||
.blocked_domain = &arm_smmu_blocked_domain,
|
.blocked_domain = &arm_smmu_blocked_domain,
|
||||||
|
.release_domain = &arm_smmu_blocked_domain,
|
||||||
.capable = arm_smmu_capable,
|
.capable = arm_smmu_capable,
|
||||||
.hw_info = arm_smmu_hw_info,
|
.hw_info = arm_smmu_hw_info,
|
||||||
.domain_alloc_sva = arm_smmu_sva_domain_alloc,
|
.domain_alloc_sva = arm_smmu_sva_domain_alloc,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue