summaryrefslogtreecommitdiffstats
path: root/sys/dev/isp/ispmbox.h
diff options
context:
space:
mode:
authormjacob <mjacob@FreeBSD.org>2000-08-27 23:38:44 +0000
committermjacob <mjacob@FreeBSD.org>2000-08-27 23:38:44 +0000
commitbcbec50333d0c724a16c70ce1cf20a68bee1a2c6 (patch)
tree993bb0165c73046e65558d492e5b2433535cd518 /sys/dev/isp/ispmbox.h
parenteca2daf851d818a319657461a5e5d39ca0950912 (diff)
downloadFreeBSD-src-bcbec50333d0c724a16c70ce1cf20a68bee1a2c6.zip
FreeBSD-src-bcbec50333d0c724a16c70ce1cf20a68bee1a2c6.tar.gz
various fixes
Diffstat (limited to 'sys/dev/isp/ispmbox.h')
-rw-r--r--sys/dev/isp/ispmbox.h44
1 files changed, 35 insertions, 9 deletions
diff --git a/sys/dev/isp/ispmbox.h b/sys/dev/isp/ispmbox.h
index dc03a09..e93b947 100644
--- a/sys/dev/isp/ispmbox.h
+++ b/sys/dev/isp/ispmbox.h
@@ -374,7 +374,7 @@ typedef struct {
#define req_response_len req_time /* FC only */
u_int16_t req_sense_len;
u_int32_t req_resid;
- u_int8_t _res1[8];
+ u_int8_t req_response[8]; /* FC only */
u_int8_t req_sense_data[32];
} ispstatusreq_t;
@@ -384,20 +384,25 @@ typedef struct {
*/
#define RQCS_RU 0x800 /* Residual Under */
#define RQCS_RO 0x400 /* Residual Over */
+#define RQCS_RESID (RQCS_RU|RQCS_RO)
#define RQCS_SV 0x200 /* Sense Length Valid */
-#define RQCS_RV 0x100 /* Residual Valid */
+#define RQCS_RV 0x100 /* FCP Response Length Valid */
/*
* Completion Status Codes.
*/
#define RQCS_COMPLETE 0x0000
-#define RQCS_INCOMPLETE 0x0001
#define RQCS_DMA_ERROR 0x0002
-#define RQCS_TRANSPORT_ERROR 0x0003
#define RQCS_RESET_OCCURRED 0x0004
#define RQCS_ABORTED 0x0005
#define RQCS_TIMEOUT 0x0006
#define RQCS_DATA_OVERRUN 0x0007
+#define RQCS_DATA_UNDERRUN 0x0015
+#define RQCS_QUEUE_FULL 0x001C
+
+/* 1X00 Only Completion Codes */
+#define RQCS_INCOMPLETE 0x0001
+#define RQCS_TRANSPORT_ERROR 0x0003
#define RQCS_COMMAND_OVERRUN 0x0008
#define RQCS_STATUS_OVERRUN 0x0009
#define RQCS_BAD_MESSAGE 0x000a
@@ -411,26 +416,24 @@ typedef struct {
#define RQCS_DEVICE_RESET_MSG_FAILED 0x0012
#define RQCS_ID_MSG_FAILED 0x0013
#define RQCS_UNEXP_BUS_FREE 0x0014
-#define RQCS_DATA_UNDERRUN 0x0015
#define RQCS_XACT_ERR1 0x0018
#define RQCS_XACT_ERR2 0x0019
#define RQCS_XACT_ERR3 0x001A
#define RQCS_BAD_ENTRY 0x001B
-#define RQCS_QUEUE_FULL 0x001C
#define RQCS_PHASE_SKIPPED 0x001D
#define RQCS_ARQS_FAILED 0x001E
#define RQCS_WIDE_FAILED 0x001F
#define RQCS_SYNCXFER_FAILED 0x0020
#define RQCS_LVD_BUSERR 0x0021
-/* 2100 Only Completion Codes */
+/* 2X00 Only Completion Codes */
#define RQCS_PORT_UNAVAILABLE 0x0028
#define RQCS_PORT_LOGGED_OUT 0x0029
#define RQCS_PORT_CHANGED 0x002A
#define RQCS_PORT_BUSY 0x002B
/*
- * State Flags (not applicable to 2100)
+ * 1X00 specific State Flags
*/
#define RQSF_GOT_BUS 0x0100
#define RQSF_GOT_TARGET 0x0200
@@ -441,7 +444,7 @@ typedef struct {
#define RQSF_XFER_COMPLETE 0x4000
/*
- * Status Flags (not applicable to 2100)
+ * 1X00 Status Flags
*/
#define RQSTF_DISCONNECT 0x0001
#define RQSTF_SYNCHRONOUS 0x0002
@@ -453,6 +456,29 @@ typedef struct {
#define RQSTF_NEGOTIATION 0x0080
/*
+ * 2X00 specific state flags
+ */
+/* RQSF_SENT_CDB */
+/* RQSF_XFRD_DATA */
+/* RQSF_GOT_STATUS */
+/* RQSF_XFER_COMPLETE */
+
+/*
+ * 2X00 specific status flags
+ */
+/* RQSTF_ABORTED */
+/* RQSTF_TIMEOUT */
+#define RQSTF_DMA_ERROR 0x0080
+#define RQSTF_LOGOUT 0x2000
+
+/*
+ * Miscellaneous
+ */
+#ifndef ISP_EXEC_THROTTLE
+#define ISP_EXEC_THROTTLE 16
+#endif
+
+/*
* FC (ISP2100) specific data structures
*/
OpenPOWER on IntegriCloud