blob: aaef64b7f1775367ec5b2fe31e33acb252d81488 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
Russell King1234e3f2015-07-24 09:10:55 +01002#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 */
17extern void dmac_map_area(const void *, size_t, int);
18extern 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