Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
be_cmds.h File Reference

Go to the source code of this file.

Data Structures

struct  be_sge
 
struct  be_mcc_wrb
 
struct  be_mcc_compl
 
struct  be_async_event_trailer
 
struct  be_async_event_link_state
 
struct  be_mcc_mailbox
 
struct  be_cmd_req_hdr
 
struct  be_cmd_resp_hdr
 
struct  phys_addr
 
struct  amap_eq_context
 
struct  be_cmd_req_eq_create
 
struct  be_cmd_resp_eq_create
 
struct  mgmt_chap_format
 
struct  mgmt_auth_method_format
 
struct  mgmt_conn_login_options
 
struct  ip_addr_format
 
struct  mgmt_conn_info
 
struct  mgmt_session_login_options
 
struct  mgmt_session_info
 
struct  be_cmd_get_session_req
 
struct  be_cmd_get_session_resp
 
struct  mac_addr
 
struct  be_cmd_get_boot_target_req
 
struct  be_cmd_get_boot_target_resp
 
struct  be_cmd_reopen_session_req
 
struct  be_cmd_reopen_session_resp
 
struct  be_cmd_mac_query_req
 
struct  be_cmd_get_mac_resp
 
struct  be_ip_addr_subnet_format
 
struct  be_cmd_get_if_info_req
 
struct  be_cmd_get_if_info_resp
 
struct  be_ip_addr_record
 
struct  be_ip_addr_record_params
 
struct  be_cmd_set_ip_addr_req
 
struct  be_cmd_set_dhcp_req
 
struct  be_cmd_rel_dhcp_req
 
struct  be_cmd_set_def_gateway_req
 
struct  be_cmd_get_def_gateway_req
 
struct  be_cmd_get_def_gateway_resp
 
struct  be_cmd_set_vlan_req
 
struct  amap_cq_context
 
struct  be_cmd_req_cq_create
 
struct  be_cmd_resp_cq_create
 
struct  amap_mcc_context
 
struct  be_cmd_req_mcc_create
 
struct  be_cmd_resp_mcc_create
 
struct  be_cmd_req_q_destroy
 
struct  macaddr
 
struct  be_cmd_req_mcast_mac_config
 
struct  be_cmd_req_modify_eq_delay
 
struct  be_cmd_get_nic_conf_req
 
struct  be_cmd_get_nic_conf_resp
 
struct  be_cmd_hba_name
 
struct  be_cmd_ntwk_link_status_req
 
struct  be_cmd_ntwk_link_status_resp
 
struct  be_default_pdu_context
 
struct  amap_be_default_pdu_context
 
struct  be_defq_create_req
 
struct  be_defq_create_resp
 
struct  be_post_sgl_pages_req
 
struct  be_wrbq_create_req
 
struct  be_wrbq_create_resp
 
struct  sol_cqe
 
struct  amap_sol_cqe
 
struct  amap_sol_cqe_ring
 
struct  fragnum_bits_for_sgl_cra_in
 
struct  iscsi_cleanup_req
 
struct  eq_delay
 
struct  be_eq_delay_params_in
 
struct  tcp_connect_and_offload_in
 
struct  tcp_connect_and_offload_out
 
struct  be_mcc_wrb_context
 
struct  dmsg_cqe
 
struct  tcp_upload_params_in
 
struct  tcp_upload_params_out
 
union  tcp_upload_params
 
struct  be_ulp_fw_cfg
 
struct  be_fw_cfg
 
struct  be_cmd_get_all_if_id_req
 

Macros

#define MCC_WRB_SGE_CNT_SHIFT   3 /* bits 3 - 7 of dword 0 */
 
#define MCC_WRB_SGE_CNT_MASK   0x1F /* bits 3 - 7 of dword 0 */
 
#define CQE_FLAGS_VALID_MASK   (1 << 31)
 
#define CQE_FLAGS_ASYNC_MASK   (1 << 30)
 
#define CQE_FLAGS_COMPLETED_MASK   (1 << 28)
 
#define CQE_FLAGS_CONSUMED_MASK   (1 << 27)
 
#define MCC_STATUS_SUCCESS   0x0
 
#define CQE_STATUS_COMPL_MASK   0xFFFF
 
#define CQE_STATUS_COMPL_SHIFT   0 /* bits 0 - 15 */
 
#define CQE_STATUS_EXTD_MASK   0xFFFF
 
#define CQE_STATUS_EXTD_SHIFT   16 /* bits 0 - 15 */
 
#define MPU_MAILBOX_DB_OFFSET   0x160
 
#define MPU_MAILBOX_DB_RDY_MASK   0x1 /* bit 0 */
 
#define MPU_MAILBOX_DB_HI_MASK   0x2 /* bit 1 */
 
#define MPU_EP_SEMAPHORE_OFFSET   0xac
 
#define EP_SEMAPHORE_POST_STAGE_MASK   0x0000FFFF
 
#define EP_SEMAPHORE_POST_ERR_MASK   0x1
 
#define EP_SEMAPHORE_POST_ERR_SHIFT   31
 
#define DB_MCCQ_OFFSET   0x140
 
#define DB_MCCQ_RING_ID_MASK   0x7FF /* bits 0 - 10 */
 
#define DB_MCCQ_NUM_POSTED_SHIFT   16 /* bits 16 - 29 */
 
#define POST_STAGE_ARMFW_RDY   0xc000 /* FW is done with POST */
 
#define ASYNC_TRAILER_EVENT_CODE_SHIFT   8 /* bits 8 - 15 */
 
#define ASYNC_TRAILER_EVENT_CODE_MASK   0xFF
 
#define ASYNC_EVENT_CODE_LINK_STATE   0x1
 
#define CMD_SUBSYSTEM_COMMON   0x1
 
#define CMD_SUBSYSTEM_ISCSI   0x2
 
#define CMD_SUBSYSTEM_ETH   0x3
 
#define CMD_SUBSYSTEM_ISCSI_INI   0x6
 
#define CMD_COMMON_TCP_UPLOAD   0x1
 
#define OPCODE_COMMON_CQ_CREATE   12
 
#define OPCODE_COMMON_EQ_CREATE   13
 
#define OPCODE_COMMON_MCC_CREATE   21
 
#define OPCODE_COMMON_GET_CNTL_ATTRIBUTES   32
 
