Emulex Logo
OneCoreā„¢ Storage SDK Release 11.2
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
sli4.h File Reference
#include "ocs_os.h"

Go to the source code of this file.

Detailed Description

Define common SLI-4 structures and function prototypes

Definition in file sli4.h.

Data Structures

struct  sli4_bde_t
 Buffer Descriptor Entry (BDE) More...
 
struct  sli4_sge_t
 Scatter-Gather Entry (SGE) More...
 
struct  sli4_chain_sge_t
 
struct  sli4_diseed_sge_t
 T10 DIF Seed Scatter-Gather Entry (SGE) More...
 
struct  sli4_dif_sge_t
 T10 DIF Scatter-Gather Entry (SGE) More...
 
struct  sli4_mqe_hdr_t
 mailbox queue Element header More...
 
struct  sli4_req_hdr_t
 Generic Command Request header. More...
 
struct  sli4_res_hdr_t
 Generic Command Response header. More...
 
struct  sli4_req_common_function_reset_t
 COMMON_FUNCTION_RESET. More...
 
struct  sli4_res_common_function_reset_t
 
struct  sli4_req_common_get_cntl_attributes_t
 COMMON_GET_CNTL_ATTRIBUTES. More...
 
struct  sli4_res_common_get_cntl_attributes_t
 
struct  sli4_req_common_get_cntl_addl_attributes_t
 COMMON_GET_CNTL_ATTRIBUTES. More...
 
struct  sli4_res_common_get_cntl_addl_attributes_t
 
struct  sli4_req_common_get_fw_version_t
 COMMON_GET_FW_VERSION. More...
 
struct  sli4_res_common_get_fw_version_t
 
struct  sli4_req_common_query_fw_config_t
 COMMON_QUERY_FW_CONFIG. More...
 
struct  sli4_res_common_query_fw_config_t
 
struct  sli4_req_common_modify_eq_delay_t
 COMMON_MODIFY_EQ_DELAY. More...
 
struct  sli4_req_common_create_cq_v0_t
 COMMON_CREATE_CQ_V0. More...
 
struct  sli4_req_common_create_cq_v2_t
 COMMON_CREATE_CQ_V2. More...
 
struct  sli4_res_common_create_queue_t
 Generic Common Create EQ/CQ/MQ/WQ/RQ Queue completion. More...
 
struct  sli4_req_common_destroy_cq_t
 Common Destroy CQ. More...
 
struct  sli4_req_common_create_eq_t
 COMMON_CREATE_EQ. More...
 
struct  sli4_req_common_destroy_eq_t
 Common Destroy EQ. More...
 
struct  sli4_req_common_create_mq_ext_t
 COMMON_CREATE_MQ_EXT. More...
 
struct  sli4_req_common_destroy_mq_t
 Common Destroy MQ. More...
 
struct  sli4_req_common_tcp_upload_t
 Common TCP_UPLOAD. More...
 
struct  sli4_req_common_nop_t
 COMMON_NOP. More...
 
struct  sli4_res_common_nop_t
 
struct  sli4_req_common_read_transceiver_data_t
 
struct  sli4_res_common_read_transceiver_data_t
 
struct  sli4_req_common_get_be_configuration_and_resources_t
 COMMON_GET_BE_CONFIGURATION_AND_RESOURCES (v1) More...
 
struct  sli4_req_common_set_be_configuration_and_resources_t
 COMMON_SET_BE_CONFIGURATION_AND_RESOURCES (v1) More...
 
struct  sli4_req_common_write_flashrom_t
 COMMON_WRITE_FLASHROM. More...
 
struct  sli4_req_common_manage_fat_t
 COMMON_MANAGE_FAT. More...
 
struct  sli4_req_common_get_ext_fat_capabilities_t
 COMMON_GET_EXT_FAT_CAPABILITIES. More...
 
struct  sli4_req_common_set_ext_fat_capabilities_t
 COMMON_SET_EXT_FAT_CAPABILITIES. More...
 
struct  sli4_req_common_ext_fat_configure_snapshot_t
 COMMON_EXT_FAT_CONFIGURE_SNAPSHOT. More...
 
struct  sli4_req_common_ext_fat_retrieve_snapshot_t
 COMMON_EXT_FAT_RETRIEVE_SNAPSHOT. More...
 
struct  sli4_res_common_ext_fat_retrieve_snapshot_t
 
struct  sli4_req_common_ext_fat_read_string_table_t
 COMMON_EXT_FAT_READ_STRING_TABLE. More...
 
struct  sli4_res_common_ext_fat_read_string_table_t
 
struct  sli4_req_common_get_vpd_data_t
 COMMON_GET_VPD_DATA. More...
 
struct  sli4_resource_descriptor_v1_t
 
struct  sli4_pcie_resource_descriptor_v1_t
 
struct  sli4_isap_resouce_descriptor_v1_t
 
struct  sli4_req_common_get_function_config_t
 COMMON_GET_FUNCTION_CONFIG. More...
 
struct  sli4_res_common_get_function_config_t
 
struct  sli4_req_common_get_profile_config_t
 COMMON_GET_PROFILE_CONFIG. More...
 
struct  sli4_res_common_get_profile_config_t
 
struct  sli4_req_common_set_profile_config_t
 COMMON_SET_PROFILE_CONFIG. More...
 
struct  sli4_res_common_set_profile_config_t
 
struct  sli4_profile_descriptor_t
 Profile Descriptor for profile functions. More...
 
struct  sli4_req_common_get_profile_list_t
 COMMON_GET_PROFILE_LIST. More...
 
struct  sli4_res_common_get_profile_list_t
 
struct  sli4_req_common_get_active_profile_t
 COMMON_GET_ACTIVE_PROFILE. More...
 
struct  sli4_res_common_get_active_profile_t
 
struct  sli4_req_common_set_active_profile_t
 COMMON_SET_ACTIVE_PROFILE. More...
 
struct  sli4_link_config_descriptor_t
 Link Config Descriptor for link config functions. More...
 
struct  sli4_req_common_get_reconfig_link_info_t
 COMMON_GET_RECONFIG_LINK_INFO. More...
 
struct  sli4_res_common_get_reconfig_link_info_t
 
struct  sli4_req_common_set_reconfig_link_id_t
 COMMON_SET_RECONFIG_LINK_ID. More...
 
struct  sli4_res_common_set_reconfig_link_id_t
 
struct  sli4_res_common_set_active_profile_t
 
struct  sli4_req_common_read_object_t
 COMMON_READ_OBJECT. More...
 
struct  sli4_req_common_write_object_t
 COMMON_WRITE_OBJECT. More...
 
struct  sli4_req_common_delete_object_t
 COMMON_DELETE_OBJECT. More...
 
struct  sli4_req_common_read_object_list_t
 COMMON_READ_OBJECT_LIST. More...
 
struct  sli4_req_common_set_features_t
 
struct  sli4_req_common_set_features_t10_pi_mem_model_t
 
struct  sli4_eqe_t
 Event Queue Entry. More...
 
struct  sli4_mcqe_t
 Mailbox Completion Queue Entry. More...
 
struct  sli4_acqe_t
 Asynchronous Completion Queue Entry. More...
 
struct  sli4_reg_t
 
struct  sli4_qentry_fields_dpdu_t
 This structure contains the fields in a DPDU completion. More...
 
struct  sli4_qentry_fields_isol_t
 This structure contains the fields in a I_SOL completion. More...
 
struct  sli4_qentry_fields_tsol_t
 This structure contains the fields in a T_SOL completion. More...
 
struct  sli4_qentry_fields_dmsg_t
 This structure contains the fields in a DMSG completion. More...
 
struct  sli4_qentry_fields_data_digest_t
 This structure contains the fields in a T_DATA_DIGEST completion. More...
 
struct  sli4_qentry_fields_cnxinv_t
 This structure contains the fields in a CNXINV completion. More...
 
struct  sli4_qentry_fields_tcmdinv_t
 This structure contains the fields in a CMNDINV completion. More...
 
struct  sli4_qentry_fields_tx_dif_error_t
 This structure contains the fields in a T_DATA_DIGEST completion. More...
 
struct  sli4_qentry_fields_t
 This structure contains the type and associated fields for a CQE completion. More...
 
struct  sli4_wqe_context_t
 This structure is used to track the WQEs for iSCSI. More...
 
struct  sli4_queue_t
 This structure is used to track the SLI4 queues. More...
 
struct  sli4_link_event_t
 
struct  sli4_new_tcp_cnx_event_t
 
struct  sli4_stateless_op_cmpl_event_t
 
struct  sli4_dhcp_op_cmpl_event_t
 
struct  sli4_icmpv6_error_event_t
 
struct  sli4_port_mtu_chg_event_t
 
struct  sli4_iscsi_async_event_t
 
struct  sli4_t
 

Macros

#define SLI_PAGE_SIZE   (4096)
 
#define SLI_SUB_PAGE_MASK   (SLI_PAGE_SIZE - 1)
 
#define SLI_PAGE_SHIFT   12
 
#define SLI_ROUND_PAGE(b)   (((b) + SLI_SUB_PAGE_MASK) & ~SLI_SUB_PAGE_MASK)
 
#define SLI_PAGE_COUNT(b)   (((b) + SLI_SUB_PAGE_MASK) >> SLI_PAGE_SHIFT)
 
#define PCICFG_MEMBAR_CTRL_INT_CTRL_OFFSET   0xfc
 
#define MEMBAR_CTRL_INT_CTRL_HOSTINTR_MASK   (1 << 29) /* bit 29 */
 
#define SLI4_PCI_CLASS_REVISION   0x0008 /** register offset */
 
#define SLI4_PCI_REV_ID_SHIFT   0
 
#define SLI4_PCI_REV_ID_MASK   0xff
 
#define SLI4_PCI_CLASS_SHIFT   8
 
#define SLI4_PCI_CLASS_MASK   0xfff
 
#define SLI4_PCI_SOFT_RESET_CSR   0x005c /** register offset */
 
#define SLI4_PCI_SOFT_RESET_MASK   0x0080
 
#define SLI4_INTF_REG   0x0058 /** register offset */
 SLI_INTF - SLI Interface Definition Register. More...
 
#define SLI4_INTF_VALID_SHIFT   29
 
#define SLI4_INTF_VALID_MASK   0x7
 
#define SLI4_INTF_VALID   0x6
 
#define SLI4_INTF_IF_TYPE_SHIFT   12
 
#define SLI4_INTF_IF_TYPE_MASK   0xf
 
#define SLI4_INTF_SLI_FAMILY_SHIFT   8
 
#define SLI4_INTF_SLI_FAMILY_MASK   0xf
 
#define SLI4_INTF_SLI_REVISION_SHIFT   4
 
#define SLI4_INTF_SLI_REVISION_MASK   0xf
 
#define SLI4_IF_TYPE_BE3_SKH_PF   0
 
#define SLI4_IF_TYPE_BE3_SKH_VF   1
 
#define SLI4_IF_TYPE_LANCER_FC_ETH   2
 
#define SLI4_IF_TYPE_LANCER_RDMA   3
 
#define SLI4_MAX_IF_TYPES   4
 
#define SLI4_ASIC_ID_REG   0x009c /** register offset */
 ASIC_ID - SLI ASIC Type and Revision Register. More...
 
#define SLI4_ASIC_REV_SHIFT   0
 
#define SLI4_ASIC_REV_MASK   0xf
 
#define SLI4_ASIC_VER_SHIFT   4
 
#define SLI4_ASIC_VER_MASK   0xf
 
#define SLI4_ASIC_GEN_SHIFT   8
 
#define SLI4_ASIC_GEN_MASK   0xff
 
#define SLI4_ASIC_GEN_BE2   0x00
 
#define SLI4_ASIC_GEN_BE3   0x03
 
#define SLI4_ASIC_GEN_SKYHAWK   0x04
 
#define SLI4_BMBX_REG   0x0160 /** register offset */
 BMBX - Bootstrap Mailbox Register. More...
 
#define SLI4_BMBX_MASK_HI   0x3
 
#define SLI4_BMBX_MASK_LO   0xf
 
#define SLI4_BMBX_RDY   BIT(0)
 
#define SLI4_BMBX_HI   BIT(1)
 
#define SLI4_BMBX_WRITE_HI(r)   ((ocs_addr32_hi(r) & ~SLI4_BMBX_MASK_HI) | SLI4_BMBX_HI)
 
#define SLI4_BMBX_WRITE_LO(r)
 
#define SLI4_BMBX_SIZE   256
 
