aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/isp/ispvar.h
diff options
context:
space:
mode:
authorMatt Jacob <mjacob@FreeBSD.org>1999-01-30 07:29:00 +0000
committerMatt Jacob <mjacob@FreeBSD.org>1999-01-30 07:29:00 +0000
commitcbf57b472d00c6dee3735ddd9d5ce53edea1a5cf (patch)
tree4204afebcc9e0bb03ed2ebf10a9fb0480272013f /sys/dev/isp/ispvar.h
parent495bfaf2069f7bee544a93e131e08f7efc2685d4 (diff)
Notes
Diffstat (limited to 'sys/dev/isp/ispvar.h')
-rw-r--r--sys/dev/isp/ispvar.h36
1 files changed, 28 insertions, 8 deletions
diff --git a/sys/dev/isp/ispvar.h b/sys/dev/isp/ispvar.h
index 222f77e9e905..30278eeac985 100644
--- a/sys/dev/isp/ispvar.h
+++ b/sys/dev/isp/ispvar.h
@@ -1,5 +1,5 @@
-/* $Id: ispvar.h,v 1.7 1998/12/28 19:22:27 mjacob Exp $ */
-/* release_12_28_98_A+ */
+/* $Id: ispvar.h,v 1.8 1999/01/10 02:51:48 mjacob Exp $ */
+/* release_01_29_99 */
/*
* Soft Definitions for for Qlogic ISP SCSI adapters.
*
@@ -51,7 +51,7 @@
#define ISP_CORE_VERSION_MINOR 5
/*
- * Vector for MD code to provide specific services.
+ * Vector for bus specific code to provide specific services.
*/
struct ispsoftc;
struct ispmdvec {
@@ -91,7 +91,7 @@ struct ispmdvec {
((in == out)? (qlen - 1) : ((in > out)? \
((qlen - 1) - (in - out)) : (out - in - 1)))
/*
- * SCSI (as opposed to FC-PH) Specific Host Adapter Parameters
+ * SCSI Specific Host Adapter Parameters
*/
typedef struct {
@@ -100,6 +100,7 @@ typedef struct {
isp_cmd_dma_burst_enable: 1,
isp_data_dma_burst_enabl: 1,
isp_fifo_threshold : 3,
+ isp_ultramode : 1,
isp_diffmode : 1,
isp_fast_mttr : 1,
isp_initiator_id : 4,
@@ -112,8 +113,11 @@ typedef struct {
u_int8_t isp_retry_count;
u_int8_t isp_retry_delay;
struct {
- u_int dev_update : 1,
+ u_int
dev_enable : 1,
+ dev_announced : 1,
+ dev_update : 1,
+ dev_refresh : 1,
exc_throttle : 7,
sync_offset : 4,
sync_period : 8;
@@ -272,7 +276,7 @@ struct ispsoftc {
* jeez, so I blow a couple of KB per host adapter...
* and it *is* faster.
*/
- volatile ISP_SCSI_XFER_T *isp_xflist[RQUEST_QUEUE_LEN];
+ ISP_SCSI_XFER_T *isp_xflist[RQUEST_QUEUE_LEN];
/*
* request/result queues and dma handles for them.
@@ -340,7 +344,7 @@ struct ispsoftc {
#define ISP_HA_FC_2100 0x10
/*
- * Macros to read, write ISP registers through MD code
+ * Macros to read, write ISP registers through bus specific code.
*/
#define ISP_READ(isp, reg) \
@@ -403,13 +407,14 @@ int isp_intr __P((void *));
int32_t ispscsicmd __P((ISP_SCSI_XFER_T *));
/*
- * Platform Dependent to Internal Control Point
+ * Platform Dependent to External to Internal Control Function
*
* For: Aborting a running command - arg is an ISP_SCSI_XFER_T *
* Resetting a Device - arg is target to reset
* Resetting a BUS - arg is ignored
* Updating parameters - arg is ignored
*
+ * First argument is this instance's softc pointer.
* Second argument is an index into xflist array.
* Assumes all locks must be held already.
*/
@@ -421,6 +426,21 @@ typedef enum {
} ispctl_t;
int isp_control __P((struct ispsoftc *, ispctl_t, void *));
+
+/*
+ * Platform Dependent to Internal to External Control Function
+ * (each platform must provide such a function)
+ *
+ * For: Announcing Target Paramter Changes (arg is target)
+ *
+ * Assumes all locks are held.
+ */
+
+typedef enum {
+ ISPASYNC_NEW_TGT_PARAMS
+} ispasync_t;
+int isp_async __P((struct ispsoftc *, ispasync_t, void *));
+
/*
* lost command routine (XXXX IN TRANSITION XXXX)
*/