summaryrefslogtreecommitdiff
path: root/sys/arch/macppc/include/bus.h
diff options
context:
space:
mode:
authorArtur Grabowski <art@cvs.openbsd.org>2001-11-05 17:25:59 +0000
committerArtur Grabowski <art@cvs.openbsd.org>2001-11-05 17:25:59 +0000
commit85530efaf7a6a42f72dd88dd2812fc34f33a931e (patch)
treefe27ed806015eba36ede599b284de31066d02abb /sys/arch/macppc/include/bus.h
parent6278fb02068a0fc75a8a6ecb4ed0a3292aad76ab (diff)
Switch everything to the new bus_dmamap_sync API.
Most work by Wilbern Cobb <vedge@csoft.org> with some fixes from me, mickey@ and drahn@.
Diffstat (limited to 'sys/arch/macppc/include/bus.h')
-rw-r--r--sys/arch/macppc/include/bus.h23
1 files changed, 12 insertions, 11 deletions
diff --git a/sys/arch/macppc/include/bus.h b/sys/arch/macppc/include/bus.h
index eb4904a0ad5..91243530911 100644
--- a/sys/arch/macppc/include/bus.h
+++ b/sys/arch/macppc/include/bus.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: bus.h,v 1.1 2001/09/01 15:49:06 drahn Exp $ */
+/* $OpenBSD: bus.h,v 1.2 2001/11/05 17:25:58 art Exp $ */
/*
* Copyright (c) 1997 Per Fogelstrom. All rights reserved.
@@ -393,12 +393,10 @@ struct mbuf;
struct proc;
struct uio;
-typedef enum {
- BUS_DMASYNC_POSTREAD,
- BUS_DMASYNC_POSTWRITE,
- BUS_DMASYNC_PREREAD,
- BUS_DMASYNC_PREWRITE
-} bus_dmasync_op_t;
+#define BUS_DMASYNC_POSTREAD 0x01
+#define BUS_DMASYNC_POSTWRITE 0x02
+#define BUS_DMASYNC_PREREAD 0x04
+#define BUS_DMASYNC_PREWRITE 0x08
typedef struct powerpc_bus_dma_tag *bus_dma_tag_t;
typedef struct powerpc_bus_dmamap *bus_dmamap_t;
@@ -440,7 +438,8 @@ struct powerpc_bus_dma_tag {
int (*_dmamap_load_raw) __P((bus_dma_tag_t , bus_dmamap_t,
bus_dma_segment_t *, int, bus_size_t, int));
void (*_dmamap_unload) __P((bus_dma_tag_t , bus_dmamap_t));
- void (*_dmamap_sync) __P((bus_dma_tag_t , bus_dmamap_t, bus_dmasync_op_t));
+ void (*_dmamap_sync) __P((bus_dma_tag_t , bus_dmamap_t,
+ bus_addr_t, bus_size_t, int));
/*
* DMA memory utility functions.
@@ -469,9 +468,9 @@ struct powerpc_bus_dma_tag {
(*(t)->_dmamap_load_raw)((t), (m), (sg), (n), (s), (f))
#define bus_dmamap_unload(t, p) \
(*(t)->_dmamap_unload)((t), (p))
-#define bus_dmamap_sync(t, p, o) \
+#define bus_dmamap_sync(t, p, a, l, o) \
(void)((t)->_dmamap_sync ? \
- (*(t)->_dmamap_sync)((t), (p), (o)) : (void)0)
+ (*(t)->_dmamap_sync)((t), (p), (a), (l), (o)) : (void)0)
#define bus_dmamem_alloc(t, s, a, b, sg, n, r, f) \
(*(t)->_dmamem_alloc)((t)->_cookie, (s), (a), (b), (sg), (n), (r), (f))
@@ -494,7 +493,8 @@ int _dmamap_load_uio __P((bus_dma_tag_t, bus_dmamap_t, struct uio *, int));
int _dmamap_load_raw __P((bus_dma_tag_t, bus_dmamap_t,
bus_dma_segment_t *, int, bus_size_t, int));
void _dmamap_unload __P((bus_dma_tag_t, bus_dmamap_t));
-void _dmamap_sync __P((bus_dma_tag_t, bus_dmamap_t, bus_dmasync_op_t));
+void _dmamap_sync __P((bus_dma_tag_t, bus_dmamap_t, bus_addr_t, bus_size_t,
+ int));
int _dmamem_alloc __P((bus_dma_tag_t, bus_size_t, bus_size_t,
bus_size_t, bus_dma_segment_t *, int, int *, int));
@@ -524,6 +524,7 @@ struct powerpc_bus_dmamap {
/*
* PUBLIC MEMBERS: these are used by machine-independent code.
*/
+ bus_size_t dm_mapsize; /* size of the mapping */
int dm_nsegs; /* # valid segments in mapping */
bus_dma_segment_t dm_segs[1]; /* segments; variable length */
};