#define SLI4_EQCQ_DOORBELL_REG   0x120
 EQCQ_DOORBELL - EQ and CQ Doorbell Register. More...
 
#define SLI4_EQCQ_DOORBELL_CI   BIT(9)
 
#define SLI4_EQCQ_DOORBELL_QT   BIT(10)
 
#define SLI4_EQCQ_DOORBELL_ARM   BIT(29)
 
#define SLI4_EQCQ_DOORBELL_SE   BIT(31)
 
#define SLI4_EQCQ_NUM_SHIFT   16
 
#define SLI4_EQCQ_NUM_MASK   0x01ff
 
#define SLI4_EQCQ_EQ_ID_MASK   0x3fff
 
#define SLI4_EQCQ_CQ_ID_MASK   0x7fff
 
#define SLI4_EQCQ_EQ_ID_MASK_LO   0x01ff
 
#define SLI4_EQCQ_CQ_ID_MASK_LO   0x03ff
 
#define SLI4_EQCQ_EQCQ_ID_MASK_HI   0xf800
 
#define SLI4_SLIPORT_CONTROL_REG   0x0408
 SLIPORT_CONTROL - SLI Port Control Register. More...
 
#define SLI4_SLIPORT_CONTROL_END   BIT(30)
 
#define SLI4_SLIPORT_CONTROL_LITTLE_ENDIAN   (0)
 
#define SLI4_SLIPORT_CONTROL_BIG_ENDIAN   BIT(30)
 
#define SLI4_SLIPORT_CONTROL_IP   BIT(27)
 
#define SLI4_SLIPORT_CONTROL_IDIS   BIT(22)
 
#define SLI4_SLIPORT_ERROR1   0x040c
 SLI4_SLIPORT_ERROR1 - SLI Port Error register. More...
 
#define SLI4_SLIPORT_ERROR2   0x0410
 SLI4_SLIPORT_ERROR2 - SLI Port Error register. More...
 
#define SLI4_IF6_DPP_DOORBELL_REG_SET   2
 
#define SLI4_ONLINE0_REG   0xB0
 
#define SLI4_ONLINE1_REG   0xB4
 
#define SLI4_UERR_STATUS_LOW_REG   0xA0
 
#define SLI4_UERR_STATUS_HIGH_REG   0xA4
 
#define SLI4_UERR_MASK_LOW_REG   0xA8
 
#define SLI4_UERR_MASK_HIGH_REG   0xAC
 
#define SLI4_MQ_DOORBELL_REG   0x0140 /** register offset */
 MQ_DOORBELL - MQ Doorbell Register. More...
 
#define SLI4_MQ_DOORBELL_NUM_SHIFT   16
 
#define SLI4_MQ_DOORBELL_NUM_MASK   0x3fff
 
#define SLI4_MQ_DOORBELL_ID_MASK   0xffff
 
#define SLI4_MQ_DOORBELL(n, i)
 
#define SLI4_RQ_DOORBELL_REG   0x0a0 /** register offset */
 RQ_DOORBELL - RQ Doorbell Register. More...
 
#define SLI4_RQ_DOORBELL_NUM_SHIFT   16
 
#define SLI4_RQ_DOORBELL_NUM_MASK   0x3fff
 
#define SLI4_RQ_DOORBELL_ID_MASK   0xffff
 
#define SLI4_RQ_DOORBELL(n, i)
 
#define SLI4_IO_WQ_DOORBELL_REG   0x040 /** register offset */
 WQ_DOORBELL - WQ Doorbell Register. More...
 
#define SLI4_WQ_DOORBELL_IDX_SHIFT   16
 
#define SLI4_WQ_DOORBELL_IDX_MASK   0x00ff
 
#define SLI4_WQ_DOORBELL_NUM_SHIFT   24
 
#define SLI4_WQ_DOORBELL_NUM_MASK   0x00ff
 
#define SLI4_WQ_DOORBELL_ID_MASK   0xffff
 
#define SLI4_WQ_DOORBELL(n, x, i)
 
#define SLI4_PORT_SEMAPHORE_REG_01   0xAC
 SLIPORT_SEMAPHORE - SLI Port Host and Port Status Register. More...
 
#define SLI4_PORT_SEMAPHORE_REG_23   0x0400
 
#define SLI4_PORT_SEMAPHORE_PORT_MASK   0x0000ffff
 
#define SLI4_PORT_SEMAPHORE_PORT(r)   ((r) & SLI4_PORT_SEMAPHORE_PORT_MASK)
 
#define SLI4_PORT_SEMAPHORE_HOST_MASK   0x00ff0000
 
#define SLI4_PORT_SEMAPHORE_HOST_SHIFT   16
 
#define SLI4_PORT_SEMAPHORE_HOST(r)
 
#define SLI4_PORT_SEMAPHORE_SCR2   BIT(26)
 
#define SLI4_PORT_SEMAPHORE_SCR1   BIT(27)
 
#define SLI4_PORT_SEMAPHORE_IPC   BIT(28)
 
#define SLI4_PORT_SEMAPHORE_NIP   BIT(29)
 
#define SLI4_PORT_SEMAPHORE_SFI   BIT(30)
 
#define SLI4_PORT_SEMAPHORE_PERR   BIT(31)
 
#define SLI4_PORT_SEMAPHORE_STATUS_POST_READY   0xc000
 
#define SLI4_PORT_SEMAPHORE_STATUS_UNRECOV_ERR   0xf000
 
#define SLI4_PORT_SEMAPHORE_STATUS_ERR_MASK   0xf000
 
#define SLI4_PORT_SEMAPHORE_IN_ERR(r)
 
#define SLI4_PORT_STATUS_REG_23   0x0404
 SLIPORT_STATUS - SLI Port Status Register. More...
 
#define SLI4_PORT_STATUS_RDY   BIT(23) /* ready */
 
#define SLI4_PORT_STATUS_RN   BIT(24) /* reset needed */
 
#define SLI4_PORT_STATUS_OTI   BIT(29) /* over temp indicator */
 
#define SLI4_PORT_STATUS_END   BIT(30) /* endianness */
 
#define SLI4_PORT_STATUS_ERR   BIT(31) /* SLI port error */
 
#define SLI4_PORT_STATUS_READY(r)   ((r) & SLI4_PORT_STATUS_RDY)
 
#define SLI4_PORT_STATUS_ERROR(r)   ((r) & SLI4_PORT_STATUS_ERR)
 
#define SLI4_MBOX_STATUS_SUCCESS   0x0000
 
#define SLI4_MBOX_STATUS_FAILURE   0x0001
 
#define SLI4_BDE_TYPE_BDE_64   0x00 /** Generic 64-bit data */
 
#define SLI4_BDE_TYPE_BDE_IMM   0x01 /** Immediate data */
 
#define SLI4_BDE_TYPE_BLP   0x40 /** Buffer List Pointer */
 
#define SLI4_ISCSI_SGL_CRA_32(__idx__, __frag__, __off__)   (0x20000000 | ((__idx__) << 9) | ((__frag__) << 4) | (__off__))
 
#define SLI4_ISCSI_SGL_CRA_256(__idx__, __frag__, __off__)   (0x20000000 | ((__idx__) << 12) | ((__frag__) << 4) | (__off__))
 
#define SLI4_SGE_MAX_RESERVED   3
 
#define SLI4_SGE_DIF_OP_IN_NODIF_OUT_CRC   0x00
 
#define SLI4_SGE_DIF_OP_IN_CRC_OUT_NODIF   0x01
 
#define SLI4_SGE_DIF_OP_IN_NODIF_OUT_CHKSUM   0x02
 
#define SLI4_SGE_DIF_OP_IN_CHKSUM_OUT_NODIF   0x03
 
#define SLI4_SGE_DIF_OP_IN_CRC_OUT_CRC   0x04
 
#define SLI4_SGE_DIF_OP_IN_CHKSUM_OUT_CHKSUM   0x05
 
#define SLI4_SGE_DIF_OP_IN_CRC_OUT_CHKSUM   0x06
 
#define SLI4_SGE_DIF_OP_IN_CHKSUM_OUT_CRC   0x07
 
#define SLI4_SGE_TYPE_DATA   0x00
 
#define SLI4_SGE_TYPE_CHAIN   0x03
 
#define SLI4_SGE_TYPE_DIF   0x04 /** Data Integrity Field */
 
#define SLI4_SGE_TYPE_DISEED   0x08 /** DIF Seed */
 
#define SLI4_SGE_TYPE_SKIP   0x0c /** SKIP */
 
#define SLI4_CFG_STATUS_SUCCESS   0x00
 
#define SLI4_CFG_STATUS_FAILED   0x01
 
#define SLI4_CFG_STATUS_ILLEGAL_REQUEST   0x02
 
#define SLI4_CFG_STATUS_ILLEGAL_FIELD   0x03
 
#define SLI4_MGMT_STATUS_FLASHROM_READ_FAILED   0xcb
 
#define SLI4_CFG_ADD_STATUS_NO_STATUS   0x00
 
#define SLI4_CFG_ADD_STATUS_INVALID_OPCODE   0x1e
 
#define SLI4_SUBSYSTEM_COMMON   0x01
 
#define SLI4_SUBSYSTEM_COMMON_ISCSI   0x02
 
#define SLI4_SUBSYSTEM_ISCSI_INI   0x06
 
#define SLI4_SUBSYSTEM_ISCSI_TGT   0x07
 
#define SLI4_OPC_COMMON_GET_CNTL_ATTRIBUTES   0x20
 
#define SLI4_OPC_COMMON_GET_FW_VERSION   0x23
 
#define SLI4_OPC_COMMON_QUERY_FW_CONFIG   0x3a
 
#define SLI4_OPC_COMMON_FUNCTION_RESET   0x3d
 
#define SLI4_OPC_COMMON_SET_PHYSICAL_LINK_CONFIG   0x3e
 
#define SLI4_OPC_COMMON_CREATE_CQ   0x0c
 
#define SLI4_OPC_COMMON_DESTROY_CQ   0x36
 
#define SLI4_OPC_COMMON_CREATE_EQ   0x0d
 
#define SLI4_OPC_COMMON_DESTROY_EQ   0x37
 
#define SLI4_OPC_COMMON_MODIFY_EQ_DELAY   0x29
 
#define SLI4_OPC_COMMON_CREATE_MQ_EXT   0x5a
 
#define SLI4_OPC_COMMON_DESTROY_MQ   0x35
 
#define SLI4_OPC_COMMON_TCP_UPLOAD   0x38
 
#define SLI4_OPC_COMMON_NOP   0x21
 
#define SLI4_OPC_COMMON_WRITE_FLASHROM   0x07
 
#define SLI4_OPC_COMMON_MANAGE_FAT   0x44
 
#define SLI4_OPC_COMMON_READ_TRANSCEIVER_DATA   0x49
 
#define SLI4_OPC_COMMON_GET_BE_CONFIGURATION_AND_RESOURCES   0x51
 
#define SLI4_OPC_COMMON_SET_BE_CONFIGURATION_AND_RESOURCES   0x52
 
#define SLI4_OPC_COMMON_GET_VPD_DATA   0x5b
 
#define SLI4_OPC_COMMON_GET_CNTL_ADDL_ATTRIBUTES   0x79
 
#define SLI4_OPC_COMMON_GET_EXT_FAT_CAPABILITIES   0x7d
 
#define SLI4_OPC_COMMON_SET_EXT_FAT_CAPABILITIES   0x7e
 
#define SLI4_OPC_COMMON_EXT_FAT_CONFIGURE_SNAPSHOT   0x7f
 
#define SLI4_OPC_COMMON_EXT_FAT_RETRIEVE_SNAPSHOT   0x80
 
#define SLI4_OPC_COMMON_EXT_FAT_READ_STRING_TABLE   0x82
 
#define SLI4_OPC_COMMON_GET_FUNCTION_CONFIG   0xa0
 
#define SLI4_OPC_COMMON_GET_PROFILE_CONFIG   0xa4
 
#define SLI4_OPC_COMMON_SET_PROFILE_CONFIG   0xa5
 
#define SLI4_OPC_COMMON_GET_PROFILE_LIST   0xa6
 
#define SLI4_OPC_COMMON_GET_ACTIVE_PROFILE   0xa7
 
#define SLI4_OPC_COMMON_SET_ACTIVE_PROFILE   0xa8
 
#define SLI4_OPC_COMMON_READ_OBJECT   0xab
 
#define SLI4_OPC_COMMON_WRITE_OBJECT   0xac
 
