Skip to content

Commit fae6e66

Browse files
jgunthorpejoergroedel
authored andcommitted
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: c8cc265 ("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>
1 parent 83b3836 commit fae6e66

File tree

1 file changed

+2
-1
lines changed
  • drivers/gpu/drm/tegra

1 file changed

+2
-1
lines changed

drivers/gpu/drm/tegra/drm.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -960,7 +960,8 @@ int host1x_client_iommu_attach(struct host1x_client *client)
960960
* not the shared IOMMU domain, don't try to attach it to a different
961961
* domain. This allows using the IOMMU-backed DMA API.
962962
*/
963-
if (domain && domain != tegra->domain)
963+
if (domain && domain->type != IOMMU_DOMAIN_IDENTITY &&
964+
domain != tegra->domain)
964965
return 0;
965966

966967
if (tegra->domain) {

0 commit comments

Comments
 (0)