Go to the documentation of this file.
9 #ifndef _BLACKFIN_CACHEFLUSH_H
10 #define _BLACKFIN_CACHEFLUSH_H
13 #include <asm/sections.h>
25 #define flush_dcache_mmap_lock(mapping) do { } while (0)
26 #define flush_dcache_mmap_unlock(mapping) do { } while (0)
27 #define flush_cache_mm(mm) do { } while (0)
28 #define flush_cache_range(vma, start, end) do { } while (0)
29 #define flush_cache_page(vma, vmaddr) do { } while (0)
30 #define flush_cache_vmap(start, end) do { } while (0)
31 #define flush_cache_vunmap(start, end) do { } while (0)
34 #define flush_icache_range_others(start, end) \
35 smp_icache_flush_range_others((start), (end))
37 #define flush_icache_range_others(start, end) do { } while (0)
42 #if defined(CONFIG_BFIN_EXTMEM_WRITEBACK)
46 #if defined(CONFIG_BFIN_L2_WRITEBACK)
60 #if defined(CONFIG_BFIN_EXTMEM_ICACHEABLE)
66 #if defined(CONFIG_BFIN_L2_ICACHEABLE)
74 #define copy_to_user_page(vma, page, vaddr, dst, src, len) \
75 do { memcpy(dst, src, len); \
76 flush_icache_range((unsigned) (dst), (unsigned) (dst) + (len)); \
79 #define copy_from_user_page(vma, page, vaddr, dst, src, len) memcpy(dst, src, len)
81 #if defined(CONFIG_BFIN_DCACHE)
82 # define invalidate_dcache_range(start,end) blackfin_dcache_invalidate_range((start), (end))
84 # define invalidate_dcache_range(start,end) do { } while (0)
86 #if defined(CONFIG_BFIN_EXTMEM_WRITEBACK) || defined(CONFIG_BFIN_L2_WRITEBACK)
87 # define flush_dcache_range(start,end) blackfin_dcache_flush_range((start), (end))
88 #define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 1
89 # define flush_dcache_page(page) blackfin_dflush_page(page_address(page))
91 # define flush_dcache_range(start,end) do { } while (0)
92 #define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 0
93 # define flush_dcache_page(page) do { } while (0)
99 static inline int bfin_addr_dcacheable(
unsigned long addr)
101 #ifdef CONFIG_BFIN_EXTMEM_DCACHEABLE
110 #ifdef CONFIG_BFIN_L2_DCACHEABLE