diff options
| author | Mike Frysinger <vapier@gentoo.org> | 2010-06-04 16:15:38 -0400 | 
|---|---|---|
| committer | Mike Frysinger <vapier@gentoo.org> | 2010-07-13 17:50:52 -0400 | 
| commit | bbf4fbb6cc3d1384a9008f1772aa157c4809df3a (patch) | |
| tree | bbd4ce4c9a8d96db2e5f57d63577b859b696ea3b | |
| parent | b14fff8dce55e474c2de47d1722e3ae58546f5c4 (diff) | |
| download | olio-uboot-2014.01-bbf4fbb6cc3d1384a9008f1772aa157c4809df3a.tar.xz olio-uboot-2014.01-bbf4fbb6cc3d1384a9008f1772aa157c4809df3a.zip | |
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 <vapier@gentoo.org>
| -rw-r--r-- | arch/blackfin/include/asm/blackfin_local.h | 10 | 
1 files changed, 9 insertions, 1 deletions
| diff --git a/arch/blackfin/include/asm/blackfin_local.h b/arch/blackfin/include/asm/blackfin_local.h index 3fd34b33f..48f793a4c 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 <asm/system.h> |