#define SLI4_OPC_COMMON_DELETE_OBJECT   0xae
 
#define SLI4_OPC_COMMON_READ_OBJECT_LIST   0xad
 
#define SLI4_OPC_COMMON_GET_SLI4_PARAMETERS   0xb5
 
#define SLI4_OPC_COMMON_SET_FEATURES   0xbf
 
#define SLI4_OPC_COMMON_GET_RECONFIG_LINK_INFO   0xc9
 
#define SLI4_OPC_COMMON_SET_RECONFIG_LINK_ID   0xca
 
#define SLI4_OPC_COMMON_ISCSI_SET_TCP_PARAMETERS   0x48
 
#define SLI4_OPC_COMMON_ISCSI_GET_CONNECTION_INFO   0x4a
 
#define SLI4_FUNCTION_MODE_ISCSI_INI_MODE   0x10
 
#define SLI4_FUNCTION_MODE_ISCSI_TGT_MODE   0x20
 
#define SLI4_FUNCTION_MODE_DUA_MODE   0x800
 
#define SLI4_ULP_MODE_ISCSI_INI   0x10
 
#define SLI4_ULP_MODE_ISCSI_TGT   0x20
 
#define SLI4_CQ_CNT_256   0
 
#define SLI4_CQ_CNT_512   1
 
#define SLI4_CQ_CNT_1024   2
 
#define SLI4_EQ_CNT_256   0
 
#define SLI4_EQ_CNT_512   1
 
#define SLI4_EQ_CNT_1024   2
 
#define SLI4_EQ_CNT_2048   3
 
#define SLI4_EQ_CNT_4096   4
 
#define SLI4_EQE_SIZE_4   0
 
#define SLI4_EQE_SIZE_16   1
 
#define SLI4_MQE_SIZE_16   0x05
 
#define SLI4_MQE_SIZE_32   0x06
 
#define SLI4_MQE_SIZE_64   0x07
 
#define SLI4_MQE_SIZE_128   0x08
 
#define SLI4_ASYNC_EVT_LINK_STATE   BIT(1)
 
#define SLI4_ASYNC_EVT_FCOE_FIP   BIT(2)
 
#define SLI4_ASYNC_EVT_DCBX   BIT(3)
 
#define SLI4_ASYNC_EVT_ISCSI   BIT(4)
 
#define SLI4_ASYNC_EVT_GRP5   BIT(5)
 
#define SLI4_ASYNC_EVT_FC   BIT(16)
 
#define SLI4_ASYNC_EVT_SLI_PORT   BIT(17)
 
#define SLI4_ASYNC_EVT_VF   BIT(18)
 
#define SLI4_ASYNC_EVT_MR   BIT(19)
 
#define SLI4_ASYNC_EVT_ALL
 
#define SLI4_ASYNC_EVT_ISCSI_EVENTS
 
#define SFP_PAGE_DATA_BYTES   256
 COMMON_READ_TRANSCEIVER_DATA. More...
 
#define SLI4_MGMT_FLASHROM_OPCODE_FLASH   0x01
 
#define SLI4_MGMT_FLASHROM_OPCODE_SAVE   0x02
 
#define SLI4_MGMT_FLASHROM_OPCODE_CLEAR   0x03
 
#define SLI4_MGMT_FLASHROM_OPCODE_REPORT   0x04
 
#define SLI4_MGMT_FLASHROM_OPCODE_IMAGE_INFO   0x05
 
#define SLI4_MGMT_FLASHROM_OPCODE_IMAGE_CRC   0x06
 
#define SLI4_MGMT_FLASHROM_OPCODE_OFFSET_BASED_FLASH   0x07
 
#define SLI4_MGMT_FLASHROM_OPCODE_OFFSET_BASED_SAVE   0x08
 
#define SLI4_MGMT_PHY_FLASHROM_OPCODE_FLASH   0x09
 
#define SLI4_MGMT_PHY_FLASHROM_OPCODE_SAVE   0x0a
 
#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_ISCSI   0x00
 
#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_REDBOOT   0x01
 
#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_BIOS   0x02
 
#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_PXE_BIOS   0x03
 
#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_CODE_CONTROL   0x04
 
#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_IPSEC_CFG   0x05
 
#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_INIT_DATA   0x06
 
#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_ROM_OFFSET   0x07
 
#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_FCOE_BIOS   0x08
 
#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_ISCSI_BAK   0x09
 
#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_FCOE_ACT   0x0a
 
#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_FCOE_BAK   0x0b
 
#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_CODE_CTRL_P   0x0c
 
#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_NCSI   0x0d
 
#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_NIC   0x0e
 
#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_DCBX   0x0f
 
#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_PXE_BIOS_CFG   0x10
 
#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_ALL_CFG_DATA   0x11
 
#define SLI4_RESOURCE_DESCRIPTOR_TYPE_PCIE   0x50
 Resource descriptor. More...
 
#define SLI4_RESOURCE_DESCRIPTOR_TYPE_NIC   0x51
 
#define SLI4_RESOURCE_DESCRIPTOR_TYPE_ISCSI   0x52
 
#define SLI4_RESOURCE_DESCRIPTOR_TYPE_FCFCOE   0x53
 
#define SLI4_RESOURCE_DESCRIPTOR_TYPE_RDMA   0x54
 
#define SLI4_RESOURCE_DESCRIPTOR_TYPE_PORT   0x55
 
#define SLI4_RESOURCE_DESCRIPTOR_TYPE_ISAP   0x56
 
#define SLI4_PORT_TYPE_NIC_TOE   0x01
 
#define SLI4_PORT_TYPE_ISCSI   0x02
 
#define SLI4_PORT_TYPE_FCOE   0x04
 
#define SLI4_PORT_TYPE_NIC_TOE_RDMA   0x08
 
#define SLI4_PORT_TYPE_FC   0x10
 
#define SLI4_PORT_TYPE_DEFAULT   0xff
 
#define MAX_PRODUCT_DESCRIPTORS   40
 
#define MAX_LINK_CONFIG_DESCRIPTORS   10
 
#define SLI4_SET_FEATURES_DIF_SEED   0x01
 COMMON_SET_SET_FEATURES. More...
 
#define SLI4_SET_FEATURES_XRI_TIMER   0x03
 
#define SLI4_SET_FEATURES_MAX_PCIE_SPEED   0x04
 
#define SLI4_SET_FEATURES_FCTL_CHECK   0x05
 
#define SLI4_SET_FEATURES_FEC   0x06
 
#define SLI4_SET_FEATURES_PCIE_RECV_DETECT   0x07
 
#define SLI4_SET_FEATURES_DIF_MEMORY_MODE   0x08
 
#define SLI4_ACQE_EVENT_CODE_LINK_STATE   0x01
 
#define SLI4_ACQE_EVENT_CODE_FCOE_FIP   0x02
 
#define SLI4_ACQE_EVENT_CODE_ISCSI   0x04
 
#define SLI4_ACQE_EVENT_CODE_GRP_5   0x05
 
#define SLI4_PHSDEV_CONTROL_REG_23   0x0414 /** register offset Interface Type 2 + 3 */
 
#define SLI4_PHYDEV_CONTROL_DRST   BIT(0) /** physical device reset */
 
#define SLI4_PHYDEV_CONTROL_FRST   BIT(1) /** firmware reset */
 
#define SLI4_PHYDEV_CONTROL_DD   BIT(2) /** diagnostic dump */
 
#define SLI4_PHYDEV_CONTROL_FRL_MASK   0x000000f0
 
#define SLI4_PHYDEV_CONTROL_FRL_SHIFT   4
 
#define SLI4_PHYDEV_CONTROL_FRL(r)
 
#define SLI_USER_MQ_COUNT   1 /** User specified max mail queues */
 
#define SLI_USER_EQ_COUNT   1 /** User specified max mail queues */
 
#define SLI4_QUEUE_DEFAULT_CQ   UINT16_MAX /** Use the default CQ */
 
#define SLI4_QUEUE_RQ_BATCH   8
 

Typedefs

typedef int32_t get_sli4_parameters_t (struct sli4_s *sli4)
 
typedef int32_t(* sli4_create_q_fn_t )(sli4_t *, void *, size_t, uint64_t, ocs_dma_t *, uint16_t, uint16_t)
 Common Create Queue function prototype. More...
 
typedef int32_t(* sli4_destroy_q_fn_t )(sli4_t *, void *, size_t, uint64_t, uint16_t)
 Common Destroy Queue function prototype. More...
 

Enumerations

enum  sli4_regname_e {
  SLI4_REG_BMBX, SLI4_REG_EQCQ_DOORBELL, SLI4_REG_FCOE_RQ_DOORBELL, SLI4_REG_IO_WQ_DOORBELL,
  SLI4_REG_MQ_DOORBELL, SLI4_REG_PHYSDEV_CONTROL, SLI4_REG_SLIPORT_CONTROL, SLI4_REG_SLIPORT_ERROR1,
  SLI4_REG_SLIPORT_ERROR2, SLI4_REG_SLIPORT_SEMAPHORE, SLI4_REG_SLIPORT_STATUS, SLI4_REG_UERR_MASK_HI,
  SLI4_REG_UERR_MASK_LO, SLI4_REG_UERR_STATUS_HI, SLI4_REG_UERR_STATUS_LO, SLI4_REG_ONLINE0,
  SLI4_REG_ONLINE1, SLI4_REG_MAX
}
 Register name enums. More...
 
enum  sli4_qtype_e {
  SLI_QTYPE_EQ, SLI_QTYPE_CQ, SLI_QTYPE_MQ, SLI_QTYPE_WQ,
  SLI_QTYPE_RQ, SLI_QTYPE_MAX
}
 
enum  sli4_qentry_e {
  SLI_CQENTRY_ASYNC, SLI_CQENTRY_MQ, SLI_CQENTRY_RQ, SLI_CQENTRY_CNX_INVALID,
  SLI_CQENTRY_INI_IO, SLI_CQENTRY_TGT_IO, SLI_CQENTRY_TCP_ACK, SLI_CQENTRY_TGT_CMD_INVALID,
  SLI_CQENTRY_TGT_DATA_DIGEST, SLI_CQENTRY_TX_DIF_ERROR, SLI_CQENTRY_MAX
}
 
enum  sli4_status_t {
  SLI_STATUS_SOL_CMD_CMPL_NORMAL = 1, SLI_STATUS_SOL_CMD_DATA_DIGEST_ERROR, SLI_STATUS_RECV_PDU_LARGER_THAN_DSL, SLI_STATUS_RECV_PDU_LARGER_FBRST_MBRST,
  SLI_STATUS_RECV_PDU_AHS_NOT_SUPPORTED, SLI_STATUS_RECV_PDU_HDR_DIGEST_ERROR, SLI_STATUS_RECV_PDU_BAD_OPCODE, SLI_STATUS_RECV_PDU_BAD_ITT_TTT,
  SLI_STATUS_RECV_PDU_ITT_TTT_LARGER_THAN_MAX, SLI_STATUS_RECV_TCP_RST, SLI_STATUS_RECV_TCP_TIMEOUT, SLI_STATUS_RECV_TCP_RESET,
  SLI_STATUS_RECV_TCP_FIN, SLI_STATUS_RECV_BAD_UNSOL_PDU, SLI_STATUS_RECV_BAD_WQE_INDEX, SLI_STATUS_CMD_OVERRUN,
  SLI_STATUS_CMD_UNDERRUN, SLI_STATUS_INVALID_STATUS_SN, SLI_STATUS_INVALID_R2T, SLI_STATUS_INVALID_LUN,
  SLI_STATUS_INVALID_ICD, SLI_STATUS_INVALID_ITT, SLI_STATUS_BUFFER_OFFSET_OUT_OF_ORDER, SLI_STATUS_INVALID_DATA_SN,
  SLI_STATUS_HOST_CXN_INVALID_NOTIFY, SLI_STATUS_HOST_CXN_INVALID_NOTIFY_WITH_PDU, SLI_STATUS_HOST_CMD_INVALID_NOTIFY, SLI_STATUS_UNSOL_HEADER_NOTIFY,
  SLI_STATUS_UNSOL_DATA_NOTIFY, SLI_STATUS_UNSOL_DATA_DIGEST_ERROR, SLI_STATUS_TCP_ACK_NOTIFY, SLI_STATUS_CMD_DATA_ON_DIFF_CXN,
  SLI_STATUS_DIF_ERROR, SLI_STATUS_UNSOL_PDU_ERROR, SLI_STATUS_TX_DIF_ERROR, SLI_STATUS_DISPATCH_ERROR,
  SLI_STATUS_MAX
}
 
