aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_hw4.h
diff options
context:
space:
mode:
authorJames Smart <james.smart@emulex.com>2010-04-06 14:48:51 -0400
committerJames Bottomley <James.Bottomley@suse.de>2010-04-11 14:44:44 -0400
commitb19a061a785db22401b62cc4ee2baf95d5c7e2e7 (patch)
treecc5219324cd5a59455f195f51afe9807d3b07595 /drivers/scsi/lpfc/lpfc_hw4.h
parent40364a40b68a26cc882df05f7cc7f0ad87aac935 (diff)
[SCSI] lpfc 8.3.12: Emulex SLI enhancements
- Add the new Logical Link speed event support. - Add RATOV and EDTOV to the REG_VFI mailbox command. Signed-off-by: Alex Iannicelli <alex.iannicelli@emulex.com> Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_hw4.h')
-rw-r--r--drivers/scsi/lpfc/lpfc_hw4.h53
1 files changed, 51 insertions, 2 deletions
diff --git a/drivers/scsi/lpfc/lpfc_hw4.h b/drivers/scsi/lpfc/lpfc_hw4.h
index bff98add80cd..bbdcf96800f6 100644
--- a/drivers/scsi/lpfc/lpfc_hw4.h
+++ b/drivers/scsi/lpfc/lpfc_hw4.h
@@ -787,6 +787,7 @@ struct mbox_header {
787#define LPFC_MBOX_OPCODE_EQ_DESTROY 0x37 787#define LPFC_MBOX_OPCODE_EQ_DESTROY 0x37
788#define LPFC_MBOX_OPCODE_QUERY_FW_CFG 0x3A 788#define LPFC_MBOX_OPCODE_QUERY_FW_CFG 0x3A
789#define LPFC_MBOX_OPCODE_FUNCTION_RESET 0x3D 789#define LPFC_MBOX_OPCODE_FUNCTION_RESET 0x3D
790#define LPFC_MBOX_OPCODE_MQ_CREATE_EXT 0x5A
790 791
791/* FCoE Opcodes */ 792/* FCoE Opcodes */
792#define LPFC_MBOX_OPCODE_FCOE_WQ_CREATE 0x01 793#define LPFC_MBOX_OPCODE_FCOE_WQ_CREATE 0x01
@@ -1108,6 +1109,39 @@ struct lpfc_mbx_mq_create {
1108 } u; 1109 } u;
1109}; 1110};
1110 1111
1112struct lpfc_mbx_mq_create_ext {
1113 struct mbox_header header;
1114 union {
1115 struct {
1116 uint32_t word0;
1117#define lpfc_mbx_mq_create_ext_num_pages_SHIFT 0
1118#define lpfc_mbx_mq_create_ext_num_pages_MASK 0x0000FFFF
1119#define lpfc_mbx_mq_create_ext_num_pages_WORD word0
1120 uint32_t async_evt_bmap;
1121#define lpfc_mbx_mq_create_ext_async_evt_link_SHIFT LPFC_TRAILER_CODE_LINK
1122#define lpfc_mbx_mq_create_ext_async_evt_link_MASK 0x00000001
1123#define lpfc_mbx_mq_create_ext_async_evt_link_WORD async_evt_bmap
1124#define lpfc_mbx_mq_create_ext_async_evt_fcfste_SHIFT LPFC_TRAILER_CODE_FCOE
1125#define lpfc_mbx_mq_create_ext_async_evt_fcfste_MASK 0x00000001
1126#define lpfc_mbx_mq_create_ext_async_evt_fcfste_WORD async_evt_bmap
1127#define lpfc_mbx_mq_create_ext_async_evt_group5_SHIFT LPFC_TRAILER_CODE_GRP5
1128#define lpfc_mbx_mq_create_ext_async_evt_group5_MASK 0x00000001
1129#define lpfc_mbx_mq_create_ext_async_evt_group5_WORD async_evt_bmap
1130 struct mq_context context;
1131 struct dma_address page[LPFC_MAX_MQ_PAGE];
1132 } request;
1133 struct {
1134 uint32_t word0;
1135#define lpfc_mbx_mq_create_q_id_SHIFT 0
1136#define lpfc_mbx_mq_create_q_id_MASK 0x0000FFFF
1137#define lpfc_mbx_mq_create_q_id_WORD word0
1138 } response;
1139 } u;
1140#define LPFC_ASYNC_EVENT_LINK_STATE 0x2
1141#define LPFC_ASYNC_EVENT_FCF_STATE 0x4
1142#define LPFC_ASYNC_EVENT_GROUP5 0x20
1143};
1144
1111struct lpfc_mbx_mq_destroy { 1145struct lpfc_mbx_mq_destroy {
1112 struct mbox_header header; 1146 struct mbox_header header;
1113 union { 1147 union {
@@ -1434,8 +1468,8 @@ struct lpfc_mbx_reg_vfi {
1434#define lpfc_reg_vfi_fcfi_WORD word2 1468#define lpfc_reg_vfi_fcfi_WORD word2
1435 uint32_t wwn[2]; 1469 uint32_t wwn[2];
1436 struct ulp_bde64 bde; 1470 struct ulp_bde64 bde;
1437 uint32_t word8_rsvd; 1471 uint32_t e_d_tov;
1438 uint32_t word9_rsvd; 1472 uint32_t r_a_tov;
1439 uint32_t word10; 1473 uint32_t word10;
1440#define lpfc_reg_vfi_nport_id_SHIFT 0 1474#define lpfc_reg_vfi_nport_id_SHIFT 0
1441#define lpfc_reg_vfi_nport_id_MASK 0x00FFFFFF 1475#define lpfc_reg_vfi_nport_id_MASK 0x00FFFFFF
@@ -2048,6 +2082,7 @@ struct lpfc_mqe {
2048 struct lpfc_mbx_reg_fcfi reg_fcfi; 2082 struct lpfc_mbx_reg_fcfi reg_fcfi;
2049 struct lpfc_mbx_unreg_fcfi unreg_fcfi; 2083 struct lpfc_mbx_unreg_fcfi unreg_fcfi;
2050 struct lpfc_mbx_mq_create mq_create; 2084 struct lpfc_mbx_mq_create mq_create;
2085 struct lpfc_mbx_mq_create_ext mq_create_ext;
2051 struct lpfc_mbx_eq_create eq_create; 2086 struct lpfc_mbx_eq_create eq_create;
2052 struct lpfc_mbx_cq_create cq_create; 2087 struct lpfc_mbx_cq_create cq_create;
2053 struct lpfc_mbx_wq_create wq_create; 2088 struct lpfc_mbx_wq_create wq_create;
@@ -2106,6 +2141,7 @@ struct lpfc_mcqe {
2106#define LPFC_TRAILER_CODE_LINK 0x1 2141#define LPFC_TRAILER_CODE_LINK 0x1
2107#define LPFC_TRAILER_CODE_FCOE 0x2 2142#define LPFC_TRAILER_CODE_FCOE 0x2
2108#define LPFC_TRAILER_CODE_DCBX 0x3 2143#define LPFC_TRAILER_CODE_DCBX 0x3
2144#define LPFC_TRAILER_CODE_GRP5 0x5
2109}; 2145};
2110 2146
2111struct lpfc_acqe_link { 2147struct lpfc_acqe_link {
@@ -2175,6 +2211,19 @@ struct lpfc_acqe_dcbx {
2175 uint32_t trailer; 2211 uint32_t trailer;
2176}; 2212};
2177 2213
2214struct lpfc_acqe_grp5 {
2215 uint32_t word0;
2216#define lpfc_acqe_grp5_pport_SHIFT 0
2217#define lpfc_acqe_grp5_pport_MASK 0x000000FF
2218#define lpfc_acqe_grp5_pport_WORD word0
2219 uint32_t word1;
2220#define lpfc_acqe_grp5_llink_spd_SHIFT 16
2221#define lpfc_acqe_grp5_llink_spd_MASK 0x0000FFFF
2222#define lpfc_acqe_grp5_llink_spd_WORD word1
2223 uint32_t event_tag;
2224 uint32_t trailer;
2225};
2226
2178/* 2227/*
2179 * Define the bootstrap mailbox (bmbx) region used to communicate 2228 * Define the bootstrap mailbox (bmbx) region used to communicate
2180 * mailbox command between the host and port. The mailbox consists 2229 * mailbox command between the host and port. The mailbox consists