[U-Boot] [PATCH 2/3] bouncebuf: Add DMA validation check to addr_aligned().

Christoph Müllner christoph.muellner at theobroma-systems.com
Tue May 7 13:48:28 UTC 2019



On 07.05.19 15:05, Marek Vasut wrote:
> On 5/7/19 11:05 AM, Christoph Muellner wrote:
>> Currently addr_aligned() performs an alignment and a length check
>> to validate the DMA address. However, some machines have stricter
>> restrictions of DMA-able addresses.
>>
>> This patch adds a call to mach_addr_is_dmaable() to honor this
>> machine specific restrictions.
>>
>> Signed-off-by: Christoph Muellner <christoph.muellner at theobroma-systems.com>
>> ---
>>
>>  common/bouncebuf.c | 6 ++++++
>>  1 file changed, 6 insertions(+)
>>
>> diff --git a/common/bouncebuf.c b/common/bouncebuf.c
>> index a7098e2caf..26ddf30ea2 100644
>> --- a/common/bouncebuf.c
>> +++ b/common/bouncebuf.c
>> @@ -26,6 +26,12 @@ static int addr_aligned(struct bounce_buffer *state)
>>  		return 0;
>>  	}
>>  
>> +	/* Check if valid DMA address. */
>> +	if (!mach_addr_is_dmaable((ulong)state->user_buffer)) {
> 
> Is the cast necessary ?

Of course not.
Will be fixed in v2.

Thanks!

> 
>> +		debug("Buffer address is not DMA-able\n");
>> +		return 0;
>> +	}
>> +
>>  	/* Aligned */
>>  	return 1;
>>  }
>>
> 
> 


More information about the U-Boot mailing list