diff options
Diffstat (limited to 'sys/dev/isp/ispvar.h')
-rw-r--r-- | sys/dev/isp/ispvar.h | 80 |
1 files changed, 15 insertions, 65 deletions
diff --git a/sys/dev/isp/ispvar.h b/sys/dev/isp/ispvar.h index 222f77e9e9051..d1aeade78e4c9 100644 --- a/sys/dev/isp/ispvar.h +++ b/sys/dev/isp/ispvar.h @@ -1,5 +1,4 @@ -/* $Id: ispvar.h,v 1.7 1998/12/28 19:22:27 mjacob Exp $ */ -/* release_12_28_98_A+ */ +/* $FreeBSD$ */ /* * Soft Definitions for for Qlogic ISP SCSI adapters. * @@ -44,11 +43,11 @@ #include <dev/isp/ispmbox.h> #endif #ifdef __linux__ -#include "ispmbox.h" +#include <ispmbox.h> #endif #define ISP_CORE_VERSION_MAJOR 1 -#define ISP_CORE_VERSION_MINOR 5 +#define ISP_CORE_VERSION_MINOR 3 /* * Vector for MD code to provide specific services. @@ -78,7 +77,6 @@ struct ispmdvec { #define MAX_TARGETS 16 #define MAX_FC_TARG 126 -#define DEFAULT_LOOPID 113 /* queue length must be a power of two */ #define QENTRY_LEN 64 @@ -99,7 +97,7 @@ typedef struct { isp_data_line_active_neg: 1, isp_cmd_dma_burst_enable: 1, isp_data_dma_burst_enabl: 1, - isp_fifo_threshold : 3, + isp_fifo_threshold : 2, isp_diffmode : 1, isp_fast_mttr : 1, isp_initiator_id : 4, @@ -177,42 +175,6 @@ typedef struct { #define FW_REINIT 0x0006 #define FW_NON_PART 0x0007 -#ifdef ISP_TARGET_MODE -/* - * Some temporary Target Mode definitions - */ -typedef struct tmd_cmd { - u_int8_t cd_iid; /* initiator */ - u_int8_t cd_tgt; /* target */ - u_int8_t cd_lun; /* LUN for this command */ - u_int8_t cd_state; - u_int8_t cd_cdb[16]; /* command bytes */ - u_int8_t cd_sensedata[20]; - u_int16_t cd_rxid; - u_int32_t cd_datalen; - u_int32_t cd_totbytes; - void * cd_hba; -} tmd_cmd_t; - -/* - * Async Target Mode Event Definitions - */ -#define TMD_BUS_RESET 0 -#define TMD_BDR 1 - -/* - * Immediate Notify data structure. - */ -#define NOTIFY_MSGLEN 5 -typedef struct { - u_int8_t nt_iid; /* initiator */ - u_int8_t nt_tgt; /* target */ - u_int8_t nt_lun; /* LUN for this command */ - u_int8_t nt_msg[NOTIFY_MSGLEN]; /* SCSI message byte(s) */ -} tmd_notify_t; - -#endif - /* * Soft Structure per host adapter */ @@ -228,7 +190,7 @@ struct ispsoftc { struct ispmdvec * isp_mdvec; /* - * Mostly nonvolatile state, debugging, etc.. + * State, debugging, etc.. */ u_int : 8, @@ -281,28 +243,6 @@ struct ispsoftc { volatile caddr_t isp_result; u_int32_t isp_rquest_dma; u_int32_t isp_result_dma; - -#ifdef ISP_TARGET_MODE - /* - * Vectors for handling target mode support. - * - * isp_tmd_newcmd is for feeding a newly arrived command to some - * upper layer. - * - * isp_tmd_event is for notifying some upper layer that an event has - * occurred that is not necessarily tied to any target (e.g., a SCSI - * Bus Reset). - * - * isp_tmd_notify is for notifying some upper layer that some - * event is now occurring that is either pertinent for a specific - * device or for a specific command (e.g., BDR or ABORT TAG). - * - * It is left undefined (for now) how pools of commands are managed. - */ - void (*isp_tmd_newcmd) __P((void *, tmd_cmd_t *)); - void (*isp_tmd_event) __P((void *, int)); - void (*isp_tmd_notify) __P((void *, tmd_notify_t *)); -#endif }; /* @@ -388,6 +328,11 @@ void isp_reset __P((struct ispsoftc *)); void isp_init __P((struct ispsoftc *)); /* + * Free any associated resources prior to decommissioning. + */ +void isp_uninit __P((struct ispsoftc *)); + +/* * Reset the ISP and call completion for any orphaned commands. */ void isp_restart __P((struct ispsoftc *)); @@ -398,6 +343,11 @@ void isp_restart __P((struct ispsoftc *)); int isp_intr __P((void *)); /* + * Watchdog Routine + */ +void isp_watch __P((void *)); + +/* * Command Entry Point */ int32_t ispscsicmd __P((ISP_SCSI_XFER_T *)); |