aacvar.h (111979) | aacvar.h (112679) |
---|---|
1/*- 2 * Copyright (c) 2000 Michael Smith 3 * Copyright (c) 2001 Scott Long 4 * Copyright (c) 2000 BSDi 5 * Copyright (c) 2001 Adaptec, Inc. 6 * All rights reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 12 unchanged lines hidden (view full) --- 21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27 * SUCH DAMAGE. 28 * | 1/*- 2 * Copyright (c) 2000 Michael Smith 3 * Copyright (c) 2001 Scott Long 4 * Copyright (c) 2000 BSDi 5 * Copyright (c) 2001 Adaptec, Inc. 6 * All rights reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 12 unchanged lines hidden (view full) --- 21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27 * SUCH DAMAGE. 28 * |
29 * $FreeBSD: head/sys/dev/aac/aacvar.h 111979 2003-03-08 08:01:31Z phk $ | 29 * $FreeBSD: head/sys/dev/aac/aacvar.h 112679 2003-03-26 17:50:11Z scottl $ |
30 */ 31 32#include <sys/bio.h> 33#include <sys/lock.h> 34#include <sys/mutex.h> 35#include <sys/taskqueue.h> 36#include <sys/selinfo.h> 37 --- 180 unchanged lines hidden (view full) --- 218{ 219 int (*aif_get_fwstatus)(struct aac_softc *sc); 220 void (*aif_qnotify)(struct aac_softc *sc, int qbit); 221 int (*aif_get_istatus)(struct aac_softc *sc); 222 void (*aif_clr_istatus)(struct aac_softc *sc, int mask); 223 void (*aif_set_mailbox)(struct aac_softc *sc, u_int32_t command, 224 u_int32_t arg0, u_int32_t arg1, 225 u_int32_t arg2, u_int32_t arg3); | 30 */ 31 32#include <sys/bio.h> 33#include <sys/lock.h> 34#include <sys/mutex.h> 35#include <sys/taskqueue.h> 36#include <sys/selinfo.h> 37 --- 180 unchanged lines hidden (view full) --- 218{ 219 int (*aif_get_fwstatus)(struct aac_softc *sc); 220 void (*aif_qnotify)(struct aac_softc *sc, int qbit); 221 int (*aif_get_istatus)(struct aac_softc *sc); 222 void (*aif_clr_istatus)(struct aac_softc *sc, int mask); 223 void (*aif_set_mailbox)(struct aac_softc *sc, u_int32_t command, 224 u_int32_t arg0, u_int32_t arg1, 225 u_int32_t arg2, u_int32_t arg3); |
226 int (*aif_get_mailboxstatus)(struct aac_softc *sc); | 226 int (*aif_get_mailbox)(struct aac_softc *sc, int mb); |
227 void (*aif_set_interrupts)(struct aac_softc *sc, int enable); 228}; 229extern struct aac_interface aac_rx_interface; 230extern struct aac_interface aac_sa_interface; 231extern struct aac_interface aac_fa_interface; 232 233#define AAC_GET_FWSTATUS(sc) ((sc)->aac_if.aif_get_fwstatus((sc))) 234#define AAC_QNOTIFY(sc, qbit) ((sc)->aac_if.aif_qnotify((sc), (qbit))) 235#define AAC_GET_ISTATUS(sc) ((sc)->aac_if.aif_get_istatus((sc))) 236#define AAC_CLEAR_ISTATUS(sc, mask) ((sc)->aac_if.aif_clr_istatus((sc), \ 237 (mask))) 238#define AAC_SET_MAILBOX(sc, command, arg0, arg1, arg2, arg3) \ 239 ((sc)->aac_if.aif_set_mailbox((sc), (command), (arg0), (arg1), (arg2), \ 240 (arg3))) | 227 void (*aif_set_interrupts)(struct aac_softc *sc, int enable); 228}; 229extern struct aac_interface aac_rx_interface; 230extern struct aac_interface aac_sa_interface; 231extern struct aac_interface aac_fa_interface; 232 233#define AAC_GET_FWSTATUS(sc) ((sc)->aac_if.aif_get_fwstatus((sc))) 234#define AAC_QNOTIFY(sc, qbit) ((sc)->aac_if.aif_qnotify((sc), (qbit))) 235#define AAC_GET_ISTATUS(sc) ((sc)->aac_if.aif_get_istatus((sc))) 236#define AAC_CLEAR_ISTATUS(sc, mask) ((sc)->aac_if.aif_clr_istatus((sc), \ 237 (mask))) 238#define AAC_SET_MAILBOX(sc, command, arg0, arg1, arg2, arg3) \ 239 ((sc)->aac_if.aif_set_mailbox((sc), (command), (arg0), (arg1), (arg2), \ 240 (arg3))) |
241#define AAC_GET_MAILBOXSTATUS(sc) ((sc)->aac_if.aif_get_mailboxstatus( \ 242 (sc))) | 241#define AAC_GET_MAILBOX(sc, mb) ((sc)->aac_if.aif_get_mailbox((sc), \ 242 (mb))) |
243#define AAC_MASK_INTERRUPTS(sc) ((sc)->aac_if.aif_set_interrupts((sc), \ 244 0)) 245#define AAC_UNMASK_INTERRUPTS(sc) ((sc)->aac_if.aif_set_interrupts((sc), \ 246 1)) 247 248#define AAC_SETREG4(sc, reg, val) bus_space_write_4(sc->aac_btag, \ 249 sc->aac_bhandle, reg, val) 250#define AAC_GETREG4(sc, reg) bus_space_read_4 (sc->aac_btag, \ --- 101 unchanged lines hidden (view full) --- 352#define AAC_AIFFLAGS_RUNNING (1 << 0) 353#define AAC_AIFFLAGS_AIF (1 << 1) 354#define AAC_AIFFLAGS_EXIT (1 << 2) 355#define AAC_AIFFLAGS_EXITED (1 << 3) 356#define AAC_AIFFLAGS_PRINTF (1 << 4) 357#define AAC_AIFFLAGS_ALLOCFIBS (1 << 5) 358#define AAC_AIFFLAGS_PENDING (AAC_AIFFLAGS_AIF | AAC_AIFFLAGS_PRINTF | \ 359 AAC_AIFFLAGS_ALLOCFIBS) | 243#define AAC_MASK_INTERRUPTS(sc) ((sc)->aac_if.aif_set_interrupts((sc), \ 244 0)) 245#define AAC_UNMASK_INTERRUPTS(sc) ((sc)->aac_if.aif_set_interrupts((sc), \ 246 1)) 247 248#define AAC_SETREG4(sc, reg, val) bus_space_write_4(sc->aac_btag, \ 249 sc->aac_bhandle, reg, val) 250#define AAC_GETREG4(sc, reg) bus_space_read_4 (sc->aac_btag, \ --- 101 unchanged lines hidden (view full) --- 352#define AAC_AIFFLAGS_RUNNING (1 << 0) 353#define AAC_AIFFLAGS_AIF (1 << 1) 354#define AAC_AIFFLAGS_EXIT (1 << 2) 355#define AAC_AIFFLAGS_EXITED (1 << 3) 356#define AAC_AIFFLAGS_PRINTF (1 << 4) 357#define AAC_AIFFLAGS_ALLOCFIBS (1 << 5) 358#define AAC_AIFFLAGS_PENDING (AAC_AIFFLAGS_AIF | AAC_AIFFLAGS_PRINTF | \ 359 AAC_AIFFLAGS_ALLOCFIBS) |
360 u_int32_t quirks; 361#define AAC_QUIRK_PERC2QC (1 << 0) 362#define AAC_QUIRK_NOCAM (1 << 1) /* No SCSI passthrough */ 363#define AAC_QUIRK_CAM_NORESET (1 << 2) /* Fake SCSI resets */ 364#define AAC_QUIRK_CAM_PASSONLY (1 << 3) /* Only create pass devices */ | 360 u_int32_t flags; 361#define AAC_FLAGS_PERC2QC (1 << 0) 362#define AAC_FLAGS_ENABLE_CAM (1 << 1) /* No SCSI passthrough */ 363#define AAC_FLAGS_CAM_NORESET (1 << 2) /* Fake SCSI resets */ 364#define AAC_FLAGS_CAM_PASSONLY (1 << 3) /* Only create pass devices */ 365#define AAC_FLAGS_SG_64BIT (1 << 4) /* Use 64-bit S/G addresses */ 366#define AAC_FLAGS_4GB_WINDOW (1 << 5) /* Device can access host mem 367 * 2GB-4GB range */ 368#define AAC_FLAGS_NO4GB (1 << 6) /* Can't access host mem >2GB */ 369#define AAC_FLAGS_256FIBS (1 << 7) /* Can only do 256 commands */ |
365 | 370 |
371 u_int32_t supported_options; 372 int aac_max_fibs; |
|
366 u_int32_t scsi_method_id; 367 TAILQ_HEAD(,aac_sim) aac_sim_tqh; 368}; 369 370 371/* 372 * Public functions 373 */ --- 191 unchanged lines hidden --- | 373 u_int32_t scsi_method_id; 374 TAILQ_HEAD(,aac_sim) aac_sim_tqh; 375}; 376 377 378/* 379 * Public functions 380 */ --- 191 unchanged lines hidden --- |