mirror-linux/drivers/gpu/drm/tegra
Jason Gunthorpe fae6e669cd drm/tegra: Do not assume that a NULL domain means no DMA IOMMU
Previously with tegra-smmu, even with CONFIG_IOMMU_DMA, the default domain
could have been left as NULL. The NULL domain is specially recognized by
host1x_client_iommu_attach() as meaning it is not the DMA domain and
should be replaced with the special shared domain.

This happened prior to the below commit because tegra-smmu was using the
NULL domain to mean IDENTITY.

Now that the domain is properly labled the test in DRM doesn't see NULL.
Check for IDENTITY as well to enable the special domains.

Fixes: c8cc2655cc ("iommu/tegra-smmu: Implement an IDENTITY domain")
Reported-by: diogo.ivo@tecnico.ulisboa.pt
Closes: https://lore.kernel.org/all/bbmhcoghrprmbdibnjum6lefix2eoquxrde7wyqeulm4xabmlm@b6jy32saugqh/
Tested-by: diogo.ivo@tecnico.ulisboa.pt
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/0-v1-3049f92c4812+16691-host1x_def_dom_fix_jgg@nvidia.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
2024-02-01 13:17:21 +01:00
..
Kconfig fbdev: Use _DMAMEM_ infix for DMA-memory helpers 2023-07-31 20:07:18 +02:00
Makefile
dc.c drm/debugfs: rework drm_debugfs_create_files implementation v2 2023-09-01 08:54:12 +02:00
dc.h
dp.c
dp.h
dpaux.c drm/tegra: dpaux: Fix incorrect return value of platform_get_irq 2023-07-27 18:41:59 +02:00
dpaux.h
drm.c drm/tegra: Do not assume that a NULL domain means no DMA IOMMU 2024-02-01 13:17:21 +01:00
drm.h drm/tegra: Remove two unused function declarations 2023-10-11 22:52:43 +02:00
dsi.c drm/debugfs: rework drm_debugfs_create_files implementation v2 2023-09-01 08:54:12 +02:00
dsi.h
falcon.c
falcon.h
fb.c
fbdev.c fbdev: Use _DMAMEM_ infix for DMA-memory helpers 2023-07-31 20:07:18 +02:00
firewall.c
gem.c drm/tegra: gem: Do not return NULL in tegra_bo_mmap() 2023-10-11 22:52:44 +02:00
gem.h
gr2d.c drm/tegra: Enable runtime PM during probe 2023-07-27 18:41:59 +02:00
gr2d.h
gr3d.c drm/tegra: Enable runtime PM during probe 2023-07-27 18:41:59 +02:00
gr3d.h
hda.c
hda.h
hdmi.c drm/edid: include drm_eld.h only where required 2023-11-09 16:47:31 +02:00
hdmi.h
hub.c drm/tegra: hub: Increase buffer size to ensure all possible values can be stored 2023-10-11 22:52:43 +02:00
hub.h
mipi-phy.c
mipi-phy.h
nvdec.c drm/tegra: Enable runtime PM during probe 2023-07-27 18:41:59 +02:00
output.c
plane.c
plane.h
rgb.c drm/tegra: rgb: Parameterize V- and H-sync polarities 2023-09-20 13:48:34 +02:00
riscv.c
riscv.h
sor.c drm/edid: include drm_eld.h only where required 2023-11-09 16:47:31 +02:00
sor.h
submit.c
submit.h
trace.c
trace.h
uapi.c
uapi.h
vic.c drm/tegra: Enable runtime PM during probe 2023-07-27 18:41:59 +02:00
vic.h