diff options
Diffstat (limited to 'drivers/scsi/be2iscsi/be_cmds.h')
-rw-r--r-- | drivers/scsi/be2iscsi/be_cmds.h | 37 |
1 files changed, 31 insertions, 6 deletions
diff --git a/drivers/scsi/be2iscsi/be_cmds.h b/drivers/scsi/be2iscsi/be_cmds.h index c20d686cbb43..5de8acb924cb 100644 --- a/drivers/scsi/be2iscsi/be_cmds.h +++ b/drivers/scsi/be2iscsi/be_cmds.h | |||
@@ -47,6 +47,8 @@ struct be_mcc_wrb { | |||
47 | 47 | ||
48 | #define CQE_FLAGS_VALID_MASK (1 << 31) | 48 | #define CQE_FLAGS_VALID_MASK (1 << 31) |
49 | #define CQE_FLAGS_ASYNC_MASK (1 << 30) | 49 | #define CQE_FLAGS_ASYNC_MASK (1 << 30) |
50 | #define CQE_FLAGS_COMPLETED_MASK (1 << 28) | ||
51 | #define CQE_FLAGS_CONSUMED_MASK (1 << 27) | ||
50 | 52 | ||
51 | /* Completion Status */ | 53 | /* Completion Status */ |
52 | #define MCC_STATUS_SUCCESS 0x0 | 54 | #define MCC_STATUS_SUCCESS 0x0 |
@@ -173,7 +175,7 @@ struct be_cmd_req_hdr { | |||
173 | u8 domain; /* dword 0 */ | 175 | u8 domain; /* dword 0 */ |
174 | u32 timeout; /* dword 1 */ | 176 | u32 timeout; /* dword 1 */ |
175 | u32 request_length; /* dword 2 */ | 177 | u32 request_length; /* dword 2 */ |
176 | u32 rsvd; /* dword 3 */ | 178 | u32 rsvd0; /* dword 3 */ |
177 | }; | 179 | }; |
178 | 180 | ||
179 | struct be_cmd_resp_hdr { | 181 | struct be_cmd_resp_hdr { |
@@ -382,7 +384,6 @@ struct be_cmd_req_modify_eq_delay { | |||
382 | 384 | ||
383 | #define ETH_ALEN 6 | 385 | #define ETH_ALEN 6 |
384 | 386 | ||
385 | |||
386 | struct be_cmd_req_get_mac_addr { | 387 | struct be_cmd_req_get_mac_addr { |
387 | struct be_cmd_req_hdr hdr; | 388 | struct be_cmd_req_hdr hdr; |
388 | u32 nic_port_count; | 389 | u32 nic_port_count; |
@@ -417,14 +418,21 @@ int beiscsi_cmd_cq_create(struct be_ctrl_info *ctrl, | |||
417 | 418 | ||
418 | int beiscsi_cmd_q_destroy(struct be_ctrl_info *ctrl, struct be_queue_info *q, | 419 | int beiscsi_cmd_q_destroy(struct be_ctrl_info *ctrl, struct be_queue_info *q, |
419 | int type); | 420 | int type); |
421 | int beiscsi_cmd_mccq_create(struct beiscsi_hba *phba, | ||
422 | struct be_queue_info *mccq, | ||
423 | struct be_queue_info *cq); | ||
424 | |||
420 | int be_poll_mcc(struct be_ctrl_info *ctrl); | 425 | int be_poll_mcc(struct be_ctrl_info *ctrl); |
421 | unsigned char mgmt_check_supported_fw(struct be_ctrl_info *ctrl); | 426 | unsigned char mgmt_check_supported_fw(struct be_ctrl_info *ctrl, |
422 | int be_cmd_get_mac_addr(struct be_ctrl_info *ctrl, u8 *mac_addr); | 427 | struct beiscsi_hba *phba); |
428 | int be_cmd_get_mac_addr(struct beiscsi_hba *phba, u8 *mac_addr); | ||
423 | 429 | ||
424 | /*ISCSI Functuions */ | 430 | /*ISCSI Functuions */ |
425 | int be_cmd_fw_initialize(struct be_ctrl_info *ctrl); | 431 | int be_cmd_fw_initialize(struct be_ctrl_info *ctrl); |
426 | 432 | ||
427 | struct be_mcc_wrb *wrb_from_mbox(struct be_dma_mem *mbox_mem); | 433 | struct be_mcc_wrb *wrb_from_mbox(struct be_dma_mem *mbox_mem); |
434 | struct be_mcc_wrb *wrb_from_mccq(struct beiscsi_hba *phba); | ||
435 | int be_mcc_notify_wait(struct beiscsi_hba *phba); | ||
428 | 436 | ||
429 | int be_mbox_notify(struct be_ctrl_info *ctrl); | 437 | int be_mbox_notify(struct be_ctrl_info *ctrl); |
430 | 438 | ||
@@ -531,6 +539,23 @@ struct amap_sol_cqe { | |||
531 | u8 valid; /* dword 3 */ | 539 | u8 valid; /* dword 3 */ |
532 | } __packed; | 540 | } __packed; |
533 | 541 | ||
542 | #define SOL_ICD_INDEX_MASK 0x0003FFC0 | ||
543 | struct amap_sol_cqe_ring { | ||
544 | u8 hw_sts[8]; /* dword 0 */ | ||
545 | u8 i_sts[8]; /* dword 0 */ | ||
546 | u8 i_resp[8]; /* dword 0 */ | ||
547 | u8 i_flags[7]; /* dword 0 */ | ||
548 | u8 s; /* dword 0 */ | ||
549 | u8 i_exp_cmd_sn[32]; /* dword 1 */ | ||
550 | u8 code[6]; /* dword 2 */ | ||
551 | u8 icd_index[12]; /* dword 2 */ | ||
552 | u8 rsvd[6]; /* dword 2 */ | ||
553 | u8 i_cmd_wnd[8]; /* dword 2 */ | ||
554 | u8 i_res_cnt[31]; /* dword 3 */ | ||
555 | u8 valid; /* dword 3 */ | ||
556 | } __packed; | ||
557 | |||
558 | |||
534 | 559 | ||
535 | /** | 560 | /** |
536 | * Post WRB Queue Doorbell Register used by the host Storage | 561 | * Post WRB Queue Doorbell Register used by the host Storage |
@@ -664,8 +689,8 @@ struct be_fw_cfg { | |||
664 | #define OPCODE_COMMON_TCP_UPLOAD 56 | 689 | #define OPCODE_COMMON_TCP_UPLOAD 56 |
665 | #define OPCODE_COMMON_ISCSI_ERROR_RECOVERY_INVALIDATE_COMMANDS 1 | 690 | #define OPCODE_COMMON_ISCSI_ERROR_RECOVERY_INVALIDATE_COMMANDS 1 |
666 | /* --- CMD_ISCSI_INVALIDATE_CONNECTION_TYPE --- */ | 691 | /* --- CMD_ISCSI_INVALIDATE_CONNECTION_TYPE --- */ |
667 | #define CMD_ISCSI_CONNECTION_INVALIDATE 1 | 692 | #define CMD_ISCSI_CONNECTION_INVALIDATE 0x8001 |
668 | #define CMD_ISCSI_CONNECTION_ISSUE_TCP_RST 2 | 693 | #define CMD_ISCSI_CONNECTION_ISSUE_TCP_RST 0x8002 |
669 | #define OPCODE_ISCSI_INI_DRIVER_INVALIDATE_CONNECTION 42 | 694 | #define OPCODE_ISCSI_INI_DRIVER_INVALIDATE_CONNECTION 42 |
670 | 695 | ||
671 | #define INI_WR_CMD 1 /* Initiator write command */ | 696 | #define INI_WR_CMD 1 /* Initiator write command */ |