idavar.h (138853) | idavar.h (144991) |
---|---|
1/*- 2 * Copyright (c) 1999,2000 Jonathan Lemon 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 9 unchanged lines hidden (view full) --- 18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 * | 1/*- 2 * Copyright (c) 1999,2000 Jonathan Lemon 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 9 unchanged lines hidden (view full) --- 18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 * |
26 * $FreeBSD: head/sys/dev/ida/idavar.h 138853 2004-12-14 17:45:30Z mdodd $ | 26 * $FreeBSD: head/sys/dev/ida/idavar.h 144991 2005-04-13 05:06:57Z mdodd $ |
27 */ 28 29/* 30 * software structures for the Compaq RAID controller 31 */ 32 33#ifndef _IDAVAR_H 34#define _IDAVAR_H --- 37 unchanged lines hidden (view full) --- 72 73/* 74 * right now, this structure totals 276 bytes. 75 */ 76struct ida_hardware_qcb { 77 struct ida_hdr hdr; /* 4 */ 78 struct ida_req req; /* 12 */ 79 struct ida_sgb seg[IDA_NSEG]; /* 256 */ | 27 */ 28 29/* 30 * software structures for the Compaq RAID controller 31 */ 32 33#ifndef _IDAVAR_H 34#define _IDAVAR_H --- 37 unchanged lines hidden (view full) --- 72 73/* 74 * right now, this structure totals 276 bytes. 75 */ 76struct ida_hardware_qcb { 77 struct ida_hdr hdr; /* 4 */ 78 struct ida_req req; /* 12 */ 79 struct ida_sgb seg[IDA_NSEG]; /* 256 */ |
80 struct ida_qcb *qcb; /* 4 - qcb backpointer */ | 80 struct ida_qcb *qcb; /* 4 - qcb backpointer */ |
81}; 82 83typedef enum { 84 QCB_FREE = 0x0000, 85 QCB_ACTIVE = 0x0001, /* waiting for completion */ 86} qcb_state; 87 88#define DMA_DATA_IN 0x0001 --- 23 unchanged lines hidden (view full) --- 112 int (*fifo_full)(struct ida_softc *); 113 void (*submit)(struct ida_softc *, struct ida_qcb *); 114 bus_addr_t (*done)(struct ida_softc *); 115 int (*int_pending)(struct ida_softc *); 116 void (*int_enable)(struct ida_softc *, int); 117}; 118 119/* | 81}; 82 83typedef enum { 84 QCB_FREE = 0x0000, 85 QCB_ACTIVE = 0x0001, /* waiting for completion */ 86} qcb_state; 87 88#define DMA_DATA_IN 0x0001 --- 23 unchanged lines hidden (view full) --- 112 int (*fifo_full)(struct ida_softc *); 113 void (*submit)(struct ida_softc *, struct ida_qcb *); 114 bus_addr_t (*done)(struct ida_softc *); 115 int (*int_pending)(struct ida_softc *); 116 void (*int_enable)(struct ida_softc *, int); 117}; 118 119/* |
120 * flags for the controller | 120 * flags for the controller |
121 */ 122#define IDA_ATTACHED 0x01 /* attached */ 123#define IDA_FIRMWARE 0x02 /* firmware must be started */ 124#define IDA_INTERRUPTS 0x04 /* interrupts enabled */ 125 126struct ida_softc { 127 device_t dev; 128 int unit; --- 63 unchanged lines hidden (view full) --- 192 int flags; 193}; 194 195extern int ida_detach(device_t dev); 196extern struct ida_softc *ida_alloc(device_t dev, struct resource *regs, 197 int regs_type, int regs_id, bus_dma_tag_t parent_dmat); 198extern void ida_free(struct ida_softc *ida); 199extern int ida_init(struct ida_softc *ida); | 121 */ 122#define IDA_ATTACHED 0x01 /* attached */ 123#define IDA_FIRMWARE 0x02 /* firmware must be started */ 124#define IDA_INTERRUPTS 0x04 /* interrupts enabled */ 125 126struct ida_softc { 127 device_t dev; 128 int unit; --- 63 unchanged lines hidden (view full) --- 192 int flags; 193}; 194 195extern int ida_detach(device_t dev); 196extern struct ida_softc *ida_alloc(device_t dev, struct resource *regs, 197 int regs_type, int regs_id, bus_dma_tag_t parent_dmat); 198extern void ida_free(struct ida_softc *ida); 199extern int ida_init(struct ida_softc *ida); |
200extern void ida_attach(struct ida_softc *ida); | 200extern void ida_attach(struct ida_softc *ida); |
201extern int ida_command(struct ida_softc *ida, int command, void *data, 202 int datasize, int drive, u_int32_t pblkno, int flags); 203extern void ida_submit_buf(struct ida_softc *ida, struct bio *bp); 204extern void ida_intr(void *data); 205 206extern void idad_intr(struct bio *bp); 207 208#endif /* _IDAVAR_H */ | 201extern int ida_command(struct ida_softc *ida, int command, void *data, 202 int datasize, int drive, u_int32_t pblkno, int flags); 203extern void ida_submit_buf(struct ida_softc *ida, struct bio *bp); 204extern void ida_intr(void *data); 205 206extern void idad_intr(struct bio *bp); 207 208#endif /* _IDAVAR_H */ |