diff options
author | Kevin Cernekee <cernekee@gmail.com> | 2009-04-23 20:25:12 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2009-06-17 06:06:24 -0400 |
commit | 3807ef3f61e094c9417d1a12f18d6b3c8e27d96f (patch) | |
tree | c0be5433db80a74dcc06930e9255b1836fd3a941 /arch/mips/mm/dma-default.c | |
parent | d3f634b96a86521f51bbaf04a81e34e7adb0eeb4 (diff) |
MIPS: Pass struct device to plat_dma_addr_to_phys()
Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/mm/dma-default.c')
-rw-r--r-- | arch/mips/mm/dma-default.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/arch/mips/mm/dma-default.c b/arch/mips/mm/dma-default.c index 30b108c5782b..7e48e76148aa 100644 --- a/arch/mips/mm/dma-default.c +++ b/arch/mips/mm/dma-default.c | |||
@@ -20,9 +20,10 @@ | |||
20 | 20 | ||
21 | #include <dma-coherence.h> | 21 | #include <dma-coherence.h> |
22 | 22 | ||
23 | static inline unsigned long dma_addr_to_virt(dma_addr_t dma_addr) | 23 | static inline unsigned long dma_addr_to_virt(struct device *dev, |
24 | dma_addr_t dma_addr) | ||
24 | { | 25 | { |
25 | unsigned long addr = plat_dma_addr_to_phys(dma_addr); | 26 | unsigned long addr = plat_dma_addr_to_phys(dev, dma_addr); |
26 | 27 | ||
27 | return (unsigned long)phys_to_virt(addr); | 28 | return (unsigned long)phys_to_virt(addr); |
28 | } | 29 | } |
@@ -170,7 +171,7 @@ void dma_unmap_single(struct device *dev, dma_addr_t dma_addr, size_t size, | |||
170 | enum dma_data_direction direction) | 171 | enum dma_data_direction direction) |
171 | { | 172 | { |
172 | if (cpu_is_noncoherent_r10000(dev)) | 173 | if (cpu_is_noncoherent_r10000(dev)) |
173 | __dma_sync(dma_addr_to_virt(dma_addr), size, | 174 | __dma_sync(dma_addr_to_virt(dev, dma_addr), size, |
174 | direction); | 175 | direction); |
175 | 176 | ||
176 | plat_unmap_dma_mem(dev, dma_addr, size, direction); | 177 | plat_unmap_dma_mem(dev, dma_addr, size, direction); |
@@ -246,7 +247,7 @@ void dma_sync_single_for_cpu(struct device *dev, dma_addr_t dma_handle, | |||
246 | if (cpu_is_noncoherent_r10000(dev)) { | 247 | if (cpu_is_noncoherent_r10000(dev)) { |
247 | unsigned long addr; | 248 | unsigned long addr; |
248 | 249 | ||
249 | addr = dma_addr_to_virt(dma_handle); | 250 | addr = dma_addr_to_virt(dev, dma_handle); |
250 | __dma_sync(addr, size, direction); | 251 | __dma_sync(addr, size, direction); |
251 | } | 252 | } |
252 | } | 253 | } |
@@ -262,7 +263,7 @@ void dma_sync_single_for_device(struct device *dev, dma_addr_t dma_handle, | |||
262 | if (!plat_device_is_coherent(dev)) { | 263 | if (!plat_device_is_coherent(dev)) { |
263 | unsigned long addr; | 264 | unsigned long addr; |
264 | 265 | ||
265 | addr = dma_addr_to_virt(dma_handle); | 266 | addr = dma_addr_to_virt(dev, dma_handle); |
266 | __dma_sync(addr, size, direction); | 267 | __dma_sync(addr, size, direction); |
267 | } | 268 | } |
268 | } | 269 | } |
@@ -277,7 +278,7 @@ void dma_sync_single_range_for_cpu(struct device *dev, dma_addr_t dma_handle, | |||
277 | if (cpu_is_noncoherent_r10000(dev)) { | 278 | if (cpu_is_noncoherent_r10000(dev)) { |
278 | unsigned long addr; | 279 | unsigned long addr; |
279 | 280 | ||
280 | addr = dma_addr_to_virt(dma_handle); | 281 | addr = dma_addr_to_virt(dev, dma_handle); |
281 | __dma_sync(addr + offset, size, direction); | 282 | __dma_sync(addr + offset, size, direction); |
282 | } | 283 | } |
283 | } | 284 | } |
@@ -293,7 +294,7 @@ void dma_sync_single_range_for_device(struct device *dev, dma_addr_t dma_handle, | |||
293 | if (!plat_device_is_coherent(dev)) { | 294 | if (!plat_device_is_coherent(dev)) { |
294 | unsigned long addr; | 295 | unsigned long addr; |
295 | 296 | ||
296 | addr = dma_addr_to_virt(dma_handle); | 297 | addr = dma_addr_to_virt(dev, dma_handle); |
297 | __dma_sync(addr + offset, size, direction); | 298 | __dma_sync(addr + offset, size, direction); |
298 | } | 299 | } |
299 | } | 300 | } |