linux/drivers/iommu/intel
Lu Baolu 3d4c7cc3d1 iommu/vt-d: Move iopf code from SVA to IOPF enabling path
Generally enabling IOMMU_DEV_FEAT_SVA requires IOMMU_DEV_FEAT_IOPF, but
some devices manage I/O Page Faults themselves instead of relying on the
IOMMU. Move IOPF related code from SVA to IOPF enabling path.

For the device drivers that relies on the IOMMU for IOPF through PCI/PRI,
IOMMU_DEV_FEAT_IOPF must be enabled before and disabled after
IOMMU_DEV_FEAT_SVA.

Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
Link: https://lore.kernel.org/r/20230324120234.313643-4-baolu.lu@linux.intel.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
2023-04-13 12:05:47 +02:00
..
cap_audit.c iommu/vt-d: Rename cap_5lp_support to cap_fl5lp_support 2022-09-26 15:52:25 +02:00
cap_audit.h iommu/vt-d: Check FL and SL capability sanity in scalable mode 2021-10-18 12:31:48 +02:00
debugfs.c iommu/vt-d: Replace spin_lock_irqsave() with spin_lock() 2022-07-15 10:21:36 +02:00
dmar.c iommu/vt-d: Enable IOMMU perfmon support 2023-02-03 11:06:09 +01:00
iommu.c iommu/vt-d: Move iopf code from SVA to IOPF enabling path 2023-04-13 12:05:47 +02:00
iommu.h Merge branches 'apple/dart', 'arm/exynos', 'arm/renesas', 'arm/smmu', 'x86/vt-d', 'x86/amd' and 'core' into next 2023-02-18 15:43:04 +01:00
irq_remapping.c iommu/x86: Replace IOMMU_CAP_INTR_REMAP with IRQ_DOMAIN_FLAG_ISOLATED_MSI 2023-01-11 16:27:23 -04:00
Kconfig iommu/vt-d: Retrieve IOMMU perfmon capability information 2023-02-03 11:06:04 +01:00
Makefile iommu/vt-d: Retrieve IOMMU perfmon capability information 2023-02-03 11:06:04 +01:00
pasid.c Merge branches 'apple/dart', 'arm/exynos', 'arm/renesas', 'arm/smmu', 'x86/vt-d', 'x86/amd' and 'core' into next 2023-02-18 15:43:04 +01:00
pasid.h iommu/vt-d: Remove clearing translation data in disable_dmar_iommu() 2022-07-15 10:21:34 +02:00
perf.c iommu/vt-d: Move include/linux/intel-iommu.h under iommu 2022-07-15 10:21:31 +02:00
perf.h iommu/vt-d: Add common code for dmar latency performance monitors 2021-06-10 09:06:13 +02:00
perfmon.c iommu/vt-d: Add IOMMU perfmon overflow handler support 2023-02-03 11:06:08 +01:00
perfmon.h iommu/vt-d: Add IOMMU perfmon support 2023-02-03 11:06:06 +01:00
svm.c iommu/vt-d: Add IOMMU perfmon overflow handler support 2023-02-03 11:06:08 +01:00
trace.c iommu/vt-d: Move trace/events/intel_iommu.h under iommu 2022-07-15 10:21:28 +02:00
trace.h iommu/vt-d: Move include/linux/intel-iommu.h under iommu 2022-07-15 10:21:31 +02:00