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