diff options
author | Roman Zippel <zippel@linux-m68k.org> | 2006-06-25 05:46:57 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-25 10:00:56 -0700 |
commit | 742636f5bfd92ad67f4a48f4b7a2ac655797e0f3 (patch) | |
tree | c3c57dfa4745264b563f99fbb6edc6fa633f9e25 /include/asm-m68k | |
parent | b035c96b2da7258bb2bba31812b5f9dda3499f00 (diff) | |
download | lwn-742636f5bfd92ad67f4a48f4b7a2ac655797e0f3.tar.gz lwn-742636f5bfd92ad67f4a48f4b7a2ac655797e0f3.zip |
[PATCH] m68k: dma API addition
Additions to dma API with some small cleanups.
Signed-off-by: Richard Hirst <rhirst@levanta.com>
Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/asm-m68k')
-rw-r--r-- | include/asm-m68k/dma-mapping.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/include/asm-m68k/dma-mapping.h b/include/asm-m68k/dma-mapping.h index 4f8575edd81d..cebbb03370ec 100644 --- a/include/asm-m68k/dma-mapping.h +++ b/include/asm-m68k/dma-mapping.h @@ -1,6 +1,8 @@ #ifndef _M68K_DMA_MAPPING_H #define _M68K_DMA_MAPPING_H +#include <asm/cache.h> + struct scatterlist; static inline int dma_supported(struct device *dev, u64 mask) @@ -13,11 +15,37 @@ static inline int dma_set_mask(struct device *dev, u64 mask) return 0; } +static inline int dma_get_cache_alignment(void) +{ + return 1 << L1_CACHE_SHIFT; +} + +static inline int dma_is_consistent(dma_addr_t dma_addr) +{ + return 0; +} + extern void *dma_alloc_coherent(struct device *, size_t, dma_addr_t *, int); extern void dma_free_coherent(struct device *, size_t, void *, dma_addr_t); +static inline void *dma_alloc_noncoherent(struct device *dev, size_t size, + dma_addr_t *handle, int flag) +{ + return dma_alloc_coherent(dev, size, handle, flag); +} +static inline void dma_free_noncoherent(struct device *dev, size_t size, + void *addr, dma_addr_t handle) +{ + dma_free_coherent(dev, size, addr, handle); +} +static inline void dma_cache_sync(void *vaddr, size_t size, + enum dma_data_direction dir) +{ + /* we use coherent allocation, so not much to do here. */ +} + extern dma_addr_t dma_map_single(struct device *, void *, size_t, enum dma_data_direction); static inline void dma_unmap_single(struct device *dev, dma_addr_t addr, |