Thread (6 messages) 6 messages, 3 authors, 2024-09-01

Re:[PATCH 2/3] drm/rockchip: Use iommu_paging_domain_alloc()

From: Andy Yan <hidden>
Date: 2024-08-12 07:53:30
Also in: dri-devel, linux-iommu, linux-media, linux-rockchip, linux-tegra, lkml, nouveau

Hi,
  Thanks for your patch

At 2024-08-12 15:10:33, "Lu Baolu" [off-list ref] wrote:
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>
Link: https://lore.kernel.org/r/20240610085555.88197-19-baolu.lu@linux.intel.com (local)
  Acked-by: Andy Yan [off-list ref]

quoted hunk ↗ jump to hunk
---
drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
index 44d769d9234d..11e5d10de4d7 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
@@ -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;
-- 
2.34.1
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help