1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 21234e3fdSRussell King #ifndef DMA_H 31234e3fdSRussell King #define DMA_H 41234e3fdSRussell King 51234e3fdSRussell King #include <asm/glue-cache.h> 61234e3fdSRussell King 71234e3fdSRussell King #ifndef MULTI_CACHE 81234e3fdSRussell King #define dmac_map_area __glue(_CACHE,_dma_map_area) 91234e3fdSRussell King #define dmac_unmap_area __glue(_CACHE,_dma_unmap_area) 101234e3fdSRussell King 111234e3fdSRussell King /* 121234e3fdSRussell King * These are private to the dma-mapping API. Do not use directly. 131234e3fdSRussell King * Their sole purpose is to ensure that data held in the cache 141234e3fdSRussell King * is visible to DMA, or data written by DMA to system memory is 151234e3fdSRussell King * visible to the CPU. 161234e3fdSRussell King */ 171234e3fdSRussell King extern void dmac_map_area(const void *, size_t, int); 181234e3fdSRussell King extern void dmac_unmap_area(const void *, size_t, int); 191234e3fdSRussell King 201234e3fdSRussell King #else 211234e3fdSRussell King 221234e3fdSRussell King /* 231234e3fdSRussell King * These are private to the dma-mapping API. Do not use directly. 241234e3fdSRussell King * Their sole purpose is to ensure that data held in the cache 251234e3fdSRussell King * is visible to DMA, or data written by DMA to system memory is 261234e3fdSRussell King * visible to the CPU. 271234e3fdSRussell King */ 281234e3fdSRussell King #define dmac_map_area cpu_cache.dma_map_area 291234e3fdSRussell King #define dmac_unmap_area cpu_cache.dma_unmap_area 301234e3fdSRussell King 311234e3fdSRussell King #endif 321234e3fdSRussell King 331234e3fdSRussell King #endif 34