aboutsummaryrefslogtreecommitdiff
path: root/sys/sparc64/include/bus_dma.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/sparc64/include/bus_dma.h')
-rw-r--r--sys/sparc64/include/bus_dma.h37
1 files changed, 21 insertions, 16 deletions
diff --git a/sys/sparc64/include/bus_dma.h b/sys/sparc64/include/bus_dma.h
index 5f981a7c1abf..7395794692a7 100644
--- a/sys/sparc64/include/bus_dma.h
+++ b/sys/sparc64/include/bus_dma.h
@@ -78,14 +78,17 @@
struct bus_dma_methods {
int (*dm_dmamap_create)(bus_dma_tag_t, int, bus_dmamap_t *);
int (*dm_dmamap_destroy)(bus_dma_tag_t, bus_dmamap_t);
- int (*dm_dmamap_load)(bus_dma_tag_t, bus_dmamap_t, void *,
- bus_size_t, bus_dmamap_callback_t *, void *, int);
- int (*dm_dmamap_load_mbuf)(bus_dma_tag_t, bus_dmamap_t,
- struct mbuf *, bus_dmamap_callback2_t *, void *, int);
- int (*dm_dmamap_load_mbuf_sg)(bus_dma_tag_t, bus_dmamap_t,
- struct mbuf *, bus_dma_segment_t *segs, int *nsegs, int);
- int (*dm_dmamap_load_uio)(bus_dma_tag_t, bus_dmamap_t, struct uio *,
- bus_dmamap_callback2_t *, void *, int);
+ int (*dm_dmamap_load_phys)(bus_dma_tag_t dmat, bus_dmamap_t map,
+ vm_paddr_t buf, bus_size_t buflen, int flags,
+ bus_dma_segment_t *segs, int *segp);
+ int (*dm_dmamap_load_buffer)(bus_dma_tag_t dmat, bus_dmamap_t map,
+ void *buf, bus_size_t buflen, struct pmap *pmap, int flags,
+ bus_dma_segment_t *segs, int *segp);
+ void (*dm_dmamap_waitok)(bus_dma_tag_t dmat, bus_dmamap_t map,
+ struct memdesc *mem, bus_dmamap_callback_t *callback,
+ void *callback_arg);
+ bus_dma_segment_t *(*dm_dmamap_complete)(bus_dma_tag_t dmat,
+ bus_dmamap_t map, bus_dma_segment_t *segs, int nsegs, int error);
void (*dm_dmamap_unload)(bus_dma_tag_t, bus_dmamap_t);
void (*dm_dmamap_sync)(bus_dma_tag_t, bus_dmamap_t,
bus_dmasync_op_t);
@@ -125,14 +128,16 @@ struct bus_dma_tag {
((t)->dt_mt->dm_dmamap_create((t), (f), (p)))
#define bus_dmamap_destroy(t, p) \
((t)->dt_mt->dm_dmamap_destroy((t), (p)))
-#define bus_dmamap_load(t, m, p, s, cb, cba, f) \
- ((t)->dt_mt->dm_dmamap_load((t), (m), (p), (s), (cb), (cba), (f)))
-#define bus_dmamap_load_mbuf(t, m, mb, cb, cba, f) \
- ((t)->dt_mt->dm_dmamap_load_mbuf((t), (m), (mb), (cb), (cba), (f)))
-#define bus_dmamap_load_mbuf_sg(t, m, mb, segs, nsegs, f) \
- ((t)->dt_mt->dm_dmamap_load_mbuf_sg((t), (m), (mb), (segs), (nsegs), (f)))
-#define bus_dmamap_load_uio(t, m, ui, cb, cba, f) \
- ((t)->dt_mt->dm_dmamap_load_uio((t), (m), (ui), (cb), (cba), (f)))
+#define _bus_dmamap_load_phys(t, m, b, l, f, s, sp) \
+ ((t)->dt_mt->dm_dmamap_load_phys((t), (m), (b), (l), \
+ (f), (s), (sp)))
+#define _bus_dmamap_load_buffer(t, m, b, l, p, f, s, sp) \
+ ((t)->dt_mt->dm_dmamap_load_buffer((t), (m), (b), (l), (p), \
+ (f), (s), (sp)))
+#define _bus_dmamap_waitok(t, m, mem, c, ca) \
+ ((t)->dt_mt->dm_dmamap_waitok((t), (m), (mem), (c), (ca)))
+#define _bus_dmamap_complete(t, m, s, n, e) \
+ ((t)->dt_mt->dm_dmamap_complete((t), (m), (s), (n), (e)))
#define bus_dmamap_unload(t, p) \
((t)->dt_mt->dm_dmamap_unload((t), (p)))
#define bus_dmamap_sync(t, m, op) \