[PATCH 4/4] drivers: dma-contiguous: add initialization from device tree

Marek Szyprowski m.szyprowski at samsung.com
Mon Jul 7 03:36:40 PDT 2014


Hello,

On 2014-07-04 07:52, Joonsoo Kim wrote:
>> -----Original Message-----
>> From: Marek Szyprowski [mailto:m.szyprowski at samsung.com]
>> Sent: Wednesday, July 02, 2014 7:49 PM
>>
>> Subject: [PATCH 4/4] drivers: dma-contiguous: add initialization from
>> device tree
>>
>> Add a code to create CMA region from reserved memory and add support for
>> handling 'shared-dma-pool' reserved-memory device tree nodes.
>>
>> Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
>> ---
>>   drivers/base/dma-contiguous.c | 67
>> +++++++++++++++++++++++++++++++++++++++++
>>   include/linux/cma.h           |  3 ++
>>   mm/cma.c                      | 69
> ++++++++++++++++++++++++++++++++-----------
>>   3 files changed, 122 insertions(+), 17 deletions(-)
>>

...

>> +/**
>>    * cma_declare_contiguous() - reserve custom contiguous area
>>    * @base: Base address of the reserved area optional, use 0 for any
>>    * @size: Size of the reserved area (in bytes),
>> @@ -162,18 +210,12 @@ int __init cma_declare_contiguous(phys_addr_t base,
>>   			phys_addr_t alignment, unsigned int order_per_bit,
>>   			bool fixed, struct cma **res_cma)
>>   {
>> -	struct cma *cma;
>> -	int ret = 0;
>> +	int ret;
>>
>>   	pr_debug("%s(size %lx, base %08lx, limit %08lx alignment %08lx)\n",
>>   		__func__, (unsigned long)size, (unsigned long)base,
>>   		(unsigned long)limit, (unsigned long)alignment);
>>
>> -	if (cma_area_count == ARRAY_SIZE(cma_areas)) {
>> -		pr_err("Not enough slots for CMA reserved regions!\n");
>> -		return -ENOSPC;
>> -	}
>> -
> Hello, Marek.
>
> After this change, if we have not enough cma_areas, memory will leak.
> I think that we need separate function to check constraint and this
> function should be called before reserving memory in
> cma_declare_contiguous().

Well, I will leave this check to avoid memory leak then.

> BTW, this mail doesn't appear in LKML. What happens? :)

I have no idea, I will send second version then.

Best regards
-- 
Marek Szyprowski, PhD
Samsung R&D Institute Poland




More information about the linux-arm-kernel mailing list