android_kernel_xiaomi_sm8450/drivers/iommu
Rob Clark 5e9142b6a2 iommu/arm-smmu-qcom: Add missing GMU entry to match table
commit afc95681c3068956fed1241a1ff1612c066c75ac upstream.

In some cases the firmware expects cbndx 1 to be assigned to the GMU,
so we also want the default domain for the GMU to be an identy domain.
This way it does not get a context bank assigned.  Without this, both
of_dma_configure() and drm/msm's iommu_domain_attach() will trigger
allocating and configuring a context bank.  So GMU ends up attached to
both cbndx 1 and later cbndx 2.  This arrangement seemingly confounds
and surprises the firmware if the GPU later triggers a translation
fault, resulting (on sc8280xp / lenovo x13s, at least) in the SMMU
getting wedged and the GPU stuck without memory access.

Cc: stable@vger.kernel.org
Signed-off-by: Rob Clark <robdclark@chromium.org>
Tested-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Robin Murphy <robin.murphy@arm.com>
Link: https://lore.kernel.org/r/20231210180655.75542-1-robdclark@gmail.com
Signed-off-by: Will Deacon <will@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-01-25 14:37:52 -08:00
..
amd iommu/amd: Don't block updates to GATag if guest mode is on 2023-06-09 10:30:04 +02:00
arm iommu/arm-smmu-qcom: Add missing GMU entry to match table 2024-01-25 14:37:52 -08:00
intel iommu/vt-d: Add MTL to quirk list to skip TE disabling 2023-12-08 08:46:12 +01: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: Handle failed IOMMU device registration properly 2022-08-21 15:16:08 +02:00
fsl_pamu_domain.c iommu/pamu: Use dev_iommu_priv_get/set() 2020-06-30 11:59:48 +02:00
fsl_pamu_domain.h
fsl_pamu.c iommu/fsl_pamu: Fix resource leak in fsl_pamu_probe() 2023-01-14 10:16:05 +01:00
fsl_pamu.h
hyperv-iommu.c x86_ioapic_Consolidate_IOAPIC_allocation 2020-09-16 16:52:32 +02:00
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 iommu/irq_remapping: Consolidate irq domain lookup 2020-09-16 16:52:30 +02:00
irq_remapping.h iommu/irq_remapping: Consolidate irq domain lookup 2020-09-16 16:52:30 +02:00
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 More Arm SMMU updates for 5.9 2020-07-29 14:47:37 +02:00
msm_iommu_hw-8xxx.h
msm_iommu.c iommu/msm: Fix an incorrect NULL check on list iterator 2022-06-09 10:21:26 +02:00
msm_iommu.h
mtk_iommu_v1.c iommu/mediatek-v1: Fix an error handling path in mtk_iommu_v1_probe() 2023-01-18 11:45:00 +01:00
mtk_iommu.c iommu/mediatek: Add list_del in mtk_iommu_remove 2022-06-09 10:21:18 +02:00
mtk_iommu.h iommu/mediatek: Add support for MT8167 2020-09-18 10:29:12 +02:00
of_iommu.c of/device: Add input id to of_dma_configure() 2020-07-28 15:51:32 +01:00
omap-iommu-debug.c iommu/omap: Fix buffer overflow in debugfs 2022-10-26 13:25:41 +02:00
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 iommu/omap: Fix -Woverflow warnings when compiling on 64-bit architectures 2020-03-04 16:24:46 +01:00
rockchip-iommu.c iommu/rockchip: Fix unwind goto issue 2023-06-09 10:30:04 +02:00
s390-iommu.c s390 updates for the 5.8 merge window 2020-06-08 12:05:31 -07:00
sun50i-iommu.c iommu/sun50i: Remove IOMMU_DOMAIN_IDENTITY 2023-01-14 10:16:07 +01:00
tegra-gart.c iommu/tegra: Use dev_iommu_priv_get/set() 2020-06-30 11:59:48 +02:00
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