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/mm/cache-v4wt.S | |
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/mm/cache-v4wt.S')
-rw-r--r-- | arch/arm/mm/cache-v4wt.S | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/arch/arm/mm/cache-v4wt.S b/arch/arm/mm/cache-v4wt.S index b3b7410270b4..3d8dad5b2650 100644 --- a/arch/arm/mm/cache-v4wt.S +++ b/arch/arm/mm/cache-v4wt.S | |||
@@ -172,6 +172,29 @@ ENTRY(v4wt_dma_clean_range) | |||
172 | .globl v4wt_dma_flush_range | 172 | .globl v4wt_dma_flush_range |
173 | .equ v4wt_dma_flush_range, v4wt_dma_inv_range | 173 | .equ v4wt_dma_flush_range, v4wt_dma_inv_range |
174 | 174 | ||
175 | /* | ||
176 | * dma_unmap_area(start, size, dir) | ||
177 | * - start - kernel virtual start address | ||
178 | * - size - size of region | ||
179 | * - dir - DMA direction | ||
180 | */ | ||
181 | ENTRY(v4wt_dma_unmap_area) | ||
182 | add r1, r1, r0 | ||
183 | teq r2, #DMA_TO_DEVICE | ||
184 | bne v4wt_dma_inv_range | ||
185 | /* FALLTHROUGH */ | ||
186 | |||
187 | /* | ||
188 | * dma_map_area(start, size, dir) | ||
189 | * - start - kernel virtual start address | ||
190 | * - size - size of region | ||
191 | * - dir - DMA direction | ||
192 | */ | ||
193 | ENTRY(v4wt_dma_map_area) | ||
194 | mov pc, lr | ||
195 | ENDPROC(v4wt_dma_unmap_area) | ||
196 | ENDPROC(v4wt_dma_map_area) | ||
197 | |||
175 | __INITDATA | 198 | __INITDATA |
176 | 199 | ||
177 | .type v4wt_cache_fns, #object | 200 | .type v4wt_cache_fns, #object |
@@ -182,6 +205,8 @@ ENTRY(v4wt_cache_fns) | |||
182 | .long v4wt_coherent_kern_range | 205 | .long v4wt_coherent_kern_range |
183 | .long v4wt_coherent_user_range | 206 | .long v4wt_coherent_user_range |
184 | .long v4wt_flush_kern_dcache_area | 207 | .long v4wt_flush_kern_dcache_area |
208 | .long v4wt_dma_map_area | ||
209 | .long v4wt_dma_unmap_area | ||
185 | .long v4wt_dma_inv_range | 210 | .long v4wt_dma_inv_range |
186 | .long v4wt_dma_clean_range | 211 | .long v4wt_dma_clean_range |
187 | .long v4wt_dma_flush_range | 212 | .long v4wt_dma_flush_range |