blob: ad28682638678f6bbaf5cf73928c143147130356 [file] [log] [blame]
Christoph Hellwigc5cd0372017-12-23 10:56:51 +01001/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _ASM_GENERIC_DMA_MAPPING_H
3#define _ASM_GENERIC_DMA_MAPPING_H
4
5static inline const struct dma_map_ops *get_arch_dma_ops(struct bus_type *bus)
6{
Christoph Hellwig782e6762018-04-16 15:24:51 +02007 /*
8 * Use the non-coherent ops if available. If an architecture wants a
9 * more fine-grained selection of operations it will have to implement
10 * get_arch_dma_ops itself or use the per-device dma_ops.
11 */
12#ifdef CONFIG_DMA_NONCOHERENT_OPS
13 return &dma_noncoherent_ops;
14#else
Christoph Hellwig002e6742018-01-09 16:30:23 +010015 return &dma_direct_ops;
Christoph Hellwig782e6762018-04-16 15:24:51 +020016#endif
Christoph Hellwigc5cd0372017-12-23 10:56:51 +010017}
18
19#endif /* _ASM_GENERIC_DMA_MAPPING_H */