mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00

After we removed all the dead wood it turns out only two architectures actually implement dma_cache_sync as a real op: mips and parisc. Add a cache_sync method to struct dma_map_ops and implement it for the mips defualt DMA ops, and the parisc pa11 ops. Note that arm, arc and openrisc support DMA_ATTR_NON_CONSISTENT, but never provided a functional dma_cache_sync implementations, which seems somewhat odd. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Robin Murphy <robin.murphy@arm.com>
26 lines
593 B
C
26 lines
593 B
C
#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 const struct dma_map_ops pci32_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 &pci32_dma_ops;
|
|
#endif
|
|
#if defined(CONFIG_SPARC32) && defined(CONFIG_PCI)
|
|
if (bus == &pci_bus_type)
|
|
return &pci32_dma_ops;
|
|
#endif
|
|
return dma_ops;
|
|
}
|
|
|
|
#endif
|