summaryrefslogtreecommitdiffstats
path: root/sys/dev/isp/ispmbox.h
diff options
context:
space:
mode:
authormjacob <mjacob@FreeBSD.org>2006-11-18 03:53:16 +0000
committermjacob <mjacob@FreeBSD.org>2006-11-18 03:53:16 +0000
commit5af654c5862709158954dcd905ab90b7b4543c24 (patch)
tree786890bd8855d5539d11081e2bf6044e5553adbf /sys/dev/isp/ispmbox.h
parentedc10a6695602b387851a4829c5b186ed1053cd2 (diff)
downloadFreeBSD-src-5af654c5862709158954dcd905ab90b7b4543c24.zip
FreeBSD-src-5af654c5862709158954dcd905ab90b7b4543c24.tar.gz
Make the SAN login/logout stuff more common between different chipsets
and provied an isp_control entry point so that the outer layers can do PLOGI/LOGO explicitly. Add MS IOCB support. This completes the cycle for base support for SMI-S.
Diffstat (limited to 'sys/dev/isp/ispmbox.h')
-rw-r--r--sys/dev/isp/ispmbox.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/sys/dev/isp/ispmbox.h b/sys/dev/isp/ispmbox.h
index 6ee4fa3..f72ac07 100644
--- a/sys/dev/isp/ispmbox.h
+++ b/sys/dev/isp/ispmbox.h
@@ -329,6 +329,7 @@ typedef struct {
#define RQSTYPE_IP_RECV 0x23
#define RQSTYPE_IP_RECV_CONT 0x24
#define RQSTYPE_CT_PASSTHRU 0x29
+#define RQSTYPE_MS_PASSTHRU 0x29
#define RQSTYPE_ABORT_IO 0x33
#define RQSTYPE_T6RQS 0x48
#define RQSTYPE_LOGIN 0x52
@@ -631,6 +632,29 @@ typedef struct {
ispds64_t ctp_dataseg[2];
} isp_ct_pt_t;
+/*
+ * MS Passthru IOCB
+ */
+typedef struct {
+ isphdr_t ms_header;
+ uint32_t ms_handle;
+ uint16_t ms_nphdl; /* XXX: Note, this is for 2K Logins only */
+ uint16_t ms_status;
+ uint16_t ms_flags;
+ uint16_t ms_reserved1; /* low 8 bits */
+ uint16_t ms_time;
+ uint16_t ms_cmd_cnt; /* Command DSD count */;
+ uint16_t ms_tot_cnt; /* Total DSD Count */
+ uint8_t ms_type; /* MS type */
+ uint8_t ms_r_ctl; /* R_CTL */
+ uint16_t ms_rxid; /* RX_ID */
+ uint16_t ms_reserved2;
+ uint32_t ms_handle2;
+ uint32_t ms_rsp_bcnt; /* Response byte count */
+ uint32_t ms_cmd_bcnt; /* Command byte count */
+ ispds64_t ms_dataseg[2];
+} isp_ms_t;
+
/*
* Completion Status Codes.
*/
@@ -1108,6 +1132,17 @@ typedef struct {
} isp_pdb_t;
/*
+ * Genericized Port Login/Logout software structure
+ */
+typedef struct {
+ uint16_t handle;
+ uint32_t
+ flags : 8,
+ portid : 24;
+} isp_plcmd_t;
+/* the flags to use are those for PLOGX_FLG_* below */
+
+/*
* ISP24XX- Login/Logout Port IOCB
*/
typedef struct {
OpenPOWER on IntegriCloud