mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-16 12:46:55 +07:00
356da6d0cd
Avoid expensive indirect calls in the fast path DMA mapping operations by directly calling the dma_direct_* ops if we are using the directly mapped DMA operations. Signed-off-by: Christoph Hellwig <hch@lst.de> Acked-by: Jesper Dangaard Brouer <brouer@redhat.com> Tested-by: Jesper Dangaard Brouer <brouer@redhat.com> Tested-by: Tony Luck <tony.luck@intel.com>
25 lines
509 B
C
25 lines
509 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef ___ASM_SPARC_DMA_MAPPING_H
|
|
#define ___ASM_SPARC_DMA_MAPPING_H
|
|
|
|
#include <asm/cpu_type.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 NULL;
|
|
#endif
|
|
#if defined(CONFIG_SPARC32) && defined(CONFIG_PCI)
|
|
if (bus == &pci_bus_type)
|
|
return NULL;
|
|
#endif
|
|
return dma_ops;
|
|
}
|
|
|
|
#endif
|