diff options
Diffstat (limited to 'sys/arch/macppc/include')
-rw-r--r-- | sys/arch/macppc/include/bus.h | 23 |
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 */ }; |