[U-Boot] [PATCH 4/6] davinci_emac: fix for running with dcache enabled

Ilya Yanok yanok at emcraft.com
Mon Oct 10 15:03:52 CEST 2011


Hi Stefano,

On 10.10.2011 16:35, Stefano Babic wrote:
>> +#ifdef DAVINCI_EMAC_DCACHE
>> +static inline void davinci_flush(void *addr, int size)
>> +{
>> +	flush_dcache_range((unsigned long)addr,
>> +			(unsigned long)addr + size);
>> +}
> 
> There is no check with the cache linesize. I get this error:
> 
> ERROR: v7_dcache_inval_range - stop address is not aligned - 0x5c0200a0
> 
> Should we not be sure that size is rounded up to align with the cache
> line size ?

Surely we should. Actually it's not the size that has to be aligned but
the buffer itself. Is there any generic API to get the cache line size?
For now I've just hardcoded the 64 byte alignment but this seems to be
not perfect solution...

Regards, Ilya.


More information about the U-Boot mailing list