enum  sli4_callback_e { SLI4_CB_LINK, SLI4_CB_ISCSI_ASYNC, SLI4_CB_MAX }
 
enum  sli4_link_status_e { SLI_LINK_STATUS_UP, SLI_LINK_STATUS_DOWN, SLI_LINK_STATUS_MAX }
 
enum  sli4_iscsi_async_event_e {
  SLI_ISCSI_ASYNC_NEW_TCP, SLI_ISCSI_ASYNC_STATELESS_V4_OP_CMPL, SLI_ISCSI_ASYNC_STATELESS_v6_OP_CMPL, SLI_ISCSI_ASYNC_DHCP_OP_CMPL,
  SLI_ISCSI_ASYNC_ICMPV6_ERROR, SLI_ISCSI_ASYNC_PORT_MTU_CHANGED, SLI_ISCSI_ASYNC_MAX
}
 
enum  sli4_port_type_e { SLI4_PORT_TYPE_ISCSI_INI, SLI4_PORT_TYPE_ISCSI_TGT, SLI4_PORT_TYPE_ISCSI_BOTH, SLI4_PORT_TYPE_MAX }
 
enum  sli4_asic_type_e { SLI4_ASIC_TYPE_BE3 = 1, SLI4_ASIC_TYPE_SKYHAWK, SLI4_ASIC_TYPE_LANCER, SLI4_ASIC_TYPE_CORSAIR }
 
enum  sli4_asic_rev_e {
  SLI4_ASIC_REV_FPGA = 1, SLI4_ASIC_REV_A0, SLI4_ASIC_REV_A1, SLI4_ASIC_REV_A2,
  SLI4_ASIC_REV_A3, SLI4_ASIC_REV_B0, SLI4_ASIC_REV_B1, SLI4_ASIC_REV_C0,
  SLI4_ASIC_REV_D0
}
 

Functions

static uint32_t sli_eq_doorbell (uint16_t n_popped, uint16_t id, uint8_t arm)
 
static uint32_t sli_cq_doorbell (uint16_t n_popped, uint16_t id, uint8_t arm)
 
static uint32_t sli_get_max_queue (sli4_t *sli4, sli4_qtype_e qtype)
 
static uint32_t sli_get_max_qentries (sli4_t *sli4, sli4_qtype_e qtype)
 
static uint32_t sli_get_max_sge (sli4_t *sli4)
 
static uint32_t sli_is_dif_capable (sli4_t *sli4)
 
static uint32_t sli_is_dif_inline_capable (sli4_t *sli4)
 
static uint32_t sli_is_dif_separate_capable (sli4_t *sli4)
 
static uint32_t sli_is_sgl_chaining_capable (sli4_t *sli4)
 
static uint32_t sli_is_dual_ulp_capable (sli4_t *sli4)
 
static uint32_t sli_is_ulp_enabled (sli4_t *sli4, uint16_t ulp)
 
static void sli_chain_sge_build (sli4_t *sli4, sli4_chain_sge_t *sge, uint32_t icd_index, uint32_t frag_num, uint32_t offset)
 
static uint32_t sli_get_sli_rev (sli4_t *sli4)
 
static uint32_t sli_get_sli_family (sli4_t *sli4)
 
static uint32_t sli_get_if_type (sli4_t *sli4)
 
static void * sli_get_vpd (sli4_t *sli4)
 
static uint32_t sli_get_vpd_len (sli4_t *sli4)
 
static char * sli_get_ipl_name (sli4_t *sli4)
 
static uint32_t sli_convert_mask_to_count (uint32_t method, uint32_t mask)
 
int32_t sli_cmd_mailbox_queue_entry (sli4_t *, void *, size_t, uint64_t, uint32_t, ocs_dma_t *)
 Write a MQE header in the provided buffer. More...
 
int32_t sli_cmd_common_tcp_upload (sli4_t *sli4, void *buf, size_t size, uint64_t tag, uint16_t wq_id, uint8_t graceful)
 Write a COMMON_TCP_UPLOAD command. More...
 
int32_t sli_cmd_common_nop (sli4_t *, void *, size_t, uint64_t, uint64_t)
 Write a COMMON_NOP command. More...
 
int32_t sli_cmd_common_set_be_configuration_and_resources (sli4_t *sli4, void *buf, size_t size, uint64_t tag, uint8_t *mac_addr)
 Write a COMMON_COMMON_SET_BE_CONFIGURATION_AND_RESOURCES command. More...
 
int32_t sli_cmd_common_get_profile_list (sli4_t *sli4, void *buf, size_t size, uint64_t tag, uint32_t start_profile_index, ocs_dma_t *dma)
 Write a COMMON_COMMON_GET_PROFILE_LIST command. More...
 
int32_t sli_cmd_common_get_active_profile (sli4_t *sli4, void *buf, size_t size, uint64_t tag)
 Write a COMMON_COMMON_GET_ACTIVE_PROFILE command. More...
 
int32_t sli_cmd_common_set_active_profile (sli4_t *sli4, void *buf, size_t size, uint64_t tag, uint32_t fd, uint32_t active_profile_id)
 Write a COMMON_COMMON_SET_ACTIVE_PROFILE command. More...
 
int32_t sli_cmd_common_get_reconfig_link_info (sli4_t *sli4, void *buf, size_t size, uint64_t tag, ocs_dma_t *dma)
 Write a COMMON_COMMON_GET_RECONFIG_LINK_INFO command. More...
 
int32_t sli_cmd_common_set_reconfig_link_id (sli4_t *sli4, void *buf, size_t size, uint64_t tag, ocs_dma_t *dma, uint32_t fd, uint32_t active_link_config_id)
 Write a COMMON_COMMON_SET_RECONFIG_LINK_ID command. More...
 
int32_t sli_cmd_common_get_function_config (sli4_t *sli4, void *buf, size_t size, uint64_t tag)
 Write a COMMON_COMMON_GET_FUNCTION_CONFIG command. More...
 
int32_t sli_cmd_common_get_profile_config (sli4_t *sli4, void *buf, size_t size, uint64_t tag, ocs_dma_t *dma)
 Write a COMMON_COMMON_GET_PROFILE_CONFIG command. More...
 
int32_t sli_cmd_common_set_profile_config (sli4_t *sli4, void *buf, size_t size, uint64_t tag, ocs_dma_t *dma, uint8_t profile_id, uint32_t descriptor_count, uint8_t isap)
 Write a COMMON_COMMON_SET_PROFILE_CONFIG command. More...
 
int32_t sli_cmd_common_set_features (sli4_t *, void *, size_t, uint32_t, uint32_t, void *)
 Write a COMMON_SET_FEATURES command. More...
 
int32_t sli_cqe_mq (void *)
 Check mailbox/queue completion entry. More...
 
int32_t sli_cqe_async (sli4_t *, void *)
 Check asynchronous event completion entry. More...
 
int32_t sli_setup (sli4_t *, ocs_os_handle_t, sli4_port_type_e)
 Setup the SLI context. More...
 
int32_t sli_raise_ue (sli4_t *)
 
int32_t sli_init (sli4_t *)
 
int32_t sli_reset (sli4_t *)
 
int32_t sli_fw_reset (sli4_t *)
 
int32_t sli_teardown (sli4_t *)
 Tear down a SLI context. More...
 
int32_t sli_callback (sli4_t *, sli4_callback_e, void *, void *)
 Register a callback for the given event. More...
 
int32_t sli_bmbx_command (sli4_t *)
 Submit a command to the bootstrap mailbox and check the status. More...
 
int32_t __sli_queue_init (sli4_t *, sli4_queue_t *, uint32_t, uint32_t, size_t, uint32_t, uint32_t)
 Initialize a queue object. More...
 
int32_t __sli_create_queue (sli4_t *, sli4_queue_t *)
 Issue command to create queue. More...
 
int32_t sli_eq_modify_delay (sli4_t *sli4, sli4_queue_t *eq, uint32_t num_eq, uint32_t shift, uint32_t delay_mult)
 Modify the delay timer for all the EQs. More...
 
int32_t sli_queue_alloc (sli4_t *, uint32_t, sli4_queue_t *, uint32_t, sli4_queue_t *, uint16_t)
 Allocate a queue. More...
 
int32_t sli_queue_free (sli4_t *, sli4_queue_t *)
 Free a queue. More...
 
int32_t sli_queue_reset (sli4_t *, sli4_queue_t *)
 Zero all queue entries and reset the indexes. More...
 
int32_t sli_queue_is_empty (sli4_t *, sli4_queue_t *)
 Check if the given queue is empty. More...
 
int32_t sli_queue_arm (sli4_t *, sli4_queue_t *, uint8_t)
 Arm or dis-arm a queue. More...
 
int32_t _sli_queue_write (sli4_t *, sli4_queue_t *, uint8_t *)
 Write an entry to the queue object. More...
 
int32_t sli_queue_write (sli4_t *, sli4_queue_t *, uint8_t *)
 Write an entry to the queue object. More...
 
int32_t sli_queue_read (sli4_t *, sli4_queue_t *, uint8_t *)
 Read an entry from the queue object. More...
 
int32_t sli_queue_index (sli4_t *, sli4_queue_t *)
 
int32_t sli_queue_poke (sli4_t *, sli4_queue_t *, uint32_t, uint8_t *)
 
int32_t _sli_queue_poke (sli4_t *, sli4_queue_t *, uint32_t, uint8_t *)
 
int32_t sli_queue_peek (sli4_t *, sli4_queue_t *, uint32_t, uint8_t *)
 
int32_t _sli_queue_peek (sli4_t *, sli4_queue_t *, uint32_t, uint8_t *)
 
int32_t sli_queue_iscsi_wq_write (sli4_t *sli4, sli4_queue_t *q, uint8_t *entry, void *io)
 
int32_t sli_queue_iscsi_wqe_invalidate (sli4_t *sli4, sli4_queue_t *q, void *io)
 
void * sli_queue_iscsi_wqe_complete (sli4_t *sli4, sli4_queue_t *q, uint8_t wqe_index)
 Processes a solicited IO completion. Moves the WRB to the free list. More...
 
int32_t sli_queue_iscsi_tcp_ack (sli4_t *sli4, sli4_queue_t *q, uint8_t wqe_index)
 Processes a TCP ACK completion. More...
 
void * sli_queue_iscsi_icd_lookup (sli4_t *sli4, sli4_queue_t *q, uint16_t icd_index)
 Returns the IO tied to a specific ICD index. More...
 
void * sli_queue_iscsi_icd_invalid (sli4_t *sli4, sli4_queue_t *q, uint16_t icd_index, uint8_t *wait_for_tcp_ack, uint8_t tcp_ack_status)
 Processes a target command invalidation IO completion. Moves the WRB to the free list. More...
 
uint32_t sli_queue_iscsi_free_cnt (sli4_t *sli4, sli4_queue_t *q)
 Return the number of free WRB entries. More...
 
void sli_queue_iscsi_cleanup (void *hal, sli4_t *sli4, sli4_queue_t *q)
 Moves any WQE entries from the busy back to the free list when a connection is uploaded. More...
 
int32_t sli_eq_parse (sli4_t *, uint8_t *, uint16_t *)
 Parse an EQ entry to retrieve the CQ_ID for this event. More...
 
int32_t sli_cq_parse (sli4_t *, sli4_queue_t *, uint8_t *, sli4_qentry_fields_t *)
 Parse a CQ entry to retrieve event type and associated queue. More...
 
void sli_interrupt_set (sli4_t *, uint8_t)
 
uint32_t sli_reg_read (sli4_t *, sli4_regname_e)
 Read the given SLI register. More...
 
void sli_reg_write (sli4_t *, sli4_regname_e, uint32_t)
 Write the value to the given SLI register. More...
 
int32_t sli_fw_error_status (sli4_t *)
 Read the SLIPORT_SEMAPHORE and SLIPORT_STATUS registers to check if the port status indicates that a FW error has occurred. More...
 

Variables

const uint8_t sli4_fw_initialize [8]
 FW_INITIALIZE - initialize a SLI port. More...
 
const uint8_t sli4_fw_deinitialize [8]
 FW_DEINITIALIZE - deinitialize a SLI port. More...
 

Macro Details

#define MAX_LINK_CONFIG_DESCRIPTORS   10

Definition at line 1603 of file sli4.h.

#define MAX_PRODUCT_DESCRIPTORS   40

Definition at line 1532 of file sli4.h.

