kernel_optimize_test/drivers/iommu
Tejas Upadhyay c6380d9d2d iommu/vt-d: Add RPLS to quirk list to skip TE disabling
[ Upstream commit 0a967f5bfd9134b89681cae58deb222e20840e76 ]

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:20:49 +02:00
..
amd iommu/amd: Recover from event log overflow 2022-03-08 19:09:31 +01:00
arm iommu/arm-smmu-v3: fix event handling soft lockup 2022-04-13 21:00:56 +02:00
intel iommu/vt-d: Add RPLS to quirk list to skip TE disabling 2022-06-09 10:20:49 +02:00
dma-iommu.c iommu/dma: Fix compile warning in 32-bit builds 2021-07-14 16:56:55 +02:00
exynos-iommu.c iommu/exynos: add missing put_device() call in exynos_iommu_of_xlate() 2020-09-24 10:48:29 +02:00
fsl_pamu_domain.c
fsl_pamu_domain.h
fsl_pamu.c
fsl_pamu.h
hyperv-iommu.c
io-pgtable-arm-v7s.c iommu/io-pgtable-arm-v7s: Add error handle for page table allocation failure 2022-01-27 10:53:43 +01:00
io-pgtable-arm.c iommu/io-pgtable-arm: Fix table descriptor paddr formatting 2022-01-27 10:54:06 +01:00
io-pgtable-arm.h iommu/io-pgtable-arm: Move some definitions to a header 2020-09-28 23:48:06 +01:00
io-pgtable.c
ioasid.c
iommu-debugfs.c
iommu-sysfs.c
iommu-traces.c
iommu.c iommu: Fix potential use-after-free during probe 2022-02-16 12:54:31 +01:00
iova.c iommu/iova: Improve 32-bit free space estimate 2022-04-08 14:39:48 +02:00
ipmmu-vmsa.c iommu/ipmmu-vmsa: Check for error num after setting mask 2022-04-08 14:40:15 +02:00
irq_remapping.c
irq_remapping.h
Kconfig Merge branches 'arm/allwinner', 'arm/mediatek', 'arm/renesas', 'arm/tegra', 'arm/qcom', 'arm/smmu', 'ppc/pamu', 'x86/amd', 'x86/vt-d' and 'core' into next 2020-10-07 11:51:59 +02:00
Makefile
msm_iommu_hw-8xxx.h
msm_iommu.c
msm_iommu.h
mtk_iommu_v1.c
mtk_iommu.c iommu: Switch gather->end to the inclusive end 2021-03-04 11:38:01 +01:00
mtk_iommu.h
of_iommu.c
omap-iommu-debug.c
omap-iommu.c iommu/omap: Fix regression in probe for NULL pointer dereference 2022-04-13 21:01:07 +02:00
omap-iommu.h
omap-iopgtable.h
rockchip-iommu.c
s390-iommu.c
sun50i-iommu.c
tegra-gart.c
tegra-smmu.c iommu/tegra-smmu: Allow to group clients in same swgroup 2020-09-24 12:32:32 +02:00
virtio-iommu.c iommu/virtio: Add missing MODULE_DEVICE_TABLE 2021-06-03 09:00:49 +02:00