#define OPCODE_COMMON_GET_FW_VERSION   35
 
#define OPCODE_COMMON_MODIFY_EQ_DELAY   41
 
#define OPCODE_COMMON_FIRMWARE_CONFIG   42
 
#define OPCODE_COMMON_MCC_DESTROY   53
 
#define OPCODE_COMMON_CQ_DESTROY   54
 
#define OPCODE_COMMON_EQ_DESTROY   55
 
#define OPCODE_COMMON_QUERY_FIRMWARE_CONFIG   58
 
#define OPCODE_COMMON_FUNCTION_RESET   61
 
#define OPCODE_COMMON_ISCSI_CFG_POST_SGL_PAGES   2
 
#define OPCODE_COMMON_ISCSI_CFG_REMOVE_SGL_PAGES   3
 
#define OPCODE_COMMON_ISCSI_NTWK_GET_NIC_CONFIG   7
 
#define OPCODE_COMMON_ISCSI_NTWK_SET_VLAN   14
 
#define OPCODE_COMMON_ISCSI_NTWK_CONFIG_STATELESS_IP_ADDR   17
 
#define OPCODE_COMMON_ISCSI_NTWK_REL_STATELESS_IP_ADDR   18
 
#define OPCODE_COMMON_ISCSI_NTWK_MODIFY_IP_ADDR   21
 
#define OPCODE_COMMON_ISCSI_NTWK_GET_DEFAULT_GATEWAY   22
 
#define OPCODE_COMMON_ISCSI_NTWK_MODIFY_DEFAULT_GATEWAY   23
 
#define OPCODE_COMMON_ISCSI_NTWK_GET_ALL_IF_ID   24
 
#define OPCODE_COMMON_ISCSI_NTWK_GET_IF_INFO   25
 
#define OPCODE_COMMON_ISCSI_SET_FRAGNUM_BITS_FOR_SGL_CRA   61
 
#define OPCODE_COMMON_ISCSI_DEFQ_CREATE   64
 
#define OPCODE_COMMON_ISCSI_DEFQ_DESTROY   65
 
#define OPCODE_COMMON_ISCSI_WRBQ_CREATE   66
 
#define OPCODE_COMMON_ISCSI_WRBQ_DESTROY   67
 
#define BE_REOPEN_ALL_SESSIONS   0x00
 
#define BE_REOPEN_BOOT_SESSIONS   0x01
 
#define BE_REOPEN_A_SESSION   0x02
 
#define BEISCSI_VLAN_DISABLE   0xFFFF
 
#define ETH_ALEN   6
 
#define BEISCSI_ALIAS_LEN   32
 
#define BE2ISCSI_LINK_SPEED_ZERO   0x00
 
#define BE2ISCSI_LINK_SPEED_10MBPS   0x01
 
#define BE2ISCSI_LINK_SPEED_100MBPS   0x02
 
#define BE2ISCSI_LINK_SPEED_1GBPS   0x03
 
#define BE2ISCSI_LINK_SPEED_10GBPS   0x04
 
#define SOL_CID_MASK   0x0000FFC0
 
#define SOL_CODE_MASK   0x0000003F
 
#define SOL_WRB_INDEX_MASK   0x00FF0000
 
#define SOL_CMD_WND_MASK   0xFF000000
 
#define SOL_RES_CNT_MASK   0x7FFFFFFF
 
#define SOL_EXP_CMD_SN_MASK   0xFFFFFFFF
 
#define SOL_HW_STS_MASK   0x000000FF
 
#define SOL_STS_MASK   0x0000FF00
 
#define SOL_RESP_MASK   0x00FF0000
 
#define SOL_FLAGS_MASK   0x7F000000
 
#define SOL_S_MASK   0x80000000
 
#define SOL_ICD_INDEX_MASK   0x0003FFC0
 
#define DB_WRB_POST_CID_MASK   0x3FF /* bits 0 - 9 */
 
#define DB_DEF_PDU_WRB_INDEX_MASK   0xFF /* bits 0 - 9 */
 
#define DB_DEF_PDU_WRB_INDEX_SHIFT   16
 
#define DB_DEF_PDU_NUM_POSTED_SHIFT   24
 
#define DB_DEF_PDU_RING_ID_MASK   0x3FF /* bits 0 - 9 */
 
#define DB_DEF_PDU_CQPROC_MASK   0x3FFF /* bits 0 - 9 */
 
#define DB_DEF_PDU_REARM_SHIFT   14
 
#define DB_DEF_PDU_EVENT_SHIFT   15
 
#define DB_DEF_PDU_CQPROC_SHIFT   16
 
#define ISCSI_OPCODE_SCSI_DATA_OUT   5
 
#define OPCODE_COMMON_NTWK_LINK_STATUS_QUERY   5
 
#define OPCODE_COMMON_MODIFY_EQ_DELAY   41
 
#define OPCODE_COMMON_ISCSI_CLEANUP   59
 
#define OPCODE_COMMON_TCP_UPLOAD   56
 
#define OPCODE_COMMON_ISCSI_TCP_CONNECT_AND_OFFLOAD   70
 
#define OPCODE_COMMON_ISCSI_ERROR_RECOVERY_INVALIDATE_COMMANDS   1
 
#define OPCODE_ISCSI_INI_CFG_GET_HBA_NAME   6
 
#define OPCODE_ISCSI_INI_CFG_SET_HBA_NAME   7
 
#define OPCODE_ISCSI_INI_SESSION_GET_A_SESSION   14
 
#define OPCODE_ISCSI_INI_DRIVER_REOPEN_ALL_SESSIONS   36
 
#define OPCODE_ISCSI_INI_DRIVER_OFFLOAD_SESSION   41
 
#define OPCODE_ISCSI_INI_DRIVER_INVALIDATE_CONNECTION   42
 
#define OPCODE_ISCSI_INI_BOOT_GET_BOOT_TARGET   52
 
#define OPCODE_COMMON_WRITE_FLASH   96
 
#define OPCODE_COMMON_READ_FLASH   97
 
#define CMD_ISCSI_COMMAND_INVALIDATE   1
 
#define CMD_ISCSI_CONNECTION_INVALIDATE   0x8001
 
#define CMD_ISCSI_CONNECTION_ISSUE_TCP_RST   0x8002
 
