aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/avr32/mm/dma-coherent.c6
-rw-r--r--arch/mips/mm/cache.c2
-rw-r--r--arch/sh/drivers/pci/dma-dreamcast.c2
-rw-r--r--arch/sh/mm/consistent.c8
-rw-r--r--arch/sh64/mm/consistent.c3
5 files changed, 10 insertions, 11 deletions
diff --git a/arch/avr32/mm/dma-coherent.c b/arch/avr32/mm/dma-coherent.c
index 099212d4567c..177fea8f7b71 100644
--- a/arch/avr32/mm/dma-coherent.c
+++ b/arch/avr32/mm/dma-coherent.c
@@ -21,13 +21,13 @@ void dma_cache_sync(struct device *dev, void *vaddr, size_t size, int direction)
21 21
22 switch (direction) { 22 switch (direction) {
23 case DMA_FROM_DEVICE: /* invalidate only */ 23 case DMA_FROM_DEVICE: /* invalidate only */
24 dma_cache_inv(vaddr, size); 24 invalidate_dcache_region(vaddr, size);
25 break; 25 break;
26 case DMA_TO_DEVICE: /* writeback only */ 26 case DMA_TO_DEVICE: /* writeback only */
27 dma_cache_wback(vaddr, size); 27 clean_dcache_region(vaddr, size);
28 break; 28 break;
29 case DMA_BIDIRECTIONAL: /* writeback and invalidate */ 29 case DMA_BIDIRECTIONAL: /* writeback and invalidate */
30 dma_cache_wback_inv(vaddr, size); 30 flush_dcache_region(vaddr, size);
31 break; 31 break;
32 default: 32 default:
33 BUG(); 33 BUG();
diff --git a/arch/mips/mm/cache.c b/arch/mips/mm/cache.c
index 43dde874f414..81f30ac2bff9 100644
--- a/arch/mips/mm/cache.c
+++ b/arch/mips/mm/cache.c
@@ -47,8 +47,6 @@ void (*_dma_cache_wback)(unsigned long start, unsigned long size);
47void (*_dma_cache_inv)(unsigned long start, unsigned long size); 47void (*_dma_cache_inv)(unsigned long start, unsigned long size);
48 48
49EXPORT_SYMBOL(_dma_cache_wback_inv); 49EXPORT_SYMBOL(_dma_cache_wback_inv);
50EXPORT_SYMBOL(_dma_cache_wback);
51EXPORT_SYMBOL(_dma_cache_inv);
52 50
53#endif /* CONFIG_DMA_NONCOHERENT */ 51#endif /* CONFIG_DMA_NONCOHERENT */
54 52
diff --git a/arch/sh/drivers/pci/dma-dreamcast.c b/arch/sh/drivers/pci/dma-dreamcast.c
index 230d6ec0d239..888a34050599 100644
--- a/arch/sh/drivers/pci/dma-dreamcast.c
+++ b/arch/sh/drivers/pci/dma-dreamcast.c
@@ -51,7 +51,7 @@ void *dreamcast_consistent_alloc(struct device *dev, size_t size,
51 buf = P2SEGADDR(buf); 51 buf = P2SEGADDR(buf);
52 52
53 /* Flush the dcache before we hand off the buffer */ 53 /* Flush the dcache before we hand off the buffer */
54 dma_cache_wback_inv((void *)buf, size); 54 __flush_purge_region((void *)buf, size);
55 55
56 return (void *)buf; 56 return (void *)buf;
57} 57}
diff --git a/arch/sh/mm/consistent.c b/arch/sh/mm/consistent.c
index 38c82d890ffd..e220c29a3c00 100644
--- a/arch/sh/mm/consistent.c
+++ b/arch/sh/mm/consistent.c
@@ -34,7 +34,7 @@ void *consistent_alloc(gfp_t gfp, size_t size, dma_addr_t *handle)
34 /* 34 /*
35 * We must flush the cache before we pass it on to the device 35 * We must flush the cache before we pass it on to the device
36 */ 36 */
37 dma_cache_wback_inv(ret, size); 37 __flush_purge_region(ret, size);
38 38
39 page = virt_to_page(ret); 39 page = virt_to_page(ret);
40 free = page + (size >> PAGE_SHIFT); 40 free = page + (size >> PAGE_SHIFT);
@@ -68,13 +68,13 @@ void consistent_sync(void *vaddr, size_t size, int direction)
68 68
69 switch (direction) { 69 switch (direction) {
70 case DMA_FROM_DEVICE: /* invalidate only */ 70 case DMA_FROM_DEVICE: /* invalidate only */
71 dma_cache_inv(p1addr, size); 71 __flush_invalidate_region(p1addr, size);
72 break; 72 break;
73 case DMA_TO_DEVICE: /* writeback only */ 73 case DMA_TO_DEVICE: /* writeback only */
74 dma_cache_wback(p1addr, size); 74 __flush_wback_region(p1addr, size);
75 break; 75 break;
76 case DMA_BIDIRECTIONAL: /* writeback and invalidate */ 76 case DMA_BIDIRECTIONAL: /* writeback and invalidate */
77 dma_cache_wback_inv(p1addr, size); 77 __flush_purge_region(p1addr, size);
78 break; 78 break;
79 default: 79 default:
80 BUG(); 80 BUG();
diff --git a/arch/sh64/mm/consistent.c b/arch/sh64/mm/consistent.c
index 8875a2a40da7..c439620402cb 100644
--- a/arch/sh64/mm/consistent.c
+++ b/arch/sh64/mm/consistent.c
@@ -11,6 +11,7 @@
11#include <linux/mm.h> 11#include <linux/mm.h>
12#include <linux/string.h> 12#include <linux/string.h>
13#include <linux/pci.h> 13#include <linux/pci.h>
14#include <linux/dma-mapping.h>
14#include <linux/module.h> 15#include <linux/module.h>
15#include <asm/io.h> 16#include <asm/io.h>
16 17
@@ -32,7 +33,7 @@ void *consistent_alloc(struct pci_dev *hwdev, size_t size,
32 if (vp != NULL) { 33 if (vp != NULL) {
33 memset(vp, 0, size); 34 memset(vp, 0, size);
34 *dma_handle = virt_to_phys(ret); 35 *dma_handle = virt_to_phys(ret);
35 dma_cache_wback_inv((unsigned long)ret, size); 36 dma_cache_sync(NULL, ret, size, DMA_BIDIRECTIONAL);
36 } 37 }
37 38
38 return vp; 39 return vp;