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