summaryrefslogtreecommitdiff
path: root/include/asm-blackfin
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2008-11-04 00:04:03 -0500
committerMike Frysinger <vapier@gentoo.org>2009-02-02 12:24:44 -0500
commitfdce83c108846d6f0d5b1774e1cc29f2573a6ad3 (patch)
tree139791e83afe2517baa6ac1867565c580e91219e /include/asm-blackfin
parent84c5f0dc47d17593fd81206614891bdc94f6d51c (diff)
downloadu-boot-imx-fdce83c108846d6f0d5b1774e1cc29f2573a6ad3.zip
u-boot-imx-fdce83c108846d6f0d5b1774e1cc29f2573a6ad3.tar.gz
u-boot-imx-fdce83c108846d6f0d5b1774e1cc29f2573a6ad3.tar.bz2
Blackfin: rewrite cache handling functions
Take the cache flush functions from the kernel as they use hardware loops in order to get optimal performance. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'include/asm-blackfin')
-rw-r--r--include/asm-blackfin/blackfin_local.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/asm-blackfin/blackfin_local.h b/include/asm-blackfin/blackfin_local.h
index 90259ba..4e15834 100644
--- a/include/asm-blackfin/blackfin_local.h
+++ b/include/asm-blackfin/blackfin_local.h
@@ -43,6 +43,9 @@
#define SCLK_TO_MSEC(sclk) ((MSEC_PER_SEC * ((sclk) / USEC_PER_MSEC)) / (BFIN_SCLK / USEC_PER_MSEC))
#define MSEC_TO_SCLK(msec) ((((BFIN_SCLK / USEC_PER_MSEC) * (msec)) / MSEC_PER_SEC) * USEC_PER_MSEC)
+#define L1_CACHE_SHIFT 5
+#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
+
#include <asm/linkage.h>
#ifndef __ASSEMBLY__
@@ -60,6 +63,7 @@ extern u_long get_sclk(void);
extern void blackfin_icache_flush_range(const void *, const void *);
extern void blackfin_dcache_flush_range(const void *, const void *);
+extern void blackfin_icache_dcache_flush_range(const void *, const void *);
extern void blackfin_dcache_flush_invalidate_range(const void *, const void *);
/* Use DMA to move data from on chip to external memory. While this is