xref: /openbmc/linux/arch/arm/mm/dma.h (revision a06c488d)
1 #ifndef DMA_H
2 #define DMA_H
3 
4 #include <asm/glue-cache.h>
5 
6 #ifndef MULTI_CACHE
7 #define dmac_map_area			__glue(_CACHE,_dma_map_area)
8 #define dmac_unmap_area 		__glue(_CACHE,_dma_unmap_area)
9 
10 /*
11  * These are private to the dma-mapping API.  Do not use directly.
12  * Their sole purpose is to ensure that data held in the cache
13  * is visible to DMA, or data written by DMA to system memory is
14  * visible to the CPU.
15  */
16 extern void dmac_map_area(const void *, size_t, int);
17 extern void dmac_unmap_area(const void *, size_t, int);
18 
19 #else
20 
21 /*
22  * These are private to the dma-mapping API.  Do not use directly.
23  * Their sole purpose is to ensure that data held in the cache
24  * is visible to DMA, or data written by DMA to system memory is
25  * visible to the CPU.
26  */
27 #define dmac_map_area			cpu_cache.dma_map_area
28 #define dmac_unmap_area 		cpu_cache.dma_unmap_area
29 
30 #endif
31 
32 #endif
33