#define MEMBAR_CTRL_INT_CTRL_HOSTINTR_MASK   (1 << 29) /* bit 29 */

Definition at line 62 of file sli4.h.

#define PCICFG_MEMBAR_CTRL_INT_CTRL_OFFSET   0xfc

Definition at line 54 of file sli4.h.

#define SFP_PAGE_DATA_BYTES   256

COMMON_READ_TRANSCEIVER_DATA.

Definition at line 1120 of file sli4.h.

#define SLI4_ACQE_EVENT_CODE_FCOE_FIP   0x02

Definition at line 1814 of file sli4.h.

#define SLI4_ACQE_EVENT_CODE_GRP_5   0x05

Definition at line 1816 of file sli4.h.

#define SLI4_ACQE_EVENT_CODE_ISCSI   0x04

Definition at line 1815 of file sli4.h.

#define SLI4_ACQE_EVENT_CODE_LINK_STATE   0x01

Definition at line 1813 of file sli4.h.

#define SLI4_ASIC_GEN_BE2   0x00

Definition at line 108 of file sli4.h.

#define SLI4_ASIC_GEN_BE3   0x03

Definition at line 109 of file sli4.h.

#define SLI4_ASIC_GEN_MASK   0xff

Definition at line 107 of file sli4.h.

#define SLI4_ASIC_GEN_SHIFT   8

Definition at line 106 of file sli4.h.

#define SLI4_ASIC_GEN_SKYHAWK   0x04

Definition at line 110 of file sli4.h.

#define SLI4_ASIC_ID_REG   0x009c /** register offset */

ASIC_ID - SLI ASIC Type and Revision Register.

Definition at line 101 of file sli4.h.

#define SLI4_ASIC_REV_MASK   0xf

Definition at line 103 of file sli4.h.

#define SLI4_ASIC_REV_SHIFT   0

Definition at line 102 of file sli4.h.

#define SLI4_ASIC_VER_MASK   0xf

Definition at line 105 of file sli4.h.

#define SLI4_ASIC_VER_SHIFT   4

Definition at line 104 of file sli4.h.

#define SLI4_ASYNC_EVT_ALL
Value:
#define SLI4_ASYNC_EVT_ISCSI
Definition: sli4.h:1041
#define SLI4_ASYNC_EVT_GRP5
Definition: sli4.h:1042
#define SLI4_ASYNC_EVT_FC
Definition: sli4.h:1043
#define SLI4_ASYNC_EVT_SLI_PORT
Definition: sli4.h:1044
#define SLI4_ASYNC_EVT_VF
Definition: sli4.h:1045
#define SLI4_ASYNC_EVT_MR
Definition: sli4.h:1046
#define SLI4_ASYNC_EVT_FCOE_FIP
Definition: sli4.h:1039
#define SLI4_ASYNC_EVT_LINK_STATE
Definition: sli4.h:1038
#define SLI4_ASYNC_EVT_DCBX
Definition: sli4.h:1040

Definition at line 1048 of file sli4.h.

#define SLI4_ASYNC_EVT_DCBX   BIT(3)

Definition at line 1040 of file sli4.h.

#define SLI4_ASYNC_EVT_FC   BIT(16)

Definition at line 1043 of file sli4.h.

#define SLI4_ASYNC_EVT_FCOE_FIP   BIT(2)

Definition at line 1039 of file sli4.h.

#define SLI4_ASYNC_EVT_GRP5   BIT(5)

Definition at line 1042 of file sli4.h.

#define SLI4_ASYNC_EVT_ISCSI   BIT(4)

Definition at line 1041 of file sli4.h.

#define SLI4_ASYNC_EVT_ISCSI_EVENTS
Value:
#define SLI4_ASYNC_EVT_ISCSI
Definition: sli4.h:1041
#define SLI4_ASYNC_EVT_GRP5
Definition: sli4.h:1042
#define SLI4_ASYNC_EVT_FCOE_FIP
Definition: sli4.h:1039
#define SLI4_ASYNC_EVT_LINK_STATE
Definition: sli4.h:1038

Definition at line 1059 of file sli4.h.

#define SLI4_ASYNC_EVT_LINK_STATE   BIT(1)

Definition at line 1038 of file sli4.h.

#define SLI4_ASYNC_EVT_MR   BIT(19)

Definition at line 1046 of file sli4.h.

#define SLI4_ASYNC_EVT_SLI_PORT   BIT(17)

Definition at line 1044 of file sli4.h.

#define SLI4_ASYNC_EVT_VF   BIT(18)

Definition at line 1045 of file sli4.h.

#define SLI4_BDE_TYPE_BDE_64   0x00 /** Generic 64-bit data */

Definition at line 372 of file sli4.h.

#define SLI4_BDE_TYPE_BDE_IMM   0x01 /** Immediate data */

Definition at line 373 of file sli4.h.

#define SLI4_BDE_TYPE_BLP   0x40 /** Buffer List Pointer */

Definition at line 374 of file sli4.h.

#define SLI4_BMBX_HI   BIT(1)

Definition at line 119 of file sli4.h.

#define SLI4_BMBX_MASK_HI   0x3

Definition at line 116 of file sli4.h.

#define SLI4_BMBX_MASK_LO   0xf

Definition at line 117 of file sli4.h.

#define SLI4_BMBX_RDY   BIT(0)

Definition at line 118 of file sli4.h.

#define SLI4_BMBX_REG   0x0160 /** register offset */

BMBX - Bootstrap Mailbox Register.

Definition at line 115 of file sli4.h.

#define SLI4_BMBX_SIZE   256

Definition at line 128 of file sli4.h.

#define SLI4_BMBX_WRITE_HI (   r)    ((ocs_addr32_hi(r) & ~SLI4_BMBX_MASK_HI) | SLI4_BMBX_HI)

Definition at line 121 of file sli4.h.

#define SLI4_BMBX_WRITE_LO (   r)
Value:
(((ocs_addr32_hi(r) & SLI4_BMBX_MASK_HI) << 30) | \
(((r) & ~SLI4_BMBX_MASK_LO) >> 2))
#define SLI4_BMBX_MASK_HI
Definition: sli4.h:116
#define SLI4_BMBX_MASK_LO
Definition: sli4.h:117

Definition at line 124 of file sli4.h.

#define SLI4_CFG_ADD_STATUS_INVALID_OPCODE   0x1e

Definition at line 502 of file sli4.h.

#define SLI4_CFG_ADD_STATUS_NO_STATUS   0x00

Definition at line 501 of file sli4.h.

#define SLI4_CFG_STATUS_FAILED   0x01

Definition at line 495 of file sli4.h.

#define SLI4_CFG_STATUS_ILLEGAL_FIELD   0x03

Definition at line 497 of file sli4.h.

#define SLI4_CFG_STATUS_ILLEGAL_REQUEST   0x02

Definition at line 496 of file sli4.h.

#define SLI4_CFG_STATUS_SUCCESS   0x00

Definition at line 494 of file sli4.h.

#define SLI4_CQ_CNT_1024   2

Definition at line 909 of file sli4.h.

#define SLI4_CQ_CNT_256   0

CQE Count

Definition at line 907 of file sli4.h.

#define SLI4_CQ_CNT_512   1

Definition at line 908 of file sli4.h.

#define SLI4_EQ_CNT_1024   2

Definition at line 978 of file sli4.h.

#define SLI4_EQ_CNT_2048   3

Definition at line 979 of file sli4.h.

#define SLI4_EQ_CNT_256   0

Definition at line 976 of file sli4.h.

#define SLI4_EQ_CNT_4096   4

Definition at line 980 of file sli4.h.

#define SLI4_EQ_CNT_512   1

Definition at line 977 of file sli4.h.

#define SLI4_EQCQ_CQ_ID_MASK   0x7fff

Definition at line 141 of file sli4.h.

#define SLI4_EQCQ_CQ_ID_MASK_LO   0x03ff

Definition at line 143 of file sli4.h.

#define SLI4_EQCQ_DOORBELL_ARM   BIT(29)

Definition at line 136 of file sli4.h.

#define SLI4_EQCQ_DOORBELL_CI   BIT(9)

Definition at line 134 of file sli4.h.

#define SLI4_EQCQ_DOORBELL_QT   BIT(10)

Definition at line 135 of file sli4.h.

#define SLI4_EQCQ_DOORBELL_REG   0x120

EQCQ_DOORBELL - EQ and CQ Doorbell Register.

Definition at line 133 of file sli4.h.

#define SLI4_EQCQ_DOORBELL_SE   BIT(31)

Definition at line 137 of file sli4.h.

#define SLI4_EQCQ_EQ_ID_MASK   0x3fff

Definition at line 140 of file sli4.h.

#define SLI4_EQCQ_EQ_ID_MASK_LO   0x01ff

Definition at line 142 of file sli4.h.

#define SLI4_EQCQ_EQCQ_ID_MASK_HI   0xf800

Definition at line 144 of file sli4.h.

#define SLI4_EQCQ_NUM_MASK   0x01ff

Definition at line 139 of file sli4.h.

#define SLI4_EQCQ_NUM_SHIFT   16

Definition at line 138 of file sli4.h.

#define SLI4_EQE_SIZE_16   1

Definition at line 983 of file sli4.h.

#define SLI4_EQE_SIZE_4   0

Definition at line 982 of file sli4.h.

#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_ALL_CFG_DATA   0x11

Definition at line 1240 of file sli4.h.

#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_BIOS   0x02

Definition at line 1225 of file sli4.h.

#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_CODE_CONTROL   0x04

Definition at line 1227 of file sli4.h.

#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_CODE_CTRL_P   0x0c

Definition at line 1235 of file sli4.h.

#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_DCBX   0x0f

Definition at line 1238 of file sli4.h.

#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_FCOE_ACT   0x0a

Definition at line 1233 of file sli4.h.

#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_FCOE_BAK   0x0b

Definition at line 1234 of file sli4.h.

#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_FCOE_BIOS   0x08

Definition at line 1231 of file sli4.h.

#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_INIT_DATA   0x06

Definition at line 1229 of file sli4.h.

#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_IPSEC_CFG   0x05

Definition at line 1228 of file sli4.h.

#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_ISCSI   0x00

Definition at line 1223 of file sli4.h.

#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_ISCSI_BAK   0x09

Definition at line 1232 of file sli4.h.

#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_NCSI   0x0d

Definition at line 1236 of file sli4.h.

#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_NIC   0x0e

Definition at line 1237 of file sli4.h.

#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_PXE_BIOS   0x03

Definition at line 1226 of file sli4.h.

#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_PXE_BIOS_CFG   0x10

Definition at line 1239 of file sli4.h.

#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_REDBOOT   0x01

Definition at line 1224 of file sli4.h.

#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_ROM_OFFSET   0x07

Definition at line 1230 of file sli4.h.

#define SLI4_FUNCTION_MODE_DUA_MODE   0x800

Definition at line 763 of file sli4.h.

#define SLI4_FUNCTION_MODE_ISCSI_INI_MODE   0x10

Definition at line 761 of file sli4.h.

#define SLI4_FUNCTION_MODE_ISCSI_TGT_MODE   0x20

Definition at line 762 of file sli4.h.

#define SLI4_IF6_DPP_DOORBELL_REG_SET   2

Definition at line 167 of file sli4.h.

#define SLI4_IF_TYPE_BE3_SKH_PF   0

Definition at line 92 of file sli4.h.

#define SLI4_IF_TYPE_BE3_SKH_VF   1

Definition at line 93 of file sli4.h.

#define SLI4_IF_TYPE_LANCER_FC_ETH   2

Definition at line 94 of file sli4.h.

#define SLI4_IF_TYPE_LANCER_RDMA   3

Definition at line 95 of file sli4.h.

#define SLI4_INTF_IF_TYPE_MASK   0xf

Definition at line 86 of file sli4.h.

#define SLI4_INTF_IF_TYPE_SHIFT   12

Definition at line 85 of file sli4.h.

#define SLI4_INTF_REG   0x0058 /** register offset */

SLI_INTF - SLI Interface Definition Register.

Definition at line 81 of file sli4.h.

#define SLI4_INTF_SLI_FAMILY_MASK   0xf

Definition at line 88 of file sli4.h.

#define SLI4_INTF_SLI_FAMILY_SHIFT   8

Definition at line 87 of file sli4.h.

#define SLI4_INTF_SLI_REVISION_MASK   0xf

Definition at line 90 of file sli4.h.

#define SLI4_INTF_SLI_REVISION_SHIFT   4

