drm/rockchip: Use iommu_paging_domain_alloc()
authorLu Baolu <baolu.lu@linux.intel.com>
Mon, 2 Sep 2024 01:46:59 +0000 (09:46 +0800)
committerLyude Paul <lyude@redhat.com>
Tue, 10 Sep 2024 19:40:26 +0000 (15:40 -0400)
Commit <421be3ee36a4> ("drm/rockchip: Refactor IOMMU initialisation") has
refactored rockchip_drm_init_iommu() to pass a device that the domain is
allocated for. Replace iommu_domain_alloc() with
iommu_paging_domain_alloc() to retire the former.

Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Acked-by: Andy Yan <andyshrk@163.com>
Signed-off-by: Lyude Paul <lyude@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240902014700.66095-3-baolu.lu@linux.intel.com
drivers/gpu/drm/rockchip/rockchip_drm_drv.c

index 44d769d9234d6f6489aa7cd86e32f61aaa86bd9f..11e5d10de4d73849163a01dc9a9a3f4055d237c2 100644 (file)
@@ -103,13 +103,17 @@ static int rockchip_drm_init_iommu(struct drm_device *drm_dev)
        struct rockchip_drm_private *private = drm_dev->dev_private;
        struct iommu_domain_geometry *geometry;
        u64 start, end;
+       int ret;
 
        if (IS_ERR_OR_NULL(private->iommu_dev))
                return 0;
 
-       private->domain = iommu_domain_alloc(private->iommu_dev->bus);
-       if (!private->domain)
-               return -ENOMEM;
+       private->domain = iommu_paging_domain_alloc(private->iommu_dev);
+       if (IS_ERR(private->domain)) {
+               ret = PTR_ERR(private->domain);
+               private->domain = NULL;
+               return ret;
+       }
 
        geometry = &private->domain->geometry;
        start = geometry->aperture_start;