]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
iommu/vt-d: Remove scalabe mode in domain_context_clear_one()
authorLu Baolu <baolu.lu@linux.intel.com>
Tue, 5 Mar 2024 12:21:21 +0000 (20:21 +0800)
committerJoerg Roedel <jroedel@suse.de>
Wed, 6 Mar 2024 16:35:59 +0000 (17:35 +0100)
domain_context_clear_one() only handles the context entry teardown in
legacy mode. Remove the scalable mode check in it to avoid dead code.

Remove an unnecessary check in the code as well.

Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Link: https://lore.kernel.org/r/20240305013305.204605-6-baolu.lu@linux.intel.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/intel/iommu.c

index e752258d42b066ea1b81d57f229db0bc9b0dc121..6fb1eb7a78ab5dac4ec3b5d9d516b970b7097ddb 100644 (file)
@@ -2124,9 +2124,6 @@ static void domain_context_clear_one(struct device_domain_info *info, u8 bus, u8
        struct context_entry *context;
        u16 did_old;
 
-       if (!iommu)
-               return;
-
        spin_lock(&iommu->lock);
        context = iommu_context_addr(iommu, bus, devfn, 0);
        if (!context) {
@@ -2134,14 +2131,7 @@ static void domain_context_clear_one(struct device_domain_info *info, u8 bus, u8
                return;
        }
 
-       if (sm_supported(iommu)) {
-               if (hw_pass_through && domain_type_is_si(info->domain))
-                       did_old = FLPT_DEFAULT_DID;
-               else
-                       did_old = domain_id_iommu(info->domain, iommu);
-       } else {
-               did_old = context_domain_id(context);
-       }
+       did_old = context_domain_id(context);
 
        context_clear_entry(context);
        __iommu_flush_cache(iommu, context, sizeof(*context));
@@ -2152,9 +2142,6 @@ static void domain_context_clear_one(struct device_domain_info *info, u8 bus, u8
                                   DMA_CCMD_MASK_NOBIT,
                                   DMA_CCMD_DEVICE_INVL);
 
-       if (sm_supported(iommu))
-               qi_flush_pasid_cache(iommu, did_old, QI_PC_ALL_PASIDS, 0);
-
        iommu->flush.flush_iotlb(iommu,
                                 did_old,
                                 0,