#define INI_WR_CMD   1 /* Initiator write command */
 
#define INI_TMF_CMD   2 /* Initiator TMF command */
 
#define INI_NOPOUT_CMD   3 /* Initiator; Send a NOP-OUT */
 
#define INI_RD_CMD
 
#define TGT_CTX_UPDT_CMD   7 /* Target context update */
 
#define TGT_STS_CMD
 
#define TGT_DATAIN_CMD
 
#define TGT_SOS_PDU
 
#define TGT_DM_CMD
 
#define CMD_CONNECTION_CHUTE_0   1
 
#define CMD_CONNECTION_CHUTE_1   2
 
#define CMD_CONNECTION_CHUTE_2   3
 
#define EQ_MAJOR_CODE_COMPLETION   0
 
#define CMD_ISCSI_SESSION_DEL_CFG_FROM_FLASH   0
 
#define CMD_ISCSI_SESSION_SAVE_CFG_ON_FLASH   1
 
#define CONNECTION_UPLOAD_GRACEFUL   1 /* Graceful upload */
 
#define CONNECTION_UPLOAD_ABORT_RESET
 
#define CONNECTION_UPLOAD_ABORT
 
#define CONNECTION_UPLOAD_ABORT_WITH_SEQ
 
#define BE_NUMBER_OF_FIELD(_type_, _field_)   (FIELD_SIZEOF(_type_, _field_)/sizeof((((_type_ *)0)->_field_[0])))\
 
#define SOL_CMD_COMPLETE
 
#define SOL_CMD_KILLED_DATA_DIGEST_ERR
 
#define CXN_KILLED_PDU_SIZE_EXCEEDS_DSL
 
#define CXN_KILLED_BURST_LEN_MISMATCH
 
#define CXN_KILLED_AHS_RCVD
 
#define CXN_KILLED_HDR_DIGEST_ERR
 
#define CXN_KILLED_UNKNOWN_HDR
 
#define CXN_KILLED_STALE_ITT_TTT_RCVD
 
#define CXN_KILLED_INVALID_ITT_TTT_RCVD
 
#define CXN_KILLED_RST_RCVD
 
#define CXN_KILLED_TIMED_OUT
 
#define CXN_KILLED_RST_SENT
 
#define CXN_KILLED_FIN_RCVD
 
#define CXN_KILLED_BAD_UNSOL_PDU_RCVD
 
#define CXN_KILLED_BAD_WRB_INDEX_ERROR
 
#define CXN_KILLED_OVER_RUN_RESIDUAL
 
#define CXN_KILLED_UNDER_RUN_RESIDUAL
 
#define CMD_KILLED_INVALID_STATSN_RCVD
 
#define CMD_KILLED_INVALID_R2T_RCVD
 
#define CMD_CXN_KILLED_LUN_INVALID
 
#define CMD_CXN_KILLED_ICD_INVALID
 
#define CMD_CXN_KILLED_ITT_INVALID
 
#define CMD_CXN_KILLED_SEQ_OUTOFORDER
 
#define CMD_CXN_KILLED_INVALID_DATASN_RCVD
 
#define CXN_INVALIDATE_NOTIFY
 
#define CXN_INVALIDATE_INDEX_NOTIFY
 
#define CMD_INVALIDATED_NOTIFY
 
#define UNSOL_HDR_NOTIFY   28 /* Unsolicited header notify.*/
 
#define UNSOL_DATA_NOTIFY   29 /* Unsolicited data notify.*/
 
#define UNSOL_DATA_DIGEST_ERROR_NOTIFY
 
#define DRIVERMSG_NOTIFY
 
#define CXN_KILLED_CMND_DATA_NOT_ON_SAME_CONN
 
#define SOL_CMD_KILLED_DIF_ERR
 
#define CXN_KILLED_SYN_RCVD
 
#define CXN_KILLED_IMM_DATA_RCVD
 

Enumerations

enum  { ASYNC_EVENT_LINK_DOWN = 0x0, ASYNC_EVENT_LINK_UP = 0x1 }
 
enum  {
  QTYPE_EQ = 1, QTYPE_CQ, QTYPE_MCCQ, QTYPE_WRBQ,
  QTYPE_DPDUQ, QTYPE_SGL
}
 

Functions

int beiscsi_cmd_eq_create (struct be_ctrl_info *ctrl, struct be_queue_info *eq, int eq_delay)
 
int beiscsi_cmd_cq_create (struct be_ctrl_info *ctrl, struct be_queue_info *cq, struct be_queue_info *eq, bool sol_evts, bool no_delay, int num_cqe_dma_coalesce)
 
int beiscsi_cmd_q_destroy (struct be_ctrl_info *ctrl, struct be_queue_info *q, int type)
 
int beiscsi_cmd_mccq_create (struct beiscsi_hba *phba, struct be_queue_info *mccq, struct be_queue_info *cq)
 
int be_poll_mcc (struct be_ctrl_info *ctrl)
 
int mgmt_check_supported_fw (struct be_ctrl_info *ctrl, struct beiscsi_hba *phba)
 
unsigned int be_cmd_get_initname (struct beiscsi_hba *phba)
 
unsigned int be_cmd_get_port_speed (struct beiscsi_hba *phba)
 
void free_mcc_tag (struct be_ctrl_info *ctrl, unsigned int tag)
 
int be_cmd_fw_initialize (struct be_ctrl_info *ctrl)
 
struct be_mcc_wrbwrb_from_mbox (struct be_dma_mem *mbox_mem)
 
struct be_mcc_wrbwrb_from_mccq (struct beiscsi_hba *phba)
 
int be_mcc_notify_wait (struct beiscsi_hba *phba)
 
void be_mcc_notify (struct beiscsi_hba *phba)
 
unsigned int alloc_mcc_tag (struct beiscsi_hba *phba)
 
void beiscsi_async_link_state_process (struct beiscsi_hba *phba, struct be_async_event_link_state *evt)
 
int be_mcc_compl_process_isr (struct be_ctrl_info *ctrl, struct be_mcc_compl *compl)
 
int be_mbox_notify (struct be_ctrl_info *ctrl)
 
int be_cmd_create_default_pdu_queue (struct be_ctrl_info *ctrl, struct be_queue_info *cq, struct be_queue_info *dq, int length, int entry_size)
 
