Loading...
1#ifndef __ASM_SH_DMA_MAPPING_H
2#define __ASM_SH_DMA_MAPPING_H
3
4extern struct dma_map_ops *dma_ops;
5extern void no_iommu_init(void);
6
7static inline struct dma_map_ops *get_dma_ops(struct device *dev)
8{
9 return dma_ops;
10}
11
12#define DMA_ERROR_CODE 0
13
14void dma_cache_sync(struct device *dev, void *vaddr, size_t size,
15 enum dma_data_direction dir);
16
17/* arch/sh/mm/consistent.c */
18extern void *dma_generic_alloc_coherent(struct device *dev, size_t size,
19 dma_addr_t *dma_addr, gfp_t flag,
20 struct dma_attrs *attrs);
21extern void dma_generic_free_coherent(struct device *dev, size_t size,
22 void *vaddr, dma_addr_t dma_handle,
23 struct dma_attrs *attrs);
24
25#endif /* __ASM_SH_DMA_MAPPING_H */
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef __ASM_SH_DMA_MAPPING_H
3#define __ASM_SH_DMA_MAPPING_H
4
5extern const struct dma_map_ops *dma_ops;
6extern void no_iommu_init(void);
7
8static inline const struct dma_map_ops *get_arch_dma_ops(struct bus_type *bus)
9{
10 return dma_ops;
11}
12
13extern void *dma_generic_alloc_coherent(struct device *dev, size_t size,
14 dma_addr_t *dma_addr, gfp_t flag,
15 unsigned long attrs);
16extern void dma_generic_free_coherent(struct device *dev, size_t size,
17 void *vaddr, dma_addr_t dma_handle,
18 unsigned long attrs);
19
20void sh_sync_dma_for_device(void *vaddr, size_t size,
21 enum dma_data_direction dir);
22
23#endif /* __ASM_SH_DMA_MAPPING_H */