Since commit 9495b7e92f71 ("driver core: platform: Initialize dma_parms
for platform devices"), struct platform_device already provides a
dma_parms structure, so we can save allocating another one.

Also the DMA segment size is simply a size, not a bitmask.

Signed-off-by: Robin Murphy <robin.mur...@arm.com>
---
 drivers/gpu/drm/exynos/exynos_drm_dma.c | 26 +------------------------
 1 file changed, 1 insertion(+), 25 deletions(-)

diff --git a/drivers/gpu/drm/exynos/exynos_drm_dma.c 
b/drivers/gpu/drm/exynos/exynos_drm_dma.c
index 58b89ec11b0e..9f25a5ebbf7d 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_dma.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_dma.c
@@ -31,23 +31,6 @@
 #define EXYNOS_DEV_ADDR_START  0x20000000
 #define EXYNOS_DEV_ADDR_SIZE   0x40000000
 
-static inline int configure_dma_max_seg_size(struct device *dev)
-{
-       if (!dev->dma_parms)
-               dev->dma_parms = kzalloc(sizeof(*dev->dma_parms), GFP_KERNEL);
-       if (!dev->dma_parms)
-               return -ENOMEM;
-
-       dma_set_max_seg_size(dev, DMA_BIT_MASK(32));
-       return 0;
-}
-
-static inline void clear_dma_max_seg_size(struct device *dev)
-{
-       kfree(dev->dma_parms);
-       dev->dma_parms = NULL;
-}
-
 /*
  * drm_iommu_attach_device- attach device to iommu mapping
  *
@@ -69,9 +52,7 @@ static int drm_iommu_attach_device(struct drm_device *drm_dev,
                return -EINVAL;
        }
 
-       ret = configure_dma_max_seg_size(subdrv_dev);
-       if (ret)
-               return ret;
+       dma_set_max_seg_size(subdrv_dev, UINT_MAX);
 
        if (IS_ENABLED(CONFIG_ARM_DMA_USE_IOMMU)) {
                /*
@@ -89,9 +70,6 @@ static int drm_iommu_attach_device(struct drm_device *drm_dev,
                ret = iommu_attach_device(priv->mapping, subdrv_dev);
        }
 
-       if (ret)
-               clear_dma_max_seg_size(subdrv_dev);
-
        return ret;
 }
 
@@ -114,8 +92,6 @@ static void drm_iommu_detach_device(struct drm_device 
*drm_dev,
                arm_iommu_attach_device(subdrv_dev, *dma_priv);
        } else if (IS_ENABLED(CONFIG_IOMMU_DMA))
                iommu_detach_device(priv->mapping, subdrv_dev);
-
-       clear_dma_max_seg_size(subdrv_dev);
 }
 
 int exynos_drm_register_dma(struct drm_device *drm, struct device *dev,
-- 
2.28.0.dirty

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to