int be_cmd_iscsi_post_sgl_pages (struct be_ctrl_info *ctrl, struct be_dma_mem *q_mem, u32 page_offset, u32 num_pages)
 
int beiscsi_cmd_reset_function (struct beiscsi_hba *phba)
 
int be_cmd_wrbq_create (struct be_ctrl_info *ctrl, struct be_dma_mem *q_mem, struct be_queue_info *wrbq)
 
bool is_link_state_evt (u32 trailer)
 
int be_cmd_set_vlan (struct beiscsi_hba *phba, uint16_t vlan_tag)
 
int beiscsi_pci_soft_reset (struct beiscsi_hba *phba)
 
int be_chk_reset_complete (struct beiscsi_hba *phba)
 
void be_wrb_hdr_prepare (struct be_mcc_wrb *wrb, int payload_len, bool embedded, u8 sge_cnt)
 
void be_cmd_hdr_prepare (struct be_cmd_req_hdr *req_hdr, u8 subsystem, u8 opcode, int cmd_len)
 

Variables

struct be_async_event_link_state __packed
 

Macro Definition Documentation

#define ASYNC_EVENT_CODE_LINK_STATE   0x1

Definition at line 104 of file be_cmds.h.

#define ASYNC_TRAILER_EVENT_CODE_MASK   0xFF

Definition at line 103 of file be_cmds.h.

#define ASYNC_TRAILER_EVENT_CODE_SHIFT   8 /* bits 8 - 15 */

When the async bit of mcc_compl is set, the last 4 bytes of mcc_compl is interpreted as follows:

Definition at line 102 of file be_cmds.h.

#define BE2ISCSI_LINK_SPEED_100MBPS   0x02

Definition at line 630 of file be_cmds.h.

#define BE2ISCSI_LINK_SPEED_10GBPS   0x04

Definition at line 632 of file be_cmds.h.

#define BE2ISCSI_LINK_SPEED_10MBPS   0x01

Definition at line 629 of file be_cmds.h.

#define BE2ISCSI_LINK_SPEED_1GBPS   0x03

Definition at line 631 of file be_cmds.h.

#define BE2ISCSI_LINK_SPEED_ZERO   0x00

Definition at line 628 of file be_cmds.h.

#define BE_NUMBER_OF_FIELD (   _type_,
  _field_ 
)    (FIELD_SIZEOF(_type_, _field_)/sizeof((((_type_ *)0)->_field_[0])))\

Definition at line 981 of file be_cmds.h.

#define BE_REOPEN_A_SESSION   0x02

Definition at line 355 of file be_cmds.h.

#define BE_REOPEN_ALL_SESSIONS   0x00

Definition at line 353 of file be_cmds.h.

#define BE_REOPEN_BOOT_SESSIONS   0x01

Definition at line 354 of file be_cmds.h.

#define BEISCSI_ALIAS_LEN   32

Definition at line 612 of file be_cmds.h.

#define BEISCSI_VLAN_DISABLE   0xFFFF

Definition at line 452 of file be_cmds.h.

#define CMD_COMMON_TCP_UPLOAD   0x1

Definition at line 138 of file be_cmds.h.

#define CMD_CONNECTION_CHUTE_0   1

Definition at line 962 of file be_cmds.h.

#define CMD_CONNECTION_CHUTE_1   2

Definition at line 963 of file be_cmds.h.

#define CMD_CONNECTION_CHUTE_2   3

Definition at line 964 of file be_cmds.h.

#define CMD_CXN_KILLED_ICD_INVALID
Value:
21 /* Command got invalidated
* internally due to the
* corresponding ICD not in a
* valid state
*/

Definition at line 1009 of file be_cmds.h.

#define CMD_CXN_KILLED_INVALID_DATASN_RCVD
Value:
24 /* Command got invalidated
* internally due to a
* received PDU has an invalid
* DataSN
*/

Definition at line 1012 of file be_cmds.h.

#define CMD_CXN_KILLED_ITT_INVALID
Value:
22 /* Command got invalidated due
* to received PDU has an
* invalid ITT.
*/

Definition at line 1010 of file be_cmds.h.

#define CMD_CXN_KILLED_LUN_INVALID
Value:
20 /* Command got invalidated
* internally due to received
* PDU has an invalid LUN.
*/

Definition at line 1008 of file be_cmds.h.

#define CMD_CXN_KILLED_SEQ_OUTOFORDER
Value:
23 /* Command got invalidated due
* to received sequence buffer
* offset is out of order.
*/

Definition at line 1011 of file be_cmds.h.

#define CMD_INVALIDATED_NOTIFY
Value:
27 /* Command invalidation
* completionnotifify.
*/

Definition at line 1015 of file be_cmds.h.

#define CMD_ISCSI_COMMAND_INVALIDATE   1

Definition at line 948 of file be_cmds.h.

#define CMD_ISCSI_CONNECTION_INVALIDATE   0x8001

Definition at line 949 of file be_cmds.h.

#define CMD_ISCSI_CONNECTION_ISSUE_TCP_RST   0x8002

Definition at line 950 of file be_cmds.h.

#define CMD_ISCSI_SESSION_DEL_CFG_FROM_FLASH   0

Definition at line 968 of file be_cmds.h.

#define CMD_ISCSI_SESSION_SAVE_CFG_ON_FLASH   1

Definition at line 969 of file be_cmds.h.

#define CMD_KILLED_INVALID_R2T_RCVD
Value:
19 /* Command got invalidated
* internally due to a received
* an R2T with some invalid
* fields in it
*/

Definition at line 1007 of file be_cmds.h.

#define CMD_KILLED_INVALID_STATSN_RCVD
Value:
18 /* Command got invalidated
* internally due to a received
* PDU has an invalid StatusSN
*/

Definition at line 1006 of file be_cmds.h.

#define CMD_SUBSYSTEM_COMMON   0x1

Definition at line 134 of file be_cmds.h.

#define CMD_SUBSYSTEM_ETH   0x3

Definition at line 136 of file be_cmds.h.

#define CMD_SUBSYSTEM_ISCSI   0x2

Definition at line 135 of file be_cmds.h.

#define CMD_SUBSYSTEM_ISCSI_INI   0x6

Definition at line 137 of file be_cmds.h.

