From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ilya Yanok Date: Mon, 10 Oct 2011 17:03:52 +0400 Subject: [U-Boot] [PATCH 4/6] davinci_emac: fix for running with dcache enabled In-Reply-To: <4E92E675.1090900@denx.de> References: <1317857806-16549-1-git-send-email-yanok@emcraft.com> <1317857806-16549-5-git-send-email-yanok@emcraft.com> <4E92E675.1090900@denx.de> Message-ID: <4E92ED38.3010103@emcraft.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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.