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()) |
