diff options
Diffstat (limited to 'arch/sparc/include/asm/dma-mapping.h')
-rw-r--r-- | arch/sparc/include/asm/dma-mapping.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/arch/sparc/include/asm/dma-mapping.h b/arch/sparc/include/asm/dma-mapping.h new file mode 100644 index 000000000..e17566376 --- /dev/null +++ b/arch/sparc/include/asm/dma-mapping.h @@ -0,0 +1,26 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef ___ASM_SPARC_DMA_MAPPING_H +#define ___ASM_SPARC_DMA_MAPPING_H + +#include <linux/scatterlist.h> +#include <linux/mm.h> +#include <linux/dma-debug.h> + +extern const struct dma_map_ops *dma_ops; + +extern struct bus_type pci_bus_type; + +static inline const struct dma_map_ops *get_arch_dma_ops(struct bus_type *bus) +{ +#ifdef CONFIG_SPARC_LEON + if (sparc_cpu_model == sparc_leon) + return &dma_noncoherent_ops; +#endif +#if defined(CONFIG_SPARC32) && defined(CONFIG_PCI) + if (bus == &pci_bus_type) + return &dma_noncoherent_ops; +#endif + return dma_ops; +} + +#endif |