#define CONNECTION_UPLOAD_ABORT
Value:
3 /* Abortive upload without
* reset
*/

Definition at line 975 of file be_cmds.h.

#define CONNECTION_UPLOAD_ABORT_RESET
Value:
2 /* Abortive upload with
* reset
*/

Definition at line 974 of file be_cmds.h.

#define CONNECTION_UPLOAD_ABORT_WITH_SEQ
Value:
4 /* Abortive upload with reset,
* sequence number by driver */

Definition at line 976 of file be_cmds.h.

#define CONNECTION_UPLOAD_GRACEFUL   1 /* Graceful upload */

Definition at line 973 of file be_cmds.h.

#define CQE_FLAGS_ASYNC_MASK   (1 << 30)

Definition at line 49 of file be_cmds.h.

#define CQE_FLAGS_COMPLETED_MASK   (1 << 28)

Definition at line 50 of file be_cmds.h.

#define CQE_FLAGS_CONSUMED_MASK   (1 << 27)

Definition at line 51 of file be_cmds.h.

#define CQE_FLAGS_VALID_MASK   (1 << 31)

Definition at line 48 of file be_cmds.h.

#define CQE_STATUS_COMPL_MASK   0xFFFF

Definition at line 56 of file be_cmds.h.

#define CQE_STATUS_COMPL_SHIFT   0 /* bits 0 - 15 */

Definition at line 57 of file be_cmds.h.

#define CQE_STATUS_EXTD_MASK   0xFFFF

Definition at line 58 of file be_cmds.h.

#define CQE_STATUS_EXTD_SHIFT   16 /* bits 0 - 15 */

Definition at line 59 of file be_cmds.h.

#define CXN_INVALIDATE_INDEX_NOTIFY
Value:
26 /* Connection invalidation
* completion
* with data PDU index.
*/

Definition at line 1014 of file be_cmds.h.

#define CXN_INVALIDATE_NOTIFY
Value:
25 /* Connection invalidation
* completion notify.
*/

Definition at line 1013 of file be_cmds.h.

#define CXN_KILLED_AHS_RCVD
Value:
5 /* Connection got invalidated
* internally due to a received
* PDU Hdr that has
* AHS */

Definition at line 993 of file be_cmds.h.

#define CXN_KILLED_BAD_UNSOL_PDU_RCVD
Value:
14 /* Connection got invalidated
* internally due to bad
* unsolicited PDU Unsolicited
* PDUs are PDUs with
* ITT=0xffffffff
*/

Definition at line 1002 of file be_cmds.h.

#define CXN_KILLED_BAD_WRB_INDEX_ERROR
Value:
15 /* Connection got invalidated
* internally due to bad WRB
* index.
*/

Definition at line 1003 of file be_cmds.h.

#define CXN_KILLED_BURST_LEN_MISMATCH
Value:
4 /* Connection got invalidated
* internally due ti received
* PDU sequence size >
* FBL/MBL.
*/

Definition at line 992 of file be_cmds.h.

#define CXN_KILLED_CMND_DATA_NOT_ON_SAME_CONN
Value:
32 /* Connection got invalidated
* internally due to command
* and data are not on same
* connection.
*/

Definition at line 1020 of file be_cmds.h.

#define CXN_KILLED_FIN_RCVD
Value:
13 /* Connection got invalidated
* internally due to an
* incoming TCP FIN.
*/

Definition at line 1001 of file be_cmds.h.

#define CXN_KILLED_HDR_DIGEST_ERR
Value:
6 /* Connection got invalidated
* internally due to Hdr Digest
* error
*/

Definition at line 994 of file be_cmds.h.

#define CXN_KILLED_IMM_DATA_RCVD
Value:
35 /* Connection got invalidated
* internally due to an
* incoming Unsolicited PDU
* that has immediate data on
* the cxn
*/

Definition at line 1023 of file be_cmds.h.

#define CXN_KILLED_INVALID_ITT_TTT_RCVD
Value:
9 /* Connection got invalidated
* internally due to received
* ITT/TTT value > Max
* Supported ITTs/TTTs
*/

Definition at line 997 of file be_cmds.h.

#define CXN_KILLED_OVER_RUN_RESIDUAL
Value:
16 /* Command got invalidated
* internally due to received
* command has residual
* over run bytes.
*/

Definition at line 1004 of file be_cmds.h.

#define CXN_KILLED_PDU_SIZE_EXCEEDS_DSL
Value:
3 /* Connection got invalidated
* internally
* due to a received PDU
* size > DSL
*/

Definition at line 991 of file be_cmds.h.

#define CXN_KILLED_RST_RCVD
Value:
10 /* Connection got invalidated
* internally due to an
* incoming TCP RST
*/

Definition at line 998 of file be_cmds.h.

#define CXN_KILLED_RST_SENT
Value:
12 /* Connection got invalidated
* internally due to TCP RST
* sent by the Tx side
*/

Definition at line 1000 of file be_cmds.h.

#define CXN_KILLED_STALE_ITT_TTT_RCVD
Value:
8 /* Connection got invalidated
* internally due to a received
* ITT/TTT that does not belong
* to this Connection
*/

Definition at line 996 of file be_cmds.h.

#define CXN_KILLED_SYN_RCVD
Value:
34 /* Connection got invalidated
* internally due to incoming
* TCP SYN
*/

Definition at line 1022 of file be_cmds.h.

#define CXN_KILLED_TIMED_OUT
Value:
11 /* Connection got invalidated
* internally due to timeout on
* tcp segment 12 retransmit
* attempts failed
*/

Definition at line 999 of file be_cmds.h.

#define CXN_KILLED_UNDER_RUN_RESIDUAL
Value:
17 /* Command got invalidated
* internally due to received
* command has residual under
* run bytes.
*/

Definition at line 1005 of file be_cmds.h.

#define CXN_KILLED_UNKNOWN_HDR
Value:
7 /* Connection got invalidated
* internally
* due to a bad opcode in the
* pdu hdr
*/

Definition at line 995 of file be_cmds.h.

#define DB_DEF_PDU_CQPROC_MASK   0x3FFF /* bits 0 - 9 */

Definition at line 873 of file be_cmds.h.

#define DB_DEF_PDU_CQPROC_SHIFT   16

