dmaengine.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/6] iommu/vt-d: Refactor code for non-PRI IOPF
@ 2023-03-24 12:02 Lu Baolu
  2023-03-24 12:02 ` [PATCH v3 1/6] dmaengine: idxd: Add enable/disable device IOPF feature Lu Baolu
                   ` (5 more replies)
  0 siblings, 6 replies; 13+ messages in thread
From: Lu Baolu @ 2023-03-24 12:02 UTC (permalink / raw)
  To: iommu, dmaengine
  Cc: Joerg Roedel, Will Deacon, Robin Murphy, Kevin Tian, Fenghua Yu,
	Dave Jiang, Vinod Koul, Jacob Pan, linux-kernel, Lu Baolu

The existing SVA and IOPF implementation assumes that devices report I/O
page faults via PCI PRI. This is not always true as some emerging
devices are designed to handle the I/O page faults by themselves without
ever sending PCI page requests nor advertising PRI capability.

Refactor the SVA and IOPF code to allow SVA support with IOPF handled
either by IOMMU (PCI PRI) or device driver (device-specific IOPF).

This series is based on v6.3-rc1 and also available at github:
https://github.com/LuBaolu/intel-iommu/commits/intel-iommu-refactor-iopf-v3

Change log:
v3:
 - Split removing unnecessary checks in iopf disabling path into a
   separate patch.
 - Add some in-line comments.

v2:
 - https://lore.kernel.org/linux-iommu/20230309025639.26109-1-baolu.lu@linux.intel.com/
 - Separate a fix patch and merge it into v6. 3-rc1 [commit 60b1daa3b168
   ("iommu/vt-d: Fix error handling in sva enable/disable paths")]
 - Disallow device-specific IOPF is device advertising PRI capability;
 - Add some extra patches to move all IOPF related code to the IOPF
   enabling/disabling paths.

v1: Initial post
 - https://lore.kernel.org/linux-iommu/20230203084456.469641-1-baolu.lu@linux.intel.com/

Lu Baolu (6):
  dmaengine: idxd: Add enable/disable device IOPF feature
  iommu/vt-d: Allow SVA with device-specific IOPF
  iommu/vt-d: Move iopf code from SVA to IOPF enabling path
  iommu/vt-d: Move pfsid and ats_qdep calculation to device probe path
  iommu/vt-d: Move PRI handling to IOPF feature path
  iommu/vt-d: Remove unnecessary checks in iopf disabling path

 drivers/dma/idxd/init.c     |  31 +++++++--
 drivers/iommu/intel/iommu.c | 132 ++++++++++++++++++++++++------------
 2 files changed, 112 insertions(+), 51 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2023-04-04  5:19 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-24 12:02 [PATCH v3 0/6] iommu/vt-d: Refactor code for non-PRI IOPF Lu Baolu
2023-03-24 12:02 ` [PATCH v3 1/6] dmaengine: idxd: Add enable/disable device IOPF feature Lu Baolu
2023-04-03  5:49   ` Baolu Lu
2023-04-03 16:57     ` Dave Jiang
2023-04-04  5:19       ` Baolu Lu
2023-03-24 12:02 ` [PATCH v3 2/6] iommu/vt-d: Allow SVA with device-specific IOPF Lu Baolu
2023-03-28  2:10   ` Tian, Kevin
2023-03-24 12:02 ` [PATCH v3 3/6] iommu/vt-d: Move iopf code from SVA to IOPF enabling path Lu Baolu
2023-03-24 12:02 ` [PATCH v3 4/6] iommu/vt-d: Move pfsid and ats_qdep calculation to device probe path Lu Baolu
2023-03-24 12:02 ` [PATCH v3 5/6] iommu/vt-d: Move PRI handling to IOPF feature path Lu Baolu
2023-03-28  2:11   ` Tian, Kevin
2023-03-24 12:02 ` [PATCH v3 6/6] iommu/vt-d: Remove unnecessary checks in iopf disabling path Lu Baolu
2023-03-28  2:11   ` Tian, Kevin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).