diff options
author | mjacob <mjacob@FreeBSD.org> | 2006-11-18 03:53:16 +0000 |
---|---|---|
committer | mjacob <mjacob@FreeBSD.org> | 2006-11-18 03:53:16 +0000 |
commit | 5af654c5862709158954dcd905ab90b7b4543c24 (patch) | |
tree | 786890bd8855d5539d11081e2bf6044e5553adbf /sys/dev/isp/ispmbox.h | |
parent | edc10a6695602b387851a4829c5b186ed1053cd2 (diff) | |
download | FreeBSD-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.h | 35 |
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 { |