diff options
author | Andreas Bießmann <andreas.devel@googlemail.com> | 2014-06-12 22:07:52 +0200 |
---|---|---|
committer | Andreas Bießmann <andreas.devel@googlemail.com> | 2014-06-14 18:06:58 +0200 |
commit | 0e05543576b460afff506a169dfdaa6f02bde5c6 (patch) | |
tree | af1a8f951ff7509d99550bab33ba4a7e3d44eea3 /arch/avr32/include/asm | |
parent | 0a26e1d6c394aacbf1153977b7348d1dff85db3f (diff) |
avr32: migrate cache functions
Unfortunately the avr32 cache implementation has another API than the one
described in common.h. Migrate the flush/invalidate dcache functions to the
common API to be usable in device drivers.
Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
CC: Josh Wu <josh.wu@atmel.com>
Diffstat (limited to 'arch/avr32/include/asm')
-rw-r--r-- | arch/avr32/include/asm/arch-at32ap700x/cacheflush.h | 2 | ||||
-rw-r--r-- | arch/avr32/include/asm/dma-mapping.h | 6 |
2 files changed, 4 insertions, 4 deletions
diff --git a/arch/avr32/include/asm/arch-at32ap700x/cacheflush.h b/arch/avr32/include/asm/arch-at32ap700x/cacheflush.h index 13d6d3aed3..e08cd9de6d 100644 --- a/arch/avr32/include/asm/arch-at32ap700x/cacheflush.h +++ b/arch/avr32/include/asm/arch-at32ap700x/cacheflush.h @@ -49,9 +49,7 @@ static inline void icache_invalidate_line(volatile void *vaddr) * Applies the above functions on all lines that are touched by the * specified virtual address range. */ -void dcache_invalidate_range(volatile void *start, size_t len); void dcache_clean_range(volatile void *start, size_t len); -void dcache_flush_range(volatile void *start, size_t len); void icache_invalidate_range(volatile void *start, size_t len); static inline void dcache_flush_unlocked(void) diff --git a/arch/avr32/include/asm/dma-mapping.h b/arch/avr32/include/asm/dma-mapping.h index 95ea81ff5e..dbdd2fee38 100644 --- a/arch/avr32/include/asm/dma-mapping.h +++ b/arch/avr32/include/asm/dma-mapping.h @@ -23,13 +23,15 @@ static inline unsigned long dma_map_single(volatile void *vaddr, size_t len, switch (dir) { case DMA_BIDIRECTIONAL: - dcache_flush_range(vaddr, len); + flush_dcache_range((unsigned long)vaddr, + (unsigned long)vaddr + len); break; case DMA_TO_DEVICE: dcache_clean_range(vaddr, len); break; case DMA_FROM_DEVICE: - dcache_invalidate_range(vaddr, len); + invalidate_dcache_range((unsigned long)vaddr, + (unsigned long)vaddr + len); break; default: /* This will cause a linker error */ |