From: Baolu Lu <baolu.lu@xxxxxxxxxxxxxxx>
Sent: Friday, July 14, 2023 11:37 AM
On 2023/7/13 15:52, Tian, Kevin wrote:
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.
Perhaps move it into patch 6?
I still prefer to putting it in a separate patch since it changes the
behavior in existing path. It's not really about dev_pasid which
patch6 is trying to support.