diff options
Diffstat (limited to 'arch/sh/mm/cache-sh7705.c')
| -rw-r--r-- | arch/sh/mm/cache-sh7705.c | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/arch/sh/mm/cache-sh7705.c b/arch/sh/mm/cache-sh7705.c index bf94eedb0a8e..045abdf078f5 100644 --- a/arch/sh/mm/cache-sh7705.c +++ b/arch/sh/mm/cache-sh7705.c | |||
| @@ -9,7 +9,6 @@ | |||
| 9 | * for more details. | 9 | * for more details. |
| 10 | * | 10 | * |
| 11 | */ | 11 | */ |
| 12 | |||
| 13 | #include <linux/init.h> | 12 | #include <linux/init.h> |
| 14 | #include <linux/mman.h> | 13 | #include <linux/mman.h> |
| 15 | #include <linux/mm.h> | 14 | #include <linux/mm.h> |
| @@ -25,14 +24,10 @@ | |||
| 25 | #include <asm/mmu_context.h> | 24 | #include <asm/mmu_context.h> |
| 26 | #include <asm/cacheflush.h> | 25 | #include <asm/cacheflush.h> |
| 27 | 26 | ||
| 28 | /* The 32KB cache on the SH7705 suffers from the same synonym problem | 27 | /* |
| 29 | * as SH4 CPUs */ | 28 | * The 32KB cache on the SH7705 suffers from the same synonym problem |
| 30 | 29 | * as SH4 CPUs | |
| 31 | #define __pte_offset(address) \ | 30 | */ |
| 32 | ((address >> PAGE_SHIFT) & (PTRS_PER_PTE - 1)) | ||
| 33 | #define pte_offset(dir, address) ((pte_t *) pmd_page_vaddr(*(dir)) + \ | ||
| 34 | __pte_offset(address)) | ||
| 35 | |||
| 36 | static inline void cache_wback_all(void) | 31 | static inline void cache_wback_all(void) |
| 37 | { | 32 | { |
| 38 | unsigned long ways, waysize, addrstart; | 33 | unsigned long ways, waysize, addrstart; |
| @@ -73,7 +68,6 @@ void flush_icache_range(unsigned long start, unsigned long end) | |||
| 73 | __flush_wback_region((void *)start, end - start); | 68 | __flush_wback_region((void *)start, end - start); |
| 74 | } | 69 | } |
| 75 | 70 | ||
| 76 | |||
| 77 | /* | 71 | /* |
| 78 | * Writeback&Invalidate the D-cache of the page | 72 | * Writeback&Invalidate the D-cache of the page |
| 79 | */ | 73 | */ |
| @@ -128,7 +122,6 @@ static void __flush_dcache_page(unsigned long phys) | |||
| 128 | local_irq_restore(flags); | 122 | local_irq_restore(flags); |
| 129 | } | 123 | } |
| 130 | 124 | ||
| 131 | |||
| 132 | /* | 125 | /* |
| 133 | * Write back & invalidate the D-cache of the page. | 126 | * Write back & invalidate the D-cache of the page. |
| 134 | * (To avoid "alias" issues) | 127 | * (To avoid "alias" issues) |
| @@ -186,7 +179,8 @@ void flush_cache_range(struct vm_area_struct *vma, unsigned long start, | |||
| 186 | * | 179 | * |
| 187 | * ADDRESS: Virtual Address (U0 address) | 180 | * ADDRESS: Virtual Address (U0 address) |
| 188 | */ | 181 | */ |
| 189 | void flush_cache_page(struct vm_area_struct *vma, unsigned long address, unsigned long pfn) | 182 | void flush_cache_page(struct vm_area_struct *vma, unsigned long address, |
| 183 | unsigned long pfn) | ||
| 190 | { | 184 | { |
| 191 | __flush_dcache_page(pfn << PAGE_SHIFT); | 185 | __flush_dcache_page(pfn << PAGE_SHIFT); |
| 192 | } | 186 | } |
| @@ -203,4 +197,3 @@ void flush_icache_page(struct vm_area_struct *vma, struct page *page) | |||
| 203 | { | 197 | { |
| 204 | __flush_purge_region(page_address(page), PAGE_SIZE); | 198 | __flush_purge_region(page_address(page), PAGE_SIZE); |
| 205 | } | 199 | } |
| 206 | |||