Definition at line 876 of file be_cmds.h.

#define DB_DEF_PDU_EVENT_SHIFT   15

Definition at line 875 of file be_cmds.h.

#define DB_DEF_PDU_NUM_POSTED_SHIFT   24

Definition at line 818 of file be_cmds.h.

#define DB_DEF_PDU_REARM_SHIFT   14

Definition at line 874 of file be_cmds.h.

#define DB_DEF_PDU_RING_ID_MASK   0x3FF /* bits 0 - 9 */

Definition at line 872 of file be_cmds.h.

#define DB_DEF_PDU_WRB_INDEX_MASK   0xFF /* bits 0 - 9 */

Definition at line 815 of file be_cmds.h.

#define DB_DEF_PDU_WRB_INDEX_SHIFT   16

Definition at line 817 of file be_cmds.h.

#define DB_MCCQ_NUM_POSTED_SHIFT   16 /* bits 16 - 29 */

Definition at line 93 of file be_cmds.h.

#define DB_MCCQ_OFFSET   0x140

Definition at line 90 of file be_cmds.h.

#define DB_MCCQ_RING_ID_MASK   0x7FF /* bits 0 - 10 */

Definition at line 91 of file be_cmds.h.

#define DB_WRB_POST_CID_MASK   0x3FF /* bits 0 - 9 */

Post WRB Queue Doorbell Register used by the host Storage stack to notify the controller of a posted Work Request Block

Definition at line 814 of file be_cmds.h.

#define DRIVERMSG_NOTIFY
Value:
31 /* TCP acknowledge based
* notification.
*/

Definition at line 1019 of file be_cmds.h.

#define EP_SEMAPHORE_POST_ERR_MASK   0x1

Definition at line 86 of file be_cmds.h.

#define EP_SEMAPHORE_POST_ERR_SHIFT   31

Definition at line 87 of file be_cmds.h.

#define EP_SEMAPHORE_POST_STAGE_MASK   0x0000FFFF

Definition at line 85 of file be_cmds.h.

#define EQ_MAJOR_CODE_COMPLETION   0

Definition at line 966 of file be_cmds.h.

#define ETH_ALEN   6

Definition at line 586 of file be_cmds.h.

#define INI_NOPOUT_CMD   3 /* Initiator; Send a NOP-OUT */

Definition at line 954 of file be_cmds.h.

#define INI_RD_CMD
Value:
5 /* Initiator requesting to send
* a read command
*/

Definition at line 955 of file be_cmds.h.

#define INI_TMF_CMD   2 /* Initiator TMF command */

Definition at line 953 of file be_cmds.h.

#define INI_WR_CMD   1 /* Initiator write command */

Definition at line 952 of file be_cmds.h.

#define ISCSI_OPCODE_SCSI_DATA_OUT   5

Definition at line 930 of file be_cmds.h.

#define MCC_STATUS_SUCCESS   0x0

Definition at line 54 of file be_cmds.h.

#define MCC_WRB_SGE_CNT_MASK   0x1F /* bits 3 - 7 of dword 0 */

Definition at line 35 of file be_cmds.h.

#define MCC_WRB_SGE_CNT_SHIFT   3 /* bits 3 - 7 of dword 0 */

Definition at line 34 of file be_cmds.h.

#define MPU_EP_SEMAPHORE_OFFSET   0xac

Definition at line 84 of file be_cmds.h.

#define MPU_MAILBOX_DB_HI_MASK   0x2 /* bit 1 */

Definition at line 81 of file be_cmds.h.

#define MPU_MAILBOX_DB_OFFSET   0x160

Used for driver communication with the FW. The software must write this register twice to post any command. First, it writes the register with hi=1 and the upper bits of the physical address for the MAILBOX structure. Software must poll the ready bit until this is acknowledged. Then, sotware writes the register with hi=0 with the lower bits in the address. It must poll the ready bit until the command is complete. Upon completion, the MAILBOX will contain a valid completion queue entry.

Definition at line 79 of file be_cmds.h.

#define MPU_MAILBOX_DB_RDY_MASK   0x1 /* bit 0 */

Definition at line 80 of file be_cmds.h.

#define OPCODE_COMMON_CQ_CREATE   12

List of common opcodes subsystem CMD_SUBSYSTEM_COMMON These opcodes are unique for each subsystem defined above

Definition at line 144 of file be_cmds.h.

#define OPCODE_COMMON_CQ_DESTROY   54

Definition at line 152 of file be_cmds.h.

#define OPCODE_COMMON_EQ_CREATE   13

Definition at line 145 of file be_cmds.h.

#define OPCODE_COMMON_EQ_DESTROY   55

Definition at line 153 of file be_cmds.h.

#define OPCODE_COMMON_FIRMWARE_CONFIG   42

Definition at line 150 of file be_cmds.h.

#define OPCODE_COMMON_FUNCTION_RESET   61

Definition at line 155 of file be_cmds.h.

#define OPCODE_COMMON_GET_CNTL_ATTRIBUTES   32

Definition at line 147 of file be_cmds.h.

#define OPCODE_COMMON_GET_FW_VERSION   35

Definition at line 148 of file be_cmds.h.

#define OPCODE_COMMON_ISCSI_CFG_POST_SGL_PAGES   2

LIST of opcodes that are common between Initiator and Target used by CMD_SUBSYSTEM_ISCSI These opcodes are unique for each subsystem defined above

Definition at line 162 of file be_cmds.h.

#define OPCODE_COMMON_ISCSI_CFG_REMOVE_SGL_PAGES   3

Definition at line 163 of file be_cmds.h.

#define OPCODE_COMMON_ISCSI_CLEANUP   59

Definition at line 933 of file be_cmds.h.

#define OPCODE_COMMON_ISCSI_DEFQ_CREATE   64

Definition at line 174 of file be_cmds.h.

#define OPCODE_COMMON_ISCSI_DEFQ_DESTROY   65

Definition at line 175 of file be_cmds.h.

#define OPCODE_COMMON_ISCSI_ERROR_RECOVERY_INVALIDATE_COMMANDS   1

Definition at line 936 of file be_cmds.h.

#define OPCODE_COMMON_ISCSI_NTWK_CONFIG_STATELESS_IP_ADDR   17

Definition at line 166 of file be_cmds.h.

