diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/avr32/mm/dma-coherent.c | 6 | ||||
-rw-r--r-- | arch/mips/mm/cache.c | 2 | ||||
-rw-r--r-- | arch/sh/drivers/pci/dma-dreamcast.c | 2 | ||||
-rw-r--r-- | arch/sh/mm/consistent.c | 8 | ||||
-rw-r--r-- | arch/sh64/mm/consistent.c | 3 |
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); | |||
47 | void (*_dma_cache_inv)(unsigned long start, unsigned long size); | 47 | void (*_dma_cache_inv)(unsigned long start, unsigned long size); |
48 | 48 | ||
49 | EXPORT_SYMBOL(_dma_cache_wback_inv); | 49 | EXPORT_SYMBOL(_dma_cache_wback_inv); |
50 | EXPORT_SYMBOL(_dma_cache_wback); | ||
51 | EXPORT_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; |