diff options
author | Lu Baolu <baolu.lu@linux.intel.com> | 2025-01-07 05:17:45 +0300 |
---|---|---|
committer | Joerg Roedel <jroedel@suse.de> | 2025-01-07 11:30:52 +0300 |
commit | cf08ca81d08a04b3b304e8fb4e052f323a09783d (patch) | |
tree | 52d42ec1d8f3dbec1b1e6496414594076f53c1ff /tools/perf/scripts/python/export-to-postgresql.py | |
parent | c2206299401b23bed9ef87f561d6f85f9351aa84 (diff) | |
download | linux-cf08ca81d08a04b3b304e8fb4e052f323a09783d.tar.xz |
iommu/vt-d: Draining PRQ in sva unbind path when FPD bit set
When a device uses a PASID for SVA (Shared Virtual Address), it's possible
that the PASID entry is marked as non-present and FPD bit set before the
device flushes all ongoing DMA requests and removes the SVA domain. This
can occur when an exception happens and the process terminates before the
device driver stops DMA and calls the iommu driver to unbind the PASID.
There's no need to drain the PRQ in the mm release path. Instead, the PRQ
will be drained in the SVA unbind path. But in such case,
intel_pasid_tear_down_entry() only checks the presence of the pasid entry
and returns directly.
Add the code to clear the FPD bit and drain the PRQ.
Fixes: c43e1ccdebf2 ("iommu/vt-d: Drain PRQs when domain removed from RID")
Suggested-by: Kevin Tian <kevin.tian@intel.com>
Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Link: https://lore.kernel.org/r/20241217024240.139615-1-baolu.lu@linux.intel.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions