1#ifndef _M68K_DMA_MAPPING_H 2#define _M68K_DMA_MAPPING_H 3 4#include <asm/cache.h> 5 6struct scatterlist; 7 8#ifndef CONFIG_MMU_SUN3 9static inline int dma_supported(struct device *dev, u64 mask) 10{ 11 return 1; 12} 13 14static inline int dma_set_mask(struct device *dev, u64 mask) 15{ 16 return 0; 17} 18 19static inline int dma_get_cache_alignment(void) 20{ 21 return 1 << L1_CACHE_SHIFT; 22} 23 24static inline int dma_is_consistent(struct device *dev, dma_addr_t dma_addr) 25{ 26 return 0; 27} 28 29extern void *dma_alloc_coherent(struct device *, size_t, 30 dma_addr_t *, gfp_t); 31extern void dma_free_coherent(struct device *, size_t, 32 void *, dma_addr_t); 33 34static inline void *dma_alloc_noncoherent(struct device *dev, size_t size, 35 dma_addr_t *handle, gfp_t flag) 36{ 37 return dma_alloc_coherent(dev, size, handle, flag); 38} 39static inline void dma_free_noncoherent(struct device *dev, size_t size, 40 void *addr, dma_addr_t handle) 41{ 42 dma_free_coherent(dev, size, addr, handle); 43} 44static inline void dma_cache_sync(struct device *dev, void *vaddr, size_t size, 45 enum dma_data_direction dir) 46{ 47 /* we use coherent allocation, so not much to do here. */ 48} 49 50extern dma_addr_t dma_map_single(struct device *, void *, size_t, 51 enum dma_data_direction); 52static inline void dma_unmap_single(struct device *dev, dma_addr_t addr, 53 size_t size, enum dma_data_direction dir) 54{ 55} 56 57extern dma_addr_t dma_map_page(struct device *, struct page *, 58 unsigned long, size_t size, 59 enum dma_data_direction); 60static inline void dma_unmap_page(struct device *dev, dma_addr_t address, 61 size_t size, enum dma_data_direction dir) 62{ 63} 64 65extern int dma_map_sg(struct device *, struct scatterlist *, int, 66 enum dma_data_direction); 67static inline void dma_unmap_sg(struct device *dev, struct scatterlist *sg, 68 int nhwentries, enum dma_data_direction dir) 69{ 70} 71 72extern void dma_sync_single_for_device(struct device *, dma_addr_t, size_t, 73 enum dma_data_direction); 74extern void dma_sync_sg_for_device(struct device *, struct scatterlist *, int, 75 enum dma_data_direction); 76 77static inline void dma_sync_single_for_cpu(struct device *dev, dma_addr_t handle, 78 size_t size, enum dma_data_direction dir) 79{ 80} 81 82static inline void dma_sync_sg_for_cpu(struct device *dev, struct scatterlist *sg, 83 int nents, enum dma_data_direction dir) 84{ 85} 86 87static inline int dma_mapping_error(dma_addr_t handle) 88{ 89 return 0; 90} 91 92#else 93#include <asm-generic/dma-mapping-broken.h> 94#endif 95 96#endif /* _M68K_DMA_MAPPING_H */ 97