#define OPCODE_COMMON_ISCSI_NTWK_GET_ALL_IF_ID   24

Definition at line 171 of file be_cmds.h.

#define OPCODE_COMMON_ISCSI_NTWK_GET_DEFAULT_GATEWAY   22

Definition at line 169 of file be_cmds.h.

#define OPCODE_COMMON_ISCSI_NTWK_GET_IF_INFO   25

Definition at line 172 of file be_cmds.h.

#define OPCODE_COMMON_ISCSI_NTWK_GET_NIC_CONFIG   7

Definition at line 164 of file be_cmds.h.

#define OPCODE_COMMON_ISCSI_NTWK_MODIFY_DEFAULT_GATEWAY   23

Definition at line 170 of file be_cmds.h.

#define OPCODE_COMMON_ISCSI_NTWK_MODIFY_IP_ADDR   21

Definition at line 168 of file be_cmds.h.

#define OPCODE_COMMON_ISCSI_NTWK_REL_STATELESS_IP_ADDR   18

Definition at line 167 of file be_cmds.h.

#define OPCODE_COMMON_ISCSI_NTWK_SET_VLAN   14

Definition at line 165 of file be_cmds.h.

#define OPCODE_COMMON_ISCSI_SET_FRAGNUM_BITS_FOR_SGL_CRA   61

Definition at line 173 of file be_cmds.h.

#define OPCODE_COMMON_ISCSI_TCP_CONNECT_AND_OFFLOAD   70

Definition at line 935 of file be_cmds.h.

#define OPCODE_COMMON_ISCSI_WRBQ_CREATE   66

Definition at line 176 of file be_cmds.h.

#define OPCODE_COMMON_ISCSI_WRBQ_DESTROY   67

Definition at line 177 of file be_cmds.h.

#define OPCODE_COMMON_MCC_CREATE   21

Definition at line 146 of file be_cmds.h.

#define OPCODE_COMMON_MCC_DESTROY   53

Definition at line 151 of file be_cmds.h.

#define OPCODE_COMMON_MODIFY_EQ_DELAY   41

Definition at line 932 of file be_cmds.h.

#define OPCODE_COMMON_MODIFY_EQ_DELAY   41

Definition at line 932 of file be_cmds.h.

#define OPCODE_COMMON_NTWK_LINK_STATUS_QUERY   5

Definition at line 931 of file be_cmds.h.

#define OPCODE_COMMON_QUERY_FIRMWARE_CONFIG   58

Definition at line 154 of file be_cmds.h.

#define OPCODE_COMMON_READ_FLASH   97

Definition at line 945 of file be_cmds.h.

#define OPCODE_COMMON_TCP_UPLOAD   56

Definition at line 934 of file be_cmds.h.

#define OPCODE_COMMON_WRITE_FLASH   96

Definition at line 944 of file be_cmds.h.

#define OPCODE_ISCSI_INI_BOOT_GET_BOOT_TARGET   52

Definition at line 943 of file be_cmds.h.

#define OPCODE_ISCSI_INI_CFG_GET_HBA_NAME   6

Definition at line 937 of file be_cmds.h.

#define OPCODE_ISCSI_INI_CFG_SET_HBA_NAME   7

Definition at line 938 of file be_cmds.h.

#define OPCODE_ISCSI_INI_DRIVER_INVALIDATE_CONNECTION   42

Definition at line 942 of file be_cmds.h.

#define OPCODE_ISCSI_INI_DRIVER_OFFLOAD_SESSION   41

Definition at line 941 of file be_cmds.h.

#define OPCODE_ISCSI_INI_DRIVER_REOPEN_ALL_SESSIONS   36

Definition at line 940 of file be_cmds.h.

#define OPCODE_ISCSI_INI_SESSION_GET_A_SESSION   14

Definition at line 939 of file be_cmds.h.

#define POST_STAGE_ARMFW_RDY   0xc000 /* FW is done with POST */

Definition at line 96 of file be_cmds.h.

#define SOL_CID_MASK   0x0000FFC0

Definition at line 760 of file be_cmds.h.

#define SOL_CMD_COMPLETE
Value:
1 /* Solicited command completed
* normally
*/

Different types of iSCSI completions to host driver for both initiator and taget mode of operation.

Definition at line 989 of file be_cmds.h.

#define SOL_CMD_KILLED_DATA_DIGEST_ERR
Value:
2 /* Solicited command got
* invalidated internally due
* to Data Digest error
*/

Definition at line 990 of file be_cmds.h.

#define SOL_CMD_KILLED_DIF_ERR
Value:
33 /* Solicited command got
* invalidated internally due
* to DIF error
*/

Definition at line 1021 of file be_cmds.h.

#define SOL_CMD_WND_MASK   0xFF000000

Definition at line 763 of file be_cmds.h.

#define SOL_CODE_MASK   0x0000003F

Definition at line 761 of file be_cmds.h.

#define SOL_EXP_CMD_SN_MASK   0xFFFFFFFF

Definition at line 765 of file be_cmds.h.

#define SOL_FLAGS_MASK   0x7F000000

Definition at line 769 of file be_cmds.h.

#define SOL_HW_STS_MASK   0x000000FF

Definition at line 766 of file be_cmds.h.

#define SOL_ICD_INDEX_MASK   0x0003FFC0

Definition at line 791 of file be_cmds.h.

#define SOL_RES_CNT_MASK   0x7FFFFFFF

Definition at line 764 of file be_cmds.h.

#define SOL_RESP_MASK   0x00FF0000

Definition at line 768 of file be_cmds.h.

#define SOL_S_MASK   0x80000000

Definition at line 770 of file be_cmds.h.

#define SOL_STS_MASK   0x0000FF00

Definition at line 767 of file be_cmds.h.

#define SOL_WRB_INDEX_MASK   0x00FF0000

Definition at line 762 of file be_cmds.h.

#define TGT_CTX_UPDT_CMD   7 /* Target context update */

Definition at line 956 of file be_cmds.h.

#define TGT_DATAIN_CMD
Value:
9 /* Target Data-Ins in response
* to read command
*/

Definition at line 958 of file be_cmds.h.

#define TGT_DM_CMD
Value:
11 /* Indicates that the bhs
* preparedby
* driver should not be touched
*/

Definition at line 960 of file be_cmds.h.

