From: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx>
Sent: Thursday, July 13, 2023 12:34 AM
+static void domain_flush_pasid_iotlb(struct intel_iommu *iommu,
+ struct dmar_domain *domain, u64 addr,
+ unsigned long npages, bool ih)
+{
+ u16 did = domain_id_iommu(domain, iommu);
+ unsigned long flags;
+
+ spin_lock_irqsave(&domain->lock, flags);
+ if (!list_empty(&domain->devices))
+ qi_flush_piotlb(iommu, did, IOMMU_NO_PASID, addr,
npages, ih);
+ spin_unlock_irqrestore(&domain->lock, flags);
btw I gave a comment before that the check of list_empty() changes
the semantics instead of just creating a helper.
If it's the right thing to do please split it into a separate fix patch.