[PATCH] drm/exynos: Drop local dma_parms

Inki Dae inki.dae at samsung.com
Mon Sep 21 01:17:04 UTC 2020


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 at 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.com/
> 
> 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
> 


More information about the dri-devel mailing list