diff options
Diffstat (limited to 'arch/tile/include/asm/cacheflush.h')
-rw-r--r-- | arch/tile/include/asm/cacheflush.h | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/arch/tile/include/asm/cacheflush.h b/arch/tile/include/asm/cacheflush.h index 7e2096a4ef7d..c5741da4eeac 100644 --- a/arch/tile/include/asm/cacheflush.h +++ b/arch/tile/include/asm/cacheflush.h | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <linux/mm.h> | 21 | #include <linux/mm.h> |
22 | #include <linux/cache.h> | 22 | #include <linux/cache.h> |
23 | #include <asm/system.h> | 23 | #include <asm/system.h> |
24 | #include <arch/icache.h> | ||
24 | 25 | ||
25 | /* Caches are physically-indexed and so don't need special treatment */ | 26 | /* Caches are physically-indexed and so don't need special treatment */ |
26 | #define flush_cache_all() do { } while (0) | 27 | #define flush_cache_all() do { } while (0) |
@@ -37,14 +38,8 @@ | |||
37 | #define flush_icache_page(vma, pg) do { } while (0) | 38 | #define flush_icache_page(vma, pg) do { } while (0) |
38 | #define flush_icache_user_range(vma, pg, adr, len) do { } while (0) | 39 | #define flush_icache_user_range(vma, pg, adr, len) do { } while (0) |
39 | 40 | ||
40 | /* See "arch/tile/lib/__invalidate_icache.S". */ | ||
41 | extern void __invalidate_icache(unsigned long start, unsigned long size); | ||
42 | |||
43 | /* Flush the icache just on this cpu */ | 41 | /* Flush the icache just on this cpu */ |
44 | static inline void __flush_icache_range(unsigned long start, unsigned long end) | 42 | extern void __flush_icache_range(unsigned long start, unsigned long end); |
45 | { | ||
46 | __invalidate_icache(start, end - start); | ||
47 | } | ||
48 | 43 | ||
49 | /* Flush the entire icache on this cpu. */ | 44 | /* Flush the entire icache on this cpu. */ |
50 | #define __flush_icache() __flush_icache_range(0, CHIP_L1I_CACHE_SIZE()) | 45 | #define __flush_icache() __flush_icache_range(0, CHIP_L1I_CACHE_SIZE()) |