#define TGT_SOS_PDU
Value:
10 /* Target:standalone status
* response
*/

Definition at line 959 of file be_cmds.h.

#define TGT_STS_CMD
Value:
8 /* Target R2T and other BHS
* where only the status number
* need to be updated
*/

Definition at line 957 of file be_cmds.h.

#define UNSOL_DATA_DIGEST_ERROR_NOTIFY
Value:
30 /* Unsolicited data digest
* error notify.
*/

Definition at line 1018 of file be_cmds.h.

#define UNSOL_DATA_NOTIFY   29 /* Unsolicited data notify.*/

Definition at line 1017 of file be_cmds.h.

#define UNSOL_HDR_NOTIFY   28 /* Unsolicited header notify.*/

Definition at line 1016 of file be_cmds.h.

Enumeration Type Documentation

anonymous enum
Enumerator:
ASYNC_EVENT_LINK_DOWN 
ASYNC_EVENT_LINK_UP 

Definition at line 109 of file be_cmds.h.

anonymous enum
Enumerator:
QTYPE_EQ 
QTYPE_CQ 
QTYPE_MCCQ 
QTYPE_WRBQ 
QTYPE_DPDUQ 
QTYPE_SGL 

Definition at line 536 of file be_cmds.h.

Function Documentation

unsigned int alloc_mcc_tag ( struct beiscsi_hba phba)

Definition at line 117 of file be_cmds.c.

int be_chk_reset_complete ( struct beiscsi_hba phba)

Definition at line 78 of file be_cmds.c.

int be_cmd_create_default_pdu_queue ( struct be_ctrl_info ctrl,
struct be_queue_info cq,
struct be_queue_info dq,
int  length,
int  entry_size 
)

Definition at line 794 of file be_cmds.c.

int be_cmd_fw_initialize ( struct be_ctrl_info ctrl)

Definition at line 601 of file be_cmds.c.

unsigned int be_cmd_get_initname ( struct beiscsi_hba phba)

Definition at line 939 of file be_mgmt.c.

unsigned int be_cmd_get_port_speed ( struct beiscsi_hba phba)

Definition at line 966 of file be_mgmt.c.

void be_cmd_hdr_prepare ( struct be_cmd_req_hdr req_hdr,
u8  subsystem,
u8  opcode,
int  cmd_len 
)

Definition at line 496 of file be_cmds.c.

int be_cmd_iscsi_post_sgl_pages ( struct be_ctrl_info ctrl,
struct be_dma_mem q_mem,
u32  page_offset,
u32  num_pages 
)

Definition at line 869 of file be_cmds.c.

int be_cmd_set_vlan ( struct beiscsi_hba phba,
uint16_t  vlan_tag 
)

be_cmd_set_vlan()- Configure VLAN paramters on the adapter : device priv structure instance : TAG to be set

Set the VLAN_TAG for the adapter or Disable VLAN on adapter

returns TAG for the MBX Cmd

Definition at line 948 of file be_cmds.c.

int be_cmd_wrbq_create ( struct be_ctrl_info ctrl,
struct be_dma_mem q_mem,
struct be_queue_info wrbq 
)

Definition at line 842 of file be_cmds.c.

int be_mbox_notify ( struct be_ctrl_info ctrl)

Definition at line 378 of file be_cmds.c.

int be_mcc_compl_process_isr ( struct be_ctrl_info ctrl,
struct be_mcc_compl compl 
)

Definition at line 195 of file be_cmds.c.

void be_mcc_notify ( struct beiscsi_hba phba)

Definition at line 107 of file be_cmds.c.

int be_mcc_notify_wait ( struct beiscsi_hba phba)

Definition at line 341 of file be_cmds.c.

int be_poll_mcc ( struct be_ctrl_info ctrl)
void be_wrb_hdr_prepare ( struct be_mcc_wrb wrb,
int  payload_len,
bool  embedded,
u8  sge_cnt 
)

Definition at line 484 of file be_cmds.c.

void beiscsi_async_link_state_process ( struct beiscsi_hba phba,
struct be_async_event_link_state evt 
)

Definition at line 238 of file be_cmds.c.

int beiscsi_cmd_cq_create ( struct be_ctrl_info ctrl,
struct be_queue_info cq,
struct be_queue_info eq,
bool  sol_evts,
bool  no_delay,
int  num_cqe_dma_coalesce 
)

Definition at line 631 of file be_cmds.c.

int beiscsi_cmd_eq_create ( struct be_ctrl_info ctrl,
struct be_queue_info eq,
int  eq_delay 
)

Definition at line 561 of file be_cmds.c.

int beiscsi_cmd_mccq_create ( struct beiscsi_hba phba,
struct be_queue_info mccq,
struct be_queue_info cq 
)

Definition at line 690 of file be_cmds.c.

int beiscsi_cmd_q_destroy ( struct be_ctrl_info ctrl,
struct be_queue_info q,
int  type 
)

Definition at line 737 of file be_cmds.c.

int beiscsi_cmd_reset_function ( struct beiscsi_hba phba)

Definition at line 919 of file be_cmds.c.

int beiscsi_pci_soft_reset ( struct beiscsi_hba phba)

Copyright (C) 2005 - 2011 Emulex All rights reserved.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. The full GNU General Public License is included in this distribution in the file called COPYING.

Contact Information: linux.nosp@m.-dri.nosp@m.vers@.nosp@m.emul.nosp@m.ex.co.nosp@m.m

Emulex 3333 Susan Street Costa Mesa, CA 92626

Definition at line 24 of file be_cmds.c.

void free_mcc_tag ( struct be_ctrl_info ctrl,
unsigned int  tag 
)

Definition at line 136 of file be_cmds.c.

bool is_link_state_evt ( u32  trailer)

Definition at line 149 of file be_cmds.c.

int mgmt_check_supported_fw ( struct be_ctrl_info ctrl,
struct beiscsi_hba phba 
)

Definition at line 193 of file be_mgmt.c.

struct be_mcc_wrb* wrb_from_mbox ( struct be_dma_mem mbox_mem)
read

Definition at line 541 of file be_cmds.c.

struct be_mcc_wrb* wrb_from_mccq ( struct beiscsi_hba phba)
read

Definition at line 546 of file be_cmds.c.

Variable Documentation