aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-m68k
diff options
context:
space:
mode:
authorRoman Zippel <zippel@linux-m68k.org>2006-06-25 08:46:56 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-06-25 13:00:56 -0400
commitb035c96b2da7258bb2bba31812b5f9dda3499f00 (patch)
tree46c6b4d3ca2351392d12658342e352cb8df0beb3 /include/asm-m68k
parent3921ee21e01ac5faecda640daa6071dc8f0e29c9 (diff)
[PATCH] m68k: Add the generic dma API functions
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.h62
-rw-r--r--include/asm-m68k/scatterlist.h9
2 files changed, 61 insertions, 10 deletions
diff --git a/include/asm-m68k/dma-mapping.h b/include/asm-m68k/dma-mapping.h
index dffd59cf1364..4f8575edd81d 100644
--- a/include/asm-m68k/dma-mapping.h
+++ b/include/asm-m68k/dma-mapping.h
@@ -1,11 +1,63 @@
1#ifndef _M68K_DMA_MAPPING_H 1#ifndef _M68K_DMA_MAPPING_H
2#define _M68K_DMA_MAPPING_H 2#define _M68K_DMA_MAPPING_H
3 3
4struct scatterlist;
4 5
5#ifdef CONFIG_PCI 6static inline int dma_supported(struct device *dev, u64 mask)
6#include <asm-generic/dma-mapping.h> 7{
7#else 8 return 1;
8#include <asm-generic/dma-mapping-broken.h> 9}
9#endif 10
11static inline int dma_set_mask(struct device *dev, u64 mask)
12{
13 return 0;
14}
15
16extern void *dma_alloc_coherent(struct device *, size_t,
17 dma_addr_t *, int);
18extern void dma_free_coherent(struct device *, size_t,
19 void *, dma_addr_t);
20
21extern dma_addr_t dma_map_single(struct device *, void *, size_t,
22 enum dma_data_direction);
23static inline void dma_unmap_single(struct device *dev, dma_addr_t addr,
24 size_t size, enum dma_data_direction dir)
25{
26}
27
28extern dma_addr_t dma_map_page(struct device *, struct page *,
29 unsigned long, size_t size,
30 enum dma_data_direction);
31static inline void dma_unmap_page(struct device *dev, dma_addr_t address,
32 size_t size, enum dma_data_direction dir)
33{
34}
35
36extern int dma_map_sg(struct device *, struct scatterlist *, int,
37 enum dma_data_direction);
38static inline void dma_unmap_sg(struct device *dev, struct scatterlist *sg,
39 int nhwentries, enum dma_data_direction dir)
40{
41}
42
43extern void dma_sync_single_for_device(struct device *, dma_addr_t, size_t,
44 enum dma_data_direction);
45extern void dma_sync_sg_for_device(struct device *, struct scatterlist *, int,
46 enum dma_data_direction);
47
48static inline void dma_sync_single_for_cpu(struct device *dev, dma_addr_t handle,
49 size_t size, enum dma_data_direction dir)
50{
51}
52
53static inline void dma_sync_sg_for_cpu(struct device *dev, struct scatterlist *sg,
54 int nents, enum dma_data_direction dir)
55{
56}
57
58static inline int dma_mapping_error(dma_addr_t handle)
59{
60 return 0;
61}
10 62
11#endif /* _M68K_DMA_MAPPING_H */ 63#endif /* _M68K_DMA_MAPPING_H */
diff --git a/include/asm-m68k/scatterlist.h b/include/asm-m68k/scatterlist.h
index d7c9b5c5e6c7..8e612266da51 100644
--- a/include/asm-m68k/scatterlist.h
+++ b/include/asm-m68k/scatterlist.h
@@ -2,18 +2,17 @@
2#define _M68K_SCATTERLIST_H 2#define _M68K_SCATTERLIST_H
3 3
4struct scatterlist { 4struct scatterlist {
5 /* These two are only valid if ADDRESS member of this
6 * struct is NULL.
7 */
8 struct page *page; 5 struct page *page;
9 unsigned int offset; 6 unsigned int offset;
10
11 unsigned int length; 7 unsigned int length;
12 8
13 __u32 dvma_address; /* A place to hang host-specific addresses at. */ 9 __u32 dma_address; /* A place to hang host-specific addresses at. */
14}; 10};
15 11
16/* This is bogus and should go away. */ 12/* This is bogus and should go away. */
17#define ISA_DMA_THRESHOLD (0x00ffffff) 13#define ISA_DMA_THRESHOLD (0x00ffffff)
18 14
15#define sg_dma_address(sg) ((sg)->dma_address)
16#define sg_dma_len(sg) ((sg)->length)
17
19#endif /* !(_M68K_SCATTERLIST_H) */ 18#endif /* !(_M68K_SCATTERLIST_H) */