From: Mike Frysinger Date: Fri, 4 Jun 2010 20:15:38 +0000 (-0400) Subject: Blackfin: bf561: use DMA for Core B L1 regions X-Git-Tag: v2010.09-rc1~82^2~3^2~6 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=bbf4fbb6cc3d1384a9008f1772aa157c4809df3a;p=u-boot Blackfin: bf561: use DMA for Core B L1 regions The L1 regions of Core B are not directly accessible from Core A, so we need to use DMA to get at them. Signed-off-by: Mike Frysinger --- diff --git a/arch/blackfin/include/asm/blackfin_local.h b/arch/blackfin/include/asm/blackfin_local.h index 3fd34b33fe..48f793a4ce 100644 --- a/arch/blackfin/include/asm/blackfin_local.h +++ b/arch/blackfin/include/asm/blackfin_local.h @@ -75,7 +75,15 @@ extern void blackfin_dcache_flush_invalidate_range(const void *, const void *); * regions can only be accessed via DMA, so if the address in question is in * that region, make sure we attempt to DMA indirectly. */ -# define addr_bfin_on_chip_mem(addr) (((unsigned long)(addr) & 0xFFF00000) == 0xFFA00000) +# ifdef __ADSPBF561__ + /* Core B regions all need dma from Core A */ +# define addr_bfin_on_chip_mem(addr) \ + ((((unsigned long)(addr) & 0xFFF00000) == 0xFFA00000) || \ + (((unsigned long)(addr) & 0xFFC00000) == 0xFF400000)) +# else +# define addr_bfin_on_chip_mem(addr) \ + (((unsigned long)(addr) & 0xFFF00000) == 0xFFA00000) +# endif # include