Definition at line 89 of file sli4.h.

#define SLI4_INTF_VALID   0x6

Definition at line 84 of file sli4.h.

#define SLI4_INTF_VALID_MASK   0x7

Definition at line 83 of file sli4.h.

#define SLI4_INTF_VALID_SHIFT   29

Definition at line 82 of file sli4.h.

#define SLI4_IO_WQ_DOORBELL_REG   0x040 /** register offset */

WQ_DOORBELL - WQ Doorbell Register.

Definition at line 265 of file sli4.h.

#define SLI4_ISCSI_SGL_CRA_256 (   __idx__,
  __frag__,
  __off__ 
)    (0x20000000 | ((__idx__) << 12) | ((__frag__) << 4) | (__off__))

Definition at line 409 of file sli4.h.

#define SLI4_ISCSI_SGL_CRA_32 (   __idx__,
  __frag__,
  __off__ 
)    (0x20000000 | ((__idx__) << 9) | ((__frag__) << 4) | (__off__))

Definition at line 406 of file sli4.h.

#define SLI4_MAX_IF_TYPES   4

Definition at line 96 of file sli4.h.

#define SLI4_MBOX_STATUS_FAILURE   0x0001

Definition at line 344 of file sli4.h.

#define SLI4_MBOX_STATUS_SUCCESS   0x0000

Definition at line 343 of file sli4.h.

#define SLI4_MGMT_FLASHROM_OPCODE_CLEAR   0x03

Definition at line 1214 of file sli4.h.

#define SLI4_MGMT_FLASHROM_OPCODE_FLASH   0x01

Definition at line 1212 of file sli4.h.

#define SLI4_MGMT_FLASHROM_OPCODE_IMAGE_CRC   0x06

Definition at line 1217 of file sli4.h.

#define SLI4_MGMT_FLASHROM_OPCODE_IMAGE_INFO   0x05

Definition at line 1216 of file sli4.h.

#define SLI4_MGMT_FLASHROM_OPCODE_OFFSET_BASED_FLASH   0x07

Definition at line 1218 of file sli4.h.

#define SLI4_MGMT_FLASHROM_OPCODE_OFFSET_BASED_SAVE   0x08

Definition at line 1219 of file sli4.h.

#define SLI4_MGMT_FLASHROM_OPCODE_REPORT   0x04

Definition at line 1215 of file sli4.h.

#define SLI4_MGMT_FLASHROM_OPCODE_SAVE   0x02

Definition at line 1213 of file sli4.h.

#define SLI4_MGMT_PHY_FLASHROM_OPCODE_FLASH   0x09

Definition at line 1220 of file sli4.h.

#define SLI4_MGMT_PHY_FLASHROM_OPCODE_SAVE   0x0a

Definition at line 1221 of file sli4.h.

#define SLI4_MGMT_STATUS_FLASHROM_READ_FAILED   0xcb

Definition at line 499 of file sli4.h.

#define SLI4_MQ_DOORBELL (   n,
  i 
)
Value:
#define SLI4_MQ_DOORBELL_ID_MASK
Definition: sli4.h:246
#define SLI4_MQ_DOORBELL_NUM_MASK
Definition: sli4.h:245
#define SLI4_MQ_DOORBELL_NUM_SHIFT
Definition: sli4.h:244

Definition at line 247 of file sli4.h.

#define SLI4_MQ_DOORBELL_ID_MASK   0xffff

Definition at line 246 of file sli4.h.

#define SLI4_MQ_DOORBELL_NUM_MASK   0x3fff

Definition at line 245 of file sli4.h.

#define SLI4_MQ_DOORBELL_NUM_SHIFT   16

Definition at line 244 of file sli4.h.

#define SLI4_MQ_DOORBELL_REG   0x0140 /** register offset */

MQ_DOORBELL - MQ Doorbell Register.

Definition at line 243 of file sli4.h.

#define SLI4_MQE_SIZE_128   0x08

Definition at line 1036 of file sli4.h.

#define SLI4_MQE_SIZE_16   0x05

Definition at line 1033 of file sli4.h.

#define SLI4_MQE_SIZE_32   0x06

Definition at line 1034 of file sli4.h.

#define SLI4_MQE_SIZE_64   0x07

Definition at line 1035 of file sli4.h.

#define SLI4_ONLINE0_REG   0xB0

Definition at line 230 of file sli4.h.

#define SLI4_ONLINE1_REG   0xB4

Definition at line 231 of file sli4.h.

#define SLI4_OPC_COMMON_CREATE_CQ   0x0c

Definition at line 520 of file sli4.h.

#define SLI4_OPC_COMMON_CREATE_EQ   0x0d

Definition at line 522 of file sli4.h.

#define SLI4_OPC_COMMON_CREATE_MQ_EXT   0x5a

Definition at line 525 of file sli4.h.

#define SLI4_OPC_COMMON_DELETE_OBJECT   0xae

Definition at line 549 of file sli4.h.

#define SLI4_OPC_COMMON_DESTROY_CQ   0x36

Definition at line 521 of file sli4.h.

#define SLI4_OPC_COMMON_DESTROY_EQ   0x37

Definition at line 523 of file sli4.h.

#define SLI4_OPC_COMMON_DESTROY_MQ   0x35

Definition at line 526 of file sli4.h.

#define SLI4_OPC_COMMON_EXT_FAT_CONFIGURE_SNAPSHOT   0x7f

Definition at line 538 of file sli4.h.

#define SLI4_OPC_COMMON_EXT_FAT_READ_STRING_TABLE   0x82

Definition at line 540 of file sli4.h.

#define SLI4_OPC_COMMON_EXT_FAT_RETRIEVE_SNAPSHOT   0x80

Definition at line 539 of file sli4.h.

#define SLI4_OPC_COMMON_FUNCTION_RESET   0x3d

Definition at line 518 of file sli4.h.

#define SLI4_OPC_COMMON_GET_ACTIVE_PROFILE   0xa7

Definition at line 545 of file sli4.h.

#define SLI4_OPC_COMMON_GET_BE_CONFIGURATION_AND_RESOURCES   0x51

Definition at line 532 of file sli4.h.

#define SLI4_OPC_COMMON_GET_CNTL_ADDL_ATTRIBUTES   0x79

Definition at line 535 of file sli4.h.

#define SLI4_OPC_COMMON_GET_CNTL_ATTRIBUTES   0x20

Common opcode (OPC) values

Definition at line 515 of file sli4.h.

#define SLI4_OPC_COMMON_GET_EXT_FAT_CAPABILITIES   0x7d

Definition at line 536 of file sli4.h.

#define SLI4_OPC_COMMON_GET_FUNCTION_CONFIG   0xa0

Definition at line 541 of file sli4.h.

#define SLI4_OPC_COMMON_GET_FW_VERSION   0x23

Definition at line 516 of file sli4.h.

#define SLI4_OPC_COMMON_GET_PROFILE_CONFIG   0xa4

Definition at line 542 of file sli4.h.

#define SLI4_OPC_COMMON_GET_PROFILE_LIST   0xa6

Definition at line 544 of file sli4.h.

#define SLI4_OPC_COMMON_GET_RECONFIG_LINK_INFO   0xc9

Definition at line 553 of file sli4.h.

#define SLI4_OPC_COMMON_GET_SLI4_PARAMETERS   0xb5

Definition at line 551 of file sli4.h.

#define SLI4_OPC_COMMON_GET_VPD_DATA   0x5b

Definition at line 534 of file sli4.h.

#define SLI4_OPC_COMMON_ISCSI_GET_CONNECTION_INFO   0x4a

Definition at line 559 of file sli4.h.

#define SLI4_OPC_COMMON_ISCSI_SET_TCP_PARAMETERS   0x48

Common opcode (OPC) values

Definition at line 558 of file sli4.h.

#define SLI4_OPC_COMMON_MANAGE_FAT   0x44

Definition at line 530 of file sli4.h.

#define SLI4_OPC_COMMON_MODIFY_EQ_DELAY   0x29

Definition at line 524 of file sli4.h.

#define SLI4_OPC_COMMON_NOP   0x21

Definition at line 528 of file sli4.h.

#define SLI4_OPC_COMMON_QUERY_FW_CONFIG   0x3a

Definition at line 517 of file sli4.h.

#define SLI4_OPC_COMMON_READ_OBJECT   0xab

Definition at line 547 of file sli4.h.

#define SLI4_OPC_COMMON_READ_OBJECT_LIST   0xad

Definition at line 550 of file sli4.h.

#define SLI4_OPC_COMMON_READ_TRANSCEIVER_DATA   0x49

Definition at line 531 of file sli4.h.

#define SLI4_OPC_COMMON_SET_ACTIVE_PROFILE   0xa8

Definition at line 546 of file sli4.h.

#define SLI4_OPC_COMMON_SET_BE_CONFIGURATION_AND_RESOURCES   0x52

Definition at line 533 of file sli4.h.

#define SLI4_OPC_COMMON_SET_EXT_FAT_CAPABILITIES   0x7e

Definition at line 537 of file sli4.h.

#define SLI4_OPC_COMMON_SET_FEATURES   0xbf

Definition at line 552 of file sli4.h.

#define SLI4_OPC_COMMON_SET_PHYSICAL_LINK_CONFIG   0x3e

Definition at line 519 of file sli4.h.

#define SLI4_OPC_COMMON_SET_PROFILE_CONFIG   0xa5

Definition at line 543 of file sli4.h.

#define SLI4_OPC_COMMON_SET_RECONFIG_LINK_ID   0xca

Definition at line 554 of file sli4.h.

#define SLI4_OPC_COMMON_TCP_UPLOAD   0x38

Definition at line 527 of file sli4.h.

#define SLI4_OPC_COMMON_WRITE_FLASHROM   0x07

Definition at line 529 of file sli4.h.

#define SLI4_OPC_COMMON_WRITE_OBJECT   0xac

Definition at line 548 of file sli4.h.

#define SLI4_PCI_CLASS_MASK   0xfff

Definition at line 72 of file sli4.h.

#define SLI4_PCI_CLASS_REVISION   0x0008 /** register offset */

Definition at line 68 of file sli4.h.

#define SLI4_PCI_CLASS_SHIFT   8

Definition at line 71 of file sli4.h.

#define SLI4_PCI_REV_ID_MASK   0xff

Definition at line 70 of file sli4.h.

#define SLI4_PCI_REV_ID_SHIFT   0

Definition at line 69 of file sli4.h.

#define SLI4_PCI_SOFT_RESET_CSR   0x005c /** register offset */

Definition at line 74 of file sli4.h.

#define SLI4_PCI_SOFT_RESET_MASK   0x0080

Definition at line 75 of file sli4.h.

#define SLI4_PHSDEV_CONTROL_REG_23   0x0414 /** register offset Interface Type 2 + 3 */

Definition at line 1842 of file sli4.h.

#define SLI4_PHYDEV_CONTROL_DD   BIT(2) /** diagnostic dump */

Definition at line 1845 of file sli4.h.

#define SLI4_PHYDEV_CONTROL_DRST   BIT(0) /** physical device reset */

Definition at line 1843 of file sli4.h.

#define SLI4_PHYDEV_CONTROL_FRL (   r)
Value:
SLI4_PHYDEV_CONTROL_FRL_SHIFT_SHIFT)
#define SLI4_PHYDEV_CONTROL_FRL_MASK
Definition: sli4.h:1846

Definition at line 1848 of file sli4.h.

#define SLI4_PHYDEV_CONTROL_FRL_MASK   0x000000f0

Definition at line 1846 of file sli4.h.

#define SLI4_PHYDEV_CONTROL_FRL_SHIFT   4

Definition at line 1847 of file sli4.h.

#define SLI4_PHYDEV_CONTROL_FRST   BIT(1) /** firmware reset */

Definition at line 1844 of file sli4.h.

#define SLI4_PORT_SEMAPHORE_HOST (   r)
Value:
#define SLI4_PORT_SEMAPHORE_HOST_MASK
Definition: sli4.h:294
#define SLI4_PORT_SEMAPHORE_HOST_SHIFT
Definition: sli4.h:295

Definition at line 296 of file sli4.h.

#define SLI4_PORT_SEMAPHORE_HOST_MASK   0x00ff0000

Definition at line 294 of file sli4.h.

#define SLI4_PORT_SEMAPHORE_HOST_SHIFT   16

Definition at line 295 of file sli4.h.

