Hi Marek,
20. 9. 4. 오후 4:28에 Marek Szyprowski 이(가) 쓴 글:
Hi Robin,
On 03.09.2020 22:51, Robin Murphy wrote:
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.murphy@arm.com
I've sent a similar patch over 2 months ago, but it looks it got lost:
https://lore.kernel.org/dri-devel/20200707110827.3760-1-m.szyprowski@samsung...
Inki, could You queue it for merge?
Oops, sorry. Reviewed already but forgot to merge.
Thanks, Inki Dae
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,
Best regards