iommu/tegra-smmu: Support DMA domains in tegra
authorJason Gunthorpe <jgg@nvidia.com>
Wed, 13 Sep 2023 13:43:45 +0000 (10:43 -0300)
committerJoerg Roedel <jroedel@suse.de>
Mon, 25 Sep 2023 09:40:59 +0000 (11:40 +0200)
commitf128094f347f578279e551488796d0a0067cbdff
tree1f9c0ecc02606c0a26f891eb026fd15fee37f23f
parentc8cc2655cc6c7ff832827ad5bc1a8f3df165706d
iommu/tegra-smmu: Support DMA domains in tegra

All ARM64 iommu drivers should support IOMMU_DOMAIN_DMA to enable
dma-iommu.c.

tegra is blocking dma-iommu usage, and also default_domain's, because it
wants an identity translation. This is needed for some device quirk. The
correct way to do this is to support IDENTITY domains and use
ops->def_domain_type() to return IOMMU_DOMAIN_IDENTITY for only the quirky
devices.

Add support for IOMMU_DOMAIN_DMA and force IOMMU_DOMAIN_IDENTITY mode for
everything so no behavior changes.

Reviewed-by: Jerry Snitselaar <jsnitsel@redhat.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/12-v8-81230027b2fa+9d-iommu_all_defdom_jgg@nvidia.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/tegra-smmu.c