diff options
author | Lu Baolu <baolu.lu@linux.intel.com> | 2024-11-04 09:40:39 +0800 |
---|---|---|
committer | Joerg Roedel <jroedel@suse.de> | 2024-11-05 13:32:27 +0100 |
commit | c43e1ccdebf2c950545fdf12c5796ad6f7bad7ee (patch) | |
tree | 0c8eac7e644950464e3f6911f54f1aaa46f31197 /drivers/iommu/intel/iommu.c | |
parent | 9baed1c28030ebac5d44b889b3adf155340fa751 (diff) | |
download | linux-c43e1ccdebf2c950545fdf12c5796ad6f7bad7ee.tar.gz linux-c43e1ccdebf2c950545fdf12c5796ad6f7bad7ee.tar.bz2 linux-c43e1ccdebf2c950545fdf12c5796ad6f7bad7ee.zip |
iommu/vt-d: Drain PRQs when domain removed from RID
As this iommu driver now supports page faults for requests without
PASID, page requests should be drained when a domain is removed from
the RID2PASID entry.
This results in the intel_iommu_drain_pasid_prq() call being moved to
intel_pasid_tear_down_entry(). This indicates that when a translation
is removed from any PASID entry and the PRI has been enabled on the
device, page requests are drained in the domain detachment path.
The intel_iommu_drain_pasid_prq() helper has been modified to support
sending device TLB invalidation requests for both PASID and non-PASID
cases.
Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
Reviewed-by: Yi Liu <yi.l.liu@intel.com>
Link: https://lore.kernel.org/r/20241101045543.70086-1-baolu.lu@linux.intel.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'drivers/iommu/intel/iommu.c')
-rw-r--r-- | drivers/iommu/intel/iommu.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c index 74cf84e3e4e0..e2b3aa601191 100644 --- a/drivers/iommu/intel/iommu.c +++ b/drivers/iommu/intel/iommu.c @@ -4067,7 +4067,6 @@ static void intel_iommu_remove_dev_pasid(struct device *dev, ioasid_t pasid, intel_iommu_debugfs_remove_dev_pasid(dev_pasid); kfree(dev_pasid); intel_pasid_tear_down_entry(iommu, dev, pasid, false); - intel_iommu_drain_pasid_prq(dev, pasid); } static int intel_iommu_set_dev_pasid(struct iommu_domain *domain, |