Hi Robin,

As Marek said, he posted same patch[1] before so I merged it instead of you.
I totally forgot to merge it. :( Sorry for confusing.

[1] 
https://lore.kernel.org/dri-devel/20200707110827.3760-1-m.szyprow...@samsung.com/

Thanks,
Inki Dae

20. 9. 4. 오전 5:51에 Robin Murphy 이(가) 쓴 글:
> 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,
> 
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to