#define SLI4_PORT_SEMAPHORE_IN_ERR (   r)
Value:
#define SLI4_PORT_SEMAPHORE_STATUS_UNRECOV_ERR
Definition: sli4.h:317
#define SLI4_PORT_SEMAPHORE_STATUS_ERR_MASK
Definition: sli4.h:318

Definition at line 320 of file sli4.h.

#define SLI4_PORT_SEMAPHORE_IPC   BIT(28)

Definition at line 305 of file sli4.h.

#define SLI4_PORT_SEMAPHORE_NIP   BIT(29)

Definition at line 308 of file sli4.h.

#define SLI4_PORT_SEMAPHORE_PERR   BIT(31)

POST fatal error

Definition at line 314 of file sli4.h.

#define SLI4_PORT_SEMAPHORE_PORT (   r)    ((r) & SLI4_PORT_SEMAPHORE_PORT_MASK)

Definition at line 291 of file sli4.h.

#define SLI4_PORT_SEMAPHORE_PORT_MASK   0x0000ffff

Definition at line 290 of file sli4.h.

#define SLI4_PORT_SEMAPHORE_REG_01   0xAC

SLIPORT_SEMAPHORE - SLI Port Host and Port Status Register.

Definition at line 286 of file sli4.h.

#define SLI4_PORT_SEMAPHORE_REG_23   0x0400

register offset Interface Type 2 + 3

Definition at line 288 of file sli4.h.

#define SLI4_PORT_SEMAPHORE_SCR1   BIT(27)

Definition at line 302 of file sli4.h.

#define SLI4_PORT_SEMAPHORE_SCR2   BIT(26)

Definition at line 301 of file sli4.h.

#define SLI4_PORT_SEMAPHORE_SFI   BIT(30)

Definition at line 311 of file sli4.h.

#define SLI4_PORT_SEMAPHORE_STATUS_ERR_MASK   0xf000

Definition at line 318 of file sli4.h.

#define SLI4_PORT_SEMAPHORE_STATUS_POST_READY   0xc000

Definition at line 316 of file sli4.h.

#define SLI4_PORT_SEMAPHORE_STATUS_UNRECOV_ERR   0xf000

Definition at line 317 of file sli4.h.

#define SLI4_PORT_STATUS_END   BIT(30) /* endianness */

Definition at line 333 of file sli4.h.

#define SLI4_PORT_STATUS_ERR   BIT(31) /* SLI port error */

Definition at line 334 of file sli4.h.

#define SLI4_PORT_STATUS_ERROR (   r)    ((r) & SLI4_PORT_STATUS_ERR)

Definition at line 336 of file sli4.h.

#define SLI4_PORT_STATUS_OTI   BIT(29) /* over temp indicator */

Definition at line 332 of file sli4.h.

#define SLI4_PORT_STATUS_RDY   BIT(23) /* ready */

Definition at line 330 of file sli4.h.

#define SLI4_PORT_STATUS_READY (   r)    ((r) & SLI4_PORT_STATUS_RDY)

Definition at line 335 of file sli4.h.

#define SLI4_PORT_STATUS_REG_23   0x0404

SLIPORT_STATUS - SLI Port Status Register.

Definition at line 329 of file sli4.h.

#define SLI4_PORT_STATUS_RN   BIT(24) /* reset needed */

Definition at line 331 of file sli4.h.

#define SLI4_PORT_TYPE_DEFAULT   0xff

Definition at line 1399 of file sli4.h.

#define SLI4_PORT_TYPE_FC   0x10

Definition at line 1398 of file sli4.h.

#define SLI4_PORT_TYPE_FCOE   0x04

Definition at line 1396 of file sli4.h.

#define SLI4_PORT_TYPE_ISCSI   0x02

Definition at line 1395 of file sli4.h.

#define SLI4_PORT_TYPE_NIC_TOE   0x01

Definition at line 1394 of file sli4.h.

#define SLI4_PORT_TYPE_NIC_TOE_RDMA   0x08

Definition at line 1397 of file sli4.h.

#define SLI4_QUEUE_DEFAULT_CQ   UINT16_MAX /** Use the default CQ */

Definition at line 2088 of file sli4.h.

#define SLI4_QUEUE_RQ_BATCH   8

Definition at line 2090 of file sli4.h.

#define SLI4_RESOURCE_DESCRIPTOR_TYPE_FCFCOE   0x53

Definition at line 1389 of file sli4.h.

#define SLI4_RESOURCE_DESCRIPTOR_TYPE_ISAP   0x56

Definition at line 1392 of file sli4.h.

#define SLI4_RESOURCE_DESCRIPTOR_TYPE_ISCSI   0x52

Definition at line 1388 of file sli4.h.

#define SLI4_RESOURCE_DESCRIPTOR_TYPE_NIC   0x51

Definition at line 1387 of file sli4.h.

#define SLI4_RESOURCE_DESCRIPTOR_TYPE_PCIE   0x50

Resource descriptor.

Definition at line 1386 of file sli4.h.

#define SLI4_RESOURCE_DESCRIPTOR_TYPE_PORT   0x55

Definition at line 1391 of file sli4.h.

#define SLI4_RESOURCE_DESCRIPTOR_TYPE_RDMA   0x54

Definition at line 1390 of file sli4.h.

#define SLI4_RQ_DOORBELL (   n,
  i 
)
Value:
#define SLI4_RQ_DOORBELL_ID_MASK
Definition: sli4.h:257
#define SLI4_RQ_DOORBELL_NUM_SHIFT
Definition: sli4.h:255
#define SLI4_RQ_DOORBELL_NUM_MASK
Definition: sli4.h:256

Definition at line 258 of file sli4.h.

#define SLI4_RQ_DOORBELL_ID_MASK   0xffff

Definition at line 257 of file sli4.h.

#define SLI4_RQ_DOORBELL_NUM_MASK   0x3fff

Definition at line 256 of file sli4.h.

#define SLI4_RQ_DOORBELL_NUM_SHIFT   16

Definition at line 255 of file sli4.h.

#define SLI4_RQ_DOORBELL_REG   0x0a0 /** register offset */

RQ_DOORBELL - RQ Doorbell Register.

Definition at line 254 of file sli4.h.

#define SLI4_SET_FEATURES_DIF_MEMORY_MODE   0x08

Definition at line 1733 of file sli4.h.

#define SLI4_SET_FEATURES_DIF_SEED   0x01

COMMON_SET_SET_FEATURES.

Definition at line 1727 of file sli4.h.

#define SLI4_SET_FEATURES_FCTL_CHECK   0x05

Definition at line 1730 of file sli4.h.

#define SLI4_SET_FEATURES_FEC   0x06

Definition at line 1731 of file sli4.h.

#define SLI4_SET_FEATURES_MAX_PCIE_SPEED   0x04

Definition at line 1729 of file sli4.h.

#define SLI4_SET_FEATURES_PCIE_RECV_DETECT   0x07

Definition at line 1732 of file sli4.h.

#define SLI4_SET_FEATURES_XRI_TIMER   0x03

Definition at line 1728 of file sli4.h.

#define SLI4_SGE_DIF_OP_IN_CHKSUM_OUT_CHKSUM   0x05

Definition at line 463 of file sli4.h.

#define SLI4_SGE_DIF_OP_IN_CHKSUM_OUT_CRC   0x07

Definition at line 465 of file sli4.h.

#define SLI4_SGE_DIF_OP_IN_CHKSUM_OUT_NODIF   0x03

Definition at line 461 of file sli4.h.

#define SLI4_SGE_DIF_OP_IN_CRC_OUT_CHKSUM   0x06

Definition at line 464 of file sli4.h.

#define SLI4_SGE_DIF_OP_IN_CRC_OUT_CRC   0x04

Definition at line 462 of file sli4.h.

#define SLI4_SGE_DIF_OP_IN_CRC_OUT_NODIF   0x01

Definition at line 459 of file sli4.h.

#define SLI4_SGE_DIF_OP_IN_NODIF_OUT_CHKSUM   0x02

Definition at line 460 of file sli4.h.

#define SLI4_SGE_DIF_OP_IN_NODIF_OUT_CRC   0x00

Definition at line 458 of file sli4.h.

#define SLI4_SGE_MAX_RESERVED   3

Definition at line 456 of file sli4.h.

#define SLI4_SGE_TYPE_CHAIN   0x03

Definition at line 468 of file sli4.h.

#define SLI4_SGE_TYPE_DATA   0x00

Definition at line 467 of file sli4.h.

#define SLI4_SGE_TYPE_DIF   0x04 /** Data Integrity Field */

Definition at line 469 of file sli4.h.

#define SLI4_SGE_TYPE_DISEED   0x08 /** DIF Seed */

Definition at line 470 of file sli4.h.

#define SLI4_SGE_TYPE_SKIP   0x0c /** SKIP */

Definition at line 471 of file sli4.h.

#define SLI4_SLIPORT_CONTROL_BIG_ENDIAN   BIT(30)

Definition at line 152 of file sli4.h.

#define SLI4_SLIPORT_CONTROL_END   BIT(30)

Definition at line 150 of file sli4.h.

#define SLI4_SLIPORT_CONTROL_IDIS   BIT(22)

Definition at line 154 of file sli4.h.

#define SLI4_SLIPORT_CONTROL_IP   BIT(27)

Definition at line 153 of file sli4.h.

#define SLI4_SLIPORT_CONTROL_LITTLE_ENDIAN   (0)

Definition at line 151 of file sli4.h.

#define SLI4_SLIPORT_CONTROL_REG   0x0408

SLIPORT_CONTROL - SLI Port Control Register.

Definition at line 149 of file sli4.h.

#define SLI4_SLIPORT_ERROR1   0x040c

SLI4_SLIPORT_ERROR1 - SLI Port Error register.

Definition at line 159 of file sli4.h.

#define SLI4_SLIPORT_ERROR2   0x0410

SLI4_SLIPORT_ERROR2 - SLI Port Error register.

Definition at line 164 of file sli4.h.

#define SLI4_SUBSYSTEM_COMMON   0x01

Subsystem values

Definition at line 507 of file sli4.h.

#define SLI4_SUBSYSTEM_COMMON_ISCSI   0x02

Definition at line 508 of file sli4.h.

#define SLI4_SUBSYSTEM_ISCSI_INI   0x06

Definition at line 509 of file sli4.h.

#define SLI4_SUBSYSTEM_ISCSI_TGT   0x07

Definition at line 510 of file sli4.h.

#define SLI4_UERR_MASK_HIGH_REG   0xAC

Definition at line 238 of file sli4.h.

#define SLI4_UERR_MASK_LOW_REG   0xA8

Definition at line 237 of file sli4.h.

#define SLI4_UERR_STATUS_HIGH_REG   0xA4

Definition at line 236 of file sli4.h.

#define SLI4_UERR_STATUS_LOW_REG   0xA0

Definition at line 235 of file sli4.h.

#define SLI4_ULP_MODE_ISCSI_INI   0x10

Definition at line 765 of file sli4.h.

#define SLI4_ULP_MODE_ISCSI_TGT   0x20

Definition at line 766 of file sli4.h.

#define SLI4_WQ_DOORBELL (   n,
  x,
  i 
)
Value:
#define SLI4_WQ_DOORBELL_NUM_SHIFT
Definition: sli4.h:268
#define SLI4_WQ_DOORBELL_ID_MASK
Definition: sli4.h:270
#define SLI4_WQ_DOORBELL_IDX_MASK
Definition: sli4.h:267
#define SLI4_WQ_DOORBELL_NUM_MASK
Definition: sli4.h:269
#define SLI4_WQ_DOORBELL_IDX_SHIFT
Definition: sli4.h:266

Definition at line 271 of file sli4.h.

#define SLI4_WQ_DOORBELL_ID_MASK   0xffff

Definition at line 270 of file sli4.h.

#define SLI4_WQ_DOORBELL_IDX_MASK   0x00ff

Definition at line 267 of file sli4.h.

#define SLI4_WQ_DOORBELL_IDX_SHIFT   16

Definition at line 266 of file sli4.h.

#define SLI4_WQ_DOORBELL_NUM_MASK   0x00ff

Definition at line 269 of file sli4.h.

#define SLI4_WQ_DOORBELL_NUM_SHIFT   24

Definition at line 268 of file sli4.h.

#define SLI_PAGE_COUNT (   b)    (((b) + SLI_SUB_PAGE_MASK) >> SLI_PAGE_SHIFT)

Definition at line 47 of file sli4.h.

#define SLI_PAGE_SHIFT   12

Definition at line 45 of file sli4.h.

#define SLI_PAGE_SIZE   (4096)

Definition at line 43 of file sli4.h.

