Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/netbsd-1-5]: src/sys/dev/ic Pull up revisions 1.28-1.31 (requested by mj...
details: https://anonhg.NetBSD.org/src/rev/43f76493aef4
branches: netbsd-1-5
changeset: 490885:43f76493aef4
user: he <he%NetBSD.org@localhost>
date: Fri Mar 16 19:15:57 2001 +0000
description:
Pull up revisions 1.28-1.31 (requested by mjacob):
Add structure defining FC-AL position maps. Add some 2X00 specific
state flags for status response entries. Add the defines necessary
for the REGISTER FC4 TYPE SNS subcommand. Change ICBOPT_USE_PORTNAME
to ICBOPT_BOTH_WWNS.
diffstat:
sys/dev/ic/ispmbox.h | 53 +++++++++++++++++++++++++++++++++++++++------------
1 files changed, 40 insertions(+), 13 deletions(-)
diffs (113 lines):
diff -r 3e1929585844 -r 43f76493aef4 sys/dev/ic/ispmbox.h
--- a/sys/dev/ic/ispmbox.h Fri Mar 16 19:15:28 2001 +0000
+++ b/sys/dev/ic/ispmbox.h Fri Mar 16 19:15:57 2001 +0000
@@ -1,18 +1,17 @@
-/* $NetBSD: ispmbox.h,v 1.23.4.1 2000/08/28 17:45:11 mjacob Exp $ */
+/* $NetBSD: ispmbox.h,v 1.23.4.2 2001/03/16 19:15:57 he Exp $ */
/*
* This driver, which is contained in NetBSD in the files:
*
* sys/dev/ic/isp.c
- * sys/dev/ic/ic/isp.c
- * sys/dev/ic/ic/isp_inline.h
- * sys/dev/ic/ic/isp_netbsd.c
- * sys/dev/ic/ic/isp_netbsd.h
- * sys/dev/ic/ic/isp_target.c
- * sys/dev/ic/ic/isp_target.h
- * sys/dev/ic/ic/isp_tpublic.h
- * sys/dev/ic/ic/ispmbox.h
- * sys/dev/ic/ic/ispreg.h
- * sys/dev/ic/ic/ispvar.h
+ * sys/dev/ic/isp_inline.h
+ * sys/dev/ic/isp_netbsd.c
+ * sys/dev/ic/isp_netbsd.h
+ * sys/dev/ic/isp_target.c
+ * sys/dev/ic/isp_target.h
+ * sys/dev/ic/isp_tpublic.h
+ * sys/dev/ic/ispmbox.h
+ * sys/dev/ic/ispreg.h
+ * sys/dev/ic/ispvar.h
* sys/microcode/isp/asm_sbus.h
* sys/microcode/isp/asm_1040.h
* sys/microcode/isp/asm_1080.h
@@ -405,7 +404,7 @@
} ispstatusreq_t;
/*
- * For Qlogic 2100, the high order byte of SCSI status has
+ * For Qlogic 2X00, the high order byte of SCSI status has
* additional meaning.
*/
#define RQCS_RU 0x800 /* Residual Under */
@@ -470,6 +469,15 @@
#define RQSF_XFER_COMPLETE 0x4000
/*
+ * 2X00 specific State Flags
+ * (same as 1X00 except RQSF_GOT_BUS/RQSF_GOT_TARGET are not available)
+ */
+#define RQSF_DATA_IN 0x0020
+#define RQSF_DATA_OUT 0x0040
+#define RQSF_STAG 0x0008
+#define RQSF_OTAG 0x0004
+#define RQSF_HTAG 0x0002
+/*
* 1X00 Status Flags
*/
#define RQSTF_DISCONNECT 0x0001
@@ -560,7 +568,7 @@
#define ICBOPT_PREVLOOP 0x0800
#define ICBOPT_STOP_ON_QFULL 0x1000
#define ICBOPT_FULL_LOGIN 0x2000
-#define ICBOPT_USE_PORTNAME 0x4000
+#define ICBOPT_BOTH_WWNS 0x4000
#define ICBOPT_EXTENDED 0x8000
#define ICBXOPT_CLASS2_ACK0 0x0200
@@ -613,6 +621,22 @@
array[ICB_NNM7] = (u_int8_t) ((wwn >> 56) & 0xff)
/*
+ * FC-AL Position Map
+ *
+ * This is an at most 128 byte map that returns either
+ * the LILP or Firmware generated list of ports.
+ *
+ * We deviate a bit from the returned qlogic format to
+ * use an extra bit to say whether this was a LILP or
+ * f/w generated map.
+ */
+typedef struct {
+ u_int8_t fwmap : 1,
+ count : 7;
+ u_int8_t map[127];
+} fcpos_map_t;
+
+/*
* Port Data Base Element
*/
@@ -683,6 +707,7 @@
#define SNS_GAN 0x100
#define SNS_GP3 0x171
+#define SNS_RFT 0x217
typedef struct {
u_int16_t snscb_rblen; /* response buffer length (words) */
u_int16_t snscb_res0;
@@ -693,6 +718,7 @@
} sns_screq_t; /* Subcommand Request Structure */
#define SNS_GAN_REQ_SIZE (sizeof (sns_screq_t)+(5*(sizeof (u_int16_t))))
#define SNS_GP3_REQ_SIZE (sizeof (sns_screq_t)+(5*(sizeof (u_int16_t))))
+#define SNS_RFT_REQ_SIZE (sizeof (sns_screq_t)+(21*(sizeof (u_int16_t))))
typedef struct {
u_int8_t snscb_cthdr[16];
@@ -703,6 +729,7 @@
} sns_scrsp_t; /* Subcommand Response Structure */
#define SNS_GAN_RESP_SIZE 608 /* Maximum response size (bytes) */
#define SNS_GP3_RESP_SIZE 532 /* XXX: For 128 ports */
+#define SNS_RFT_RESP_SIZE 16
typedef struct {
u_int8_t snscb_cthdr[16];
Home |
Main Index |
Thread Index |
Old Index