drm/nouveau/tegra: Stop using iommu_present()
authorRobin Murphy <robin.murphy@arm.com>
Tue, 5 Apr 2022 14:21:34 +0000 (15:21 +0100)
committerLyude Paul <lyude@redhat.com>
Fri, 6 May 2022 21:23:17 +0000 (17:23 -0400)
Even if some IOMMU has registered itself on the platform "bus", that
doesn't necessarily mean it provides translation for the device we
care about. Replace iommu_present() with a more appropriate check.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
[added cc for stable]
Signed-off-by: Lyude Paul <lyude@redhat.com>
Cc: stable@vger.kernel.org # v5.0+
Link: https://patchwork.freedesktop.org/patch/msgid/70d40ea441da3663c2824d54102b471e9a621f8a.1649168494.git.robin.murphy@arm.com
drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c

index 992cc285f2fecfb7c126fdc59e107e4cb415a904..2ed528c065fae6ba09d801a1401aa72fd0fa505d 100644 (file)
@@ -123,7 +123,7 @@ nvkm_device_tegra_probe_iommu(struct nvkm_device_tegra *tdev)
 
        mutex_init(&tdev->iommu.mutex);
 
-       if (iommu_present(&platform_bus_type)) {
+       if (device_iommu_mapped(dev)) {
                tdev->iommu.domain = iommu_domain_alloc(&platform_bus_type);
                if (!tdev->iommu.domain)
                        goto error;