Robin Murphy
2022-Apr-05 14:21 UTC
[Nouveau] [PATCH] drm/nouveau/tegra: Stop using iommu_present()
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 at arm.com>
---
drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c
b/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c
index 992cc285f2fe..2ed528c065fa 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c
@@ -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;
--
2.28.0.dirty
Lyude Paul
2022-May-06 21:09 UTC
[Nouveau] [PATCH] drm/nouveau/tegra: Stop using iommu_present()
Whoops! Was going through my unread emails and noticed I somehow missed this patch last month. Reviewed-by: Lyude Paul <lyude at redhat.com> I will push this to drm-misc-fixes in a little bit (assuming I don't find it there already) On Tue, 2022-04-05 at 15:21 +0100, Robin Murphy wrote:> 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 at arm.com> > --- > ?drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c | 2 +- > ?1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c > b/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c > index 992cc285f2fe..2ed528c065fa 100644 > --- a/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c > +++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c > @@ -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;-- Cheers, Lyude Paul (she/her) Software Engineer at Red Hat