[PATCH v2 0/5] Refactor code for non-PRI IOPF

Lu Baolu posted 5 patches 2 years, 6 months ago
drivers/dma/idxd/init.c     |  31 ++++++++--
drivers/iommu/intel/iommu.c | 120 ++++++++++++++++++++++--------------
2 files changed, 100 insertions(+), 51 deletions(-)
[PATCH v2 0/5] Refactor code for non-PRI IOPF
Posted by Lu Baolu 2 years, 6 months ago
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-v2

Change log:
v2:
 - 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 (5):
  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

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

-- 
2.34.1
Re: [PATCH v2 0/5] Refactor code for non-PRI IOPF
Posted by Baolu Lu 2 years, 6 months ago
On 3/9/23 10:56 AM, Lu Baolu wrote:
> 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-v2

This is iommu/vt-d specific. I should make it explicit in the
cover-letter title.

	iommu/vt-d: Refactor code for non-PRI IOPF

Sorry about it.

Best regards,
baolu