linux-stable/drivers/iommu/intel
Tejas Upadhyay 4475d3c3b2 iommu/vt-d: Add RPLS to quirk list to skip TE disabling
[ Upstream commit 0a967f5bfd ]

The VT-d spec requires (10.4.4 Global Command Register, TE
field) that:

Hardware implementations supporting DMA draining must drain
any in-flight DMA read/write requests queued within the
Root-Complex before completing the translation enable
command and reflecting the status of the command through
the TES field in the Global Status register.

Unfortunately, some integrated graphic devices fail to do
so after some kind of power state transition. As the
result, the system might stuck in iommu_disable_translati
on(), waiting for the completion of TE transition.

This adds RPLS to a quirk list for those devices and skips
TE disabling if the qurik hits.

Link: https://gitlab.freedesktop.org/drm/intel/-/issues/4898
Tested-by: Raviteja Goud Talla <ravitejax.goud.talla@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Acked-by: Lu Baolu <baolu.lu@linux.intel.com>
Signed-off-by: Tejas Upadhyay <tejaskumarx.surendrakumar.upadhyay@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220302043256.191529-1-tejaskumarx.surendrakumar.upadhyay@intel.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-06-09 10:22:30 +02:00
..
cap_audit.c iommu/vt-d: Move capability check code to cap_audit files 2021-02-04 14:42:00 +01:00
cap_audit.h iommu/vt-d: Move capability check code to cap_audit files 2021-02-04 14:42:00 +01:00
debugfs.c iommu/vt-d: Expose latency monitor data through debugfs 2021-06-10 09:06:13 +02:00
dmar.c iommu/vt-d: Drop "0x" prefix from PCI bus & device addresses 2021-09-28 11:41:11 +02:00
iommu.c iommu/vt-d: Add RPLS to quirk list to skip TE disabling 2022-06-09 10:22:30 +02:00
irq_remapping.c iommu/vt-d: Fix potential memory leak in intel_setup_irq_remapping() 2022-02-08 18:34:07 +01:00
Kconfig iommu/vt-d: Enable Intel IOMMU scalable mode by default 2021-08-19 10:41:08 +02:00
Makefile iommu/vt-d: Add common code for dmar latency performance monitors 2021-06-10 09:06:13 +02:00
pasid.c Merge branches 'apple/dart', 'arm/smmu', 'iommu/fixes', 'x86/amd', 'x86/vt-d' and 'core' into next 2021-08-20 17:14:35 +02:00
pasid.h Merge branches 'apple/dart', 'arm/smmu', 'iommu/fixes', 'x86/amd', 'x86/vt-d' and 'core' into next 2021-08-20 17:14:35 +02:00
perf.c iommu/vt-d: Drop the kernel doc annotation 2021-08-19 10:41:08 +02:00
perf.h iommu/vt-d: Add common code for dmar latency performance monitors 2021-06-10 09:06:13 +02:00
svm.c iommu/vt-d: Drop stop marker messages 2022-05-12 12:30:12 +02:00
trace.c