diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2009-11-26 11:19:58 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-02-15 10:22:20 -0500 |
commit | a9c9147eb9b1dba0ce567a41897c7773b4d1b0bc (patch) | |
tree | 178938c909f4717c2e599d6f3de954d7ee8a7f21 /arch/arm/include | |
parent | 93f1d629e22b08642eb713ad96ac2cb9ade0641c (diff) |
ARM: dma-mapping: provide per-cpu type map/unmap functions
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Tested-By: Santosh Shilimkar <santosh.shilimkar@ti.com>
Diffstat (limited to 'arch/arm/include')
-rw-r--r-- | arch/arm/include/asm/cacheflush.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/arm/include/asm/cacheflush.h b/arch/arm/include/asm/cacheflush.h index 730aefcfbee..4c733236e34 100644 --- a/arch/arm/include/asm/cacheflush.h +++ b/arch/arm/include/asm/cacheflush.h | |||
@@ -213,6 +213,9 @@ struct cpu_cache_fns { | |||
213 | void (*coherent_user_range)(unsigned long, unsigned long); | 213 | void (*coherent_user_range)(unsigned long, unsigned long); |
214 | void (*flush_kern_dcache_area)(void *, size_t); | 214 | void (*flush_kern_dcache_area)(void *, size_t); |
215 | 215 | ||
216 | void (*dma_map_area)(const void *, size_t, int); | ||
217 | void (*dma_unmap_area)(const void *, size_t, int); | ||
218 | |||
216 | void (*dma_inv_range)(const void *, const void *); | 219 | void (*dma_inv_range)(const void *, const void *); |
217 | void (*dma_clean_range)(const void *, const void *); | 220 | void (*dma_clean_range)(const void *, const void *); |
218 | void (*dma_flush_range)(const void *, const void *); | 221 | void (*dma_flush_range)(const void *, const void *); |
@@ -244,6 +247,8 @@ extern struct cpu_cache_fns cpu_cache; | |||
244 | * is visible to DMA, or data written by DMA to system memory is | 247 | * is visible to DMA, or data written by DMA to system memory is |
245 | * visible to the CPU. | 248 | * visible to the CPU. |
246 | */ | 249 | */ |
250 | #define dmac_map_area cpu_cache.dma_map_area | ||
251 | #define dmac_unmap_area cpu_cache.dma_unmap_area | ||
247 | #define dmac_inv_range cpu_cache.dma_inv_range | 252 | #define dmac_inv_range cpu_cache.dma_inv_range |
248 | #define dmac_clean_range cpu_cache.dma_clean_range | 253 | #define dmac_clean_range cpu_cache.dma_clean_range |
249 | #define dmac_flush_range cpu_cache.dma_flush_range | 254 | #define dmac_flush_range cpu_cache.dma_flush_range |
@@ -270,10 +275,14 @@ extern void __cpuc_flush_dcache_area(void *, size_t); | |||
270 | * is visible to DMA, or data written by DMA to system memory is | 275 | * is visible to DMA, or data written by DMA to system memory is |
271 | * visible to the CPU. | 276 | * visible to the CPU. |
272 | */ | 277 | */ |
278 | #define dmac_map_area __glue(_CACHE,_dma_map_area) | ||
279 | #define dmac_unmap_area __glue(_CACHE,_dma_unmap_area) | ||
273 | #define dmac_inv_range __glue(_CACHE,_dma_inv_range) | 280 | #define dmac_inv_range __glue(_CACHE,_dma_inv_range) |
274 | #define dmac_clean_range __glue(_CACHE,_dma_clean_range) | 281 | #define dmac_clean_range __glue(_CACHE,_dma_clean_range) |
275 | #define dmac_flush_range __glue(_CACHE,_dma_flush_range) | 282 | #define dmac_flush_range __glue(_CACHE,_dma_flush_range) |
276 | 283 | ||
284 | extern void dmac_map_area(const void *, size_t, int); | ||
285 | extern void dmac_unmap_area(const void *, size_t, int); | ||
277 | extern void dmac_inv_range(const void *, const void *); | 286 | extern void dmac_inv_range(const void *, const void *); |
278 | extern void dmac_clean_range(const void *, const void *); | 287 | extern void dmac_clean_range(const void *, const void *); |
279 | extern void dmac_flush_range(const void *, const void *); | 288 | extern void dmac_flush_range(const void *, const void *); |