#define SLI_ROUND_PAGE (   b)    (((b) + SLI_SUB_PAGE_MASK) & ~SLI_SUB_PAGE_MASK)

Definition at line 46 of file sli4.h.

#define SLI_SUB_PAGE_MASK   (SLI_PAGE_SIZE - 1)

Definition at line 44 of file sli4.h.

#define SLI_USER_EQ_COUNT   1 /** User specified max mail queues */

Definition at line 1867 of file sli4.h.

#define SLI_USER_MQ_COUNT   1 /** User specified max mail queues */

Definition at line 1866 of file sli4.h.

Type Details

typedef int32_t get_sli4_parameters_t(struct sli4_s *sli4)

Definition at line 2187 of file sli4.h.

typedef int32_t(* sli4_create_q_fn_t)(sli4_t *, void *, size_t, uint64_t, ocs_dma_t *, uint16_t, uint16_t)

Common Create Queue function prototype.

Definition at line 2409 of file sli4.h.

typedef int32_t(* sli4_destroy_q_fn_t)(sli4_t *, void *, size_t, uint64_t, uint16_t)

Common Destroy Queue function prototype.

Definition at line 2415 of file sli4.h.

Enumeration Details

Enumerator
SLI4_ASIC_REV_FPGA 
SLI4_ASIC_REV_A0 
SLI4_ASIC_REV_A1 
SLI4_ASIC_REV_A2 
SLI4_ASIC_REV_A3 
SLI4_ASIC_REV_B0 
SLI4_ASIC_REV_B1 
SLI4_ASIC_REV_C0 
SLI4_ASIC_REV_D0 

Definition at line 2170 of file sli4.h.

Enumerator
SLI4_ASIC_TYPE_BE3 
SLI4_ASIC_TYPE_SKYHAWK 
SLI4_ASIC_TYPE_LANCER 
SLI4_ASIC_TYPE_CORSAIR 

Definition at line 2163 of file sli4.h.

Enumerator
SLI4_CB_LINK 
SLI4_CB_ISCSI_ASYNC 
SLI4_CB_MAX 

Definition at line 2092 of file sli4.h.

Enumerator
SLI_ISCSI_ASYNC_NEW_TCP 
SLI_ISCSI_ASYNC_STATELESS_V4_OP_CMPL 
SLI_ISCSI_ASYNC_STATELESS_v6_OP_CMPL 
SLI_ISCSI_ASYNC_DHCP_OP_CMPL 
SLI_ISCSI_ASYNC_ICMPV6_ERROR 
SLI_ISCSI_ASYNC_PORT_MTU_CHANGED 
SLI_ISCSI_ASYNC_MAX 

Definition at line 2110 of file sli4.h.

Enumerator
SLI_LINK_STATUS_UP 
SLI_LINK_STATUS_DOWN 
SLI_LINK_STATUS_MAX 

Definition at line 2098 of file sli4.h.

Enumerator
SLI4_PORT_TYPE_ISCSI_INI 
SLI4_PORT_TYPE_ISCSI_TGT 
SLI4_PORT_TYPE_ISCSI_BOTH 
SLI4_PORT_TYPE_MAX 

Definition at line 2156 of file sli4.h.

Enumerator
SLI_CQENTRY_ASYNC 
SLI_CQENTRY_MQ 
SLI_CQENTRY_RQ 
SLI_CQENTRY_CNX_INVALID 
SLI_CQENTRY_INI_IO 
SLI_CQENTRY_TGT_IO 
SLI_CQENTRY_TCP_ACK 
SLI_CQENTRY_TGT_CMD_INVALID 
SLI_CQENTRY_TGT_DATA_DIGEST 
SLI_CQENTRY_TX_DIF_ERROR 
SLI_CQENTRY_MAX 

Definition at line 1869 of file sli4.h.

Enumerator
SLI_QTYPE_EQ 
SLI_QTYPE_CQ 
SLI_QTYPE_MQ 
SLI_QTYPE_WQ 
SLI_QTYPE_RQ 
SLI_QTYPE_MAX 

Definition at line 1857 of file sli4.h.

Register name enums.

Enumerator
SLI4_REG_BMBX 
SLI4_REG_EQCQ_DOORBELL 
SLI4_REG_FCOE_RQ_DOORBELL 
SLI4_REG_IO_WQ_DOORBELL 
SLI4_REG_MQ_DOORBELL 
SLI4_REG_PHYSDEV_CONTROL 
SLI4_REG_SLIPORT_CONTROL 
SLI4_REG_SLIPORT_ERROR1 
SLI4_REG_SLIPORT_ERROR2 
SLI4_REG_SLIPORT_SEMAPHORE 
SLI4_REG_SLIPORT_STATUS 
SLI4_REG_UERR_MASK_HI 
SLI4_REG_UERR_MASK_LO 
SLI4_REG_UERR_STATUS_HI 
SLI4_REG_UERR_STATUS_LO 
SLI4_REG_ONLINE0 
SLI4_REG_ONLINE1 
SLI4_REG_MAX 

Definition at line 1821 of file sli4.h.

Enumerator
SLI_STATUS_SOL_CMD_CMPL_NORMAL 
SLI_STATUS_SOL_CMD_DATA_DIGEST_ERROR 
SLI_STATUS_RECV_PDU_LARGER_THAN_DSL 
SLI_STATUS_RECV_PDU_LARGER_FBRST_MBRST 
SLI_STATUS_RECV_PDU_AHS_NOT_SUPPORTED 
SLI_STATUS_RECV_PDU_HDR_DIGEST_ERROR 
SLI_STATUS_RECV_PDU_BAD_OPCODE 
SLI_STATUS_RECV_PDU_BAD_ITT_TTT 
SLI_STATUS_RECV_PDU_ITT_TTT_LARGER_THAN_MAX 
SLI_STATUS_RECV_TCP_RST 
SLI_STATUS_RECV_TCP_TIMEOUT 
SLI_STATUS_RECV_TCP_RESET 
SLI_STATUS_RECV_TCP_FIN 
SLI_STATUS_RECV_BAD_UNSOL_PDU 
SLI_STATUS_RECV_BAD_WQE_INDEX 
SLI_STATUS_CMD_OVERRUN 
SLI_STATUS_CMD_UNDERRUN 
SLI_STATUS_INVALID_STATUS_SN 
SLI_STATUS_INVALID_R2T 
SLI_STATUS_INVALID_LUN 
SLI_STATUS_INVALID_ICD 
SLI_STATUS_INVALID_ITT 
SLI_STATUS_BUFFER_OFFSET_OUT_OF_ORDER 
SLI_STATUS_INVALID_DATA_SN 
SLI_STATUS_HOST_CXN_INVALID_NOTIFY 
SLI_STATUS_HOST_CXN_INVALID_NOTIFY_WITH_PDU 
SLI_STATUS_HOST_CMD_INVALID_NOTIFY 
SLI_STATUS_UNSOL_HEADER_NOTIFY 
SLI_STATUS_UNSOL_DATA_NOTIFY 
SLI_STATUS_UNSOL_DATA_DIGEST_ERROR 
SLI_STATUS_TCP_ACK_NOTIFY 
SLI_STATUS_CMD_DATA_ON_DIFF_CXN 
SLI_STATUS_DIF_ERROR 
SLI_STATUS_UNSOL_PDU_ERROR 
SLI_STATUS_TX_DIF_ERROR 
SLI_STATUS_DISPATCH_ERROR 
SLI_STATUS_MAX 

Definition at line 1883 of file sli4.h.

Function Details

int32_t _sli_queue_peek ( sli4_t *  ,
sli4_queue_t *  ,
uint32_t  ,
uint8_t *   
)

Definition at line 3941 of file sli4.c.

int32_t _sli_queue_poke ( sli4_t *  ,
sli4_queue_t *  ,
uint32_t  ,
uint8_t *   
)

Definition at line 3908 of file sli4.c.

static void sli_chain_sge_build ( sli4_t *  sli4,
sli4_chain_sge_t *  sge,
uint32_t  icd_index,
uint32_t  frag_num,
uint32_t  offset 
)
inlinestatic

Definition at line 2341 of file sli4.h.

static uint32_t sli_convert_mask_to_count ( uint32_t  method,
uint32_t  mask 
)
inlinestatic

Definition at line 2392 of file sli4.h.

static uint32_t sli_cq_doorbell ( uint16_t  n_popped,
uint16_t  id,
uint8_t  arm 
)
inlinestatic

Definition at line 200 of file sli4.h.

static uint32_t sli_eq_doorbell ( uint16_t  n_popped,
uint16_t  id,
uint8_t  arm 
)
inlinestatic

Definition at line 170 of file sli4.h.

int32_t sli_fw_reset ( sli4_t *  )

Definition at line 2822 of file sli4.c.

static uint32_t sli_get_if_type ( sli4_t *  sli4)
inlinestatic

Definition at line 2368 of file sli4.h.

static char* sli_get_ipl_name ( sli4_t *  sli4)
inlinestatic

Definition at line 2386 of file sli4.h.

static uint32_t sli_get_max_qentries ( sli4_t *  sli4,
sli4_qtype_e  qtype 
)
inlinestatic

Definition at line 2291 of file sli4.h.

static uint32_t sli_get_max_queue ( sli4_t *  sli4,
sli4_qtype_e  qtype 
)
inlinestatic

Get / set parameter functions

Definition at line 2282 of file sli4.h.

static uint32_t sli_get_max_sge ( sli4_t *  sli4)
inlinestatic

Definition at line 2298 of file sli4.h.

static uint32_t sli_get_sli_family ( sli4_t *  sli4)
inlinestatic

Definition at line 2362 of file sli4.h.

static uint32_t sli_get_sli_rev ( sli4_t *  sli4)
inlinestatic

Definition at line 2356 of file sli4.h.

static void* sli_get_vpd ( sli4_t *  sli4)
inlinestatic

Definition at line 2374 of file sli4.h.

static uint32_t sli_get_vpd_len ( sli4_t *  sli4)
inlinestatic

Definition at line 2380 of file sli4.h.

int32_t sli_init ( sli4_t *  )

Definition at line 2803 of file sli4.c.

void sli_interrupt_set ( sli4_t *  ,
uint8_t   
)

Definition at line 4037 of file sli4.c.

static uint32_t sli_is_dif_capable ( sli4_t *  sli4)
inlinestatic

Definition at line 2304 of file sli4.h.

static uint32_t sli_is_dif_inline_capable ( sli4_t *  sli4)
inlinestatic

Definition at line 2310 of file sli4.h.

static uint32_t sli_is_dif_separate_capable ( sli4_t *  sli4)
inlinestatic

Definition at line 2316 of file sli4.h.

static uint32_t sli_is_dual_ulp_capable ( sli4_t *  sli4)
inlinestatic

Definition at line 2328 of file sli4.h.

static uint32_t sli_is_sgl_chaining_capable ( sli4_t *  sli4)
inlinestatic

Definition at line 2322 of file sli4.h.

static uint32_t sli_is_ulp_enabled ( sli4_t *  sli4,
uint16_t  ulp 
)
inlinestatic

Definition at line 2334 of file sli4.h.

int32_t sli_queue_index ( sli4_t *  ,
sli4_queue_t *   
)

Definition at line 3897 of file sli4.c.

int32_t sli_queue_iscsi_wq_write ( sli4_t *  sli4,
sli4_queue_t *  q,
uint8_t *  entry,
void *  io 
)
int32_t sli_queue_iscsi_wqe_invalidate ( sli4_t *  sli4,
sli4_queue_t *  q,
void *  io 
)
int32_t sli_queue_peek ( sli4_t *  ,
sli4_queue_t *  ,
uint32_t  ,
uint8_t *   
)

Definition at line 3960 of file sli4.c.

int32_t sli_queue_poke ( sli4_t *  ,
sli4_queue_t *  ,
uint32_t  ,
uint8_t *   
)

Definition at line 3929 of file sli4.c.

int32_t sli_raise_ue ( sli4_t *  )

Definition at line 360 of file sli4.c.

int32_t sli_reset ( sli4_t *  )

Definition at line 2809 of file sli4.c.

Variable Details

const uint8_t sli4_fw_deinitialize[8]

FW_DEINITIALIZE - deinitialize a SLI port.

Note
this command uses a different format than all others

Definition at line 67 of file sli4.c.

const uint8_t sli4_fw_initialize[8]

FW_INITIALIZE - initialize a SLI port.

Note
this command uses a different format than all others

Definition at line 62 of file sli4.c.