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_mbox_command_header_t
 
struct  sli4_bde_t
 Buffer Descriptor Entry (BDE) More...
 
struct  sli4_sge_t
 Scatter-Gather Entry (SGE) More...
 
struct  sli4_dif_sge_t
 T10 DIF Scatter-Gather Entry (SGE) More...
 
struct  sli4_diseed_sge_t
 T10 DIF Seed Scatter-Gather Entry (SGE) More...
 
struct  sli4_lsp_sge_t
 List Segment Pointer Scatter-Gather Entry (SGE) More...
 
struct  sli4_cmd_config_link_t
 CONFIG_LINK. More...
 
struct  sli4_cmd_dump4_t
 
struct  sli4_cmd_init_link_flags_t
 INIT_LINK - initialize the link for a FC/FCoE port. More...
 
struct  sli4_cmd_init_link_t
 
struct  sli4_cmd_init_vfi_t
 INIT_VFI - initialize the VFI resource. More...
 
struct  sli4_cmd_init_vpi_t
 INIT_VPI - initialize the VPI resource. More...
 
struct  sli4_cmd_post_xri_t
 POST_XRI - post XRI resources to the SLI Port. More...
 
struct  sli4_cmd_release_xri_t
 RELEASE_XRI - Release XRI resources from the SLI Port. More...
 
struct  sli4_cmd_read_config_t
 READ_CONFIG - read SLI port configuration parameters. More...
 
struct  sli4_res_read_config_t
 
struct  sli4_cmd_read_nvparms_t
 READ_NVPARMS - read SLI port configuration parameters. More...
 
struct  sli4_cmd_write_nvparms_t
 WRITE_NVPARMS - write SLI port configuration parameters. More...
 
struct  sli4_cmd_read_rev_t
 READ_REV - read the Port revision levels. More...
 
struct  sli4_cmd_read_sparm64_t
 READ_SPARM64 - read the Port service parameters. More...
 
struct  sli4_port_state_t
 
struct  sli4_cmd_read_topology_t
 READ_TOPOLOGY - read the link event information. More...
 
struct  sli4_cmd_reg_fcfi_t
 
struct  sli4_cmd_reg_fcfi_mrq_t
 
struct  sli4_cmd_reg_rpi_t
 REG_RPI - register a Remote Port Indicator. More...
 
struct  sli4_cmd_reg_vfi_t
 REG_VFI - register a Virtual Fabric Indicator. More...
 
struct  sli4_cmd_reg_vpi_t
 REG_VPI - register a Virtual Port Indicator. More...
 
union  sli4_features_t
 REQUEST_FEATURES - request / query SLI features. More...
 
struct  sli4_cmd_request_features_t
 
struct  sli4_sli_config_pmd_t
 
struct  sli4_cmd_sli_config_t
 
struct  sli4_cmd_read_status_t
 READ_STATUS - read tx/rx status of a particular port. More...
 
struct  sli4_cmd_read_link_stats_t
 READ_LNK_STAT - read link status of a particular port. More...
 
struct  sli4_cmd_unreg_fcfi_t
 UNREG_FCFI - unregister a FCFI. More...
 
struct  sli4_cmd_unreg_rpi_t
 UNREG_RPI - unregister one or more RPI. More...
 
struct  sli4_cmd_unreg_vfi_t
 UNREG_VFI - unregister one or more VFI. More...
 
struct  sli4_cmd_unreg_vpi_t
 UNREG_VPI - unregister one or more VPI. More...
 
struct  sli4_cmd_config_auto_xfer_rdy_t
 AUTO_XFER_RDY - Configure the auto-generate XFER-RDY feature. More...
 
struct  sli4_cmd_config_auto_xfer_rdy_hp_t
 
struct  sli4_cmd_config_tow_t
 AUTO_XFER_RDY - Configure the Target Optimized Write Feature. More...
 
struct  sli4_cmd_config_tow_hp_t
 
struct  sli4_cmd_config_run_biu_diag_t
 RUN_BIU_DIAG. 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_create_cq_v0_t
 COMMON_CREATE_CQ_V0. More...
 
struct  sli4_req_common_create_cq_v2_t
 COMMON_CREATE_CQ_V2. More...
 
struct  sli4_req_common_create_cq_set_v0_t
 COMMON_CREATE_CQ_SET_V0. More...
 
struct  sli4_res_common_create_queue_t
 Generic Common Create EQ/CQ/MQ/WQ/RQ Queue completion. More...
 
struct  sli4_res_create_dpp_wq_t
 
struct  sli4_res_common_create_queue_set_t
 
struct  sli4_req_common_destroy_cq_t
 Common Destroy CQ. More...
 
struct  sli4_req_common_modify_eq_delay_t
 COMMON_MODIFY_EQ_DELAY. 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_res_common_get_cntl_attributes_t
 COMMON_GET_CNTL_ATTRIBUTES. More...
 
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_nop_t
 COMMON_NOP. More...
 
struct  sli4_res_common_nop_t
 
struct  sli4_req_common_get_resource_extent_info_t
 COMMON_GET_RESOURCE_EXTENT_INFO. More...
 
struct  sli4_res_common_get_resource_extent_info_t
 
struct  sli4_res_common_get_sli4_parameters_t
 COMMON_GET_SLI4_PARAMETERS. More...
 
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_get_port_name_t
 COMMON_GET_PORT_NAME. More...
 
struct  sli4_res_common_get_port_name_t
 
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_read_transceiver_data_t
 COMMON_READ_TRANSCEIVER_DATA. More...
 
struct  sli4_res_common_read_transceiver_data_t
 
struct  sli4_req_common_read_object_t
 COMMON_READ_OBJECT. More...
 
struct  sli4_res_common_read_object_t
 
struct  sli4_req_common_write_object_t
 COMMON_WRITE_OBJECT. More...
 
struct  sli4_res_common_write_object_t
 
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_dump_location_t
 COMMON_SET_DUMP_LOCATION. More...
 
struct  sli4_res_common_set_dump_location_t
 
struct  sli4_req_common_set_loopback_mode_t
 COMMON_SET_LOOPBACK_MODE. More...
 
struct  sli4_res_common_set_loopback_mode_t
 
struct  sli4_req_common_set_features_t
 
struct  sli4_req_common_set_features_dif_seed_t
 
struct  sli4_req_common_set_features_t10_pi_mem_model_t
 
struct  sli4_req_common_set_features_multirq_t
 
struct  sli4_req_common_set_features_axr_t10pi_t
 
struct  sli4_req_common_set_features_tow_t10pi_t
 
struct  sli4_req_common_set_features_health_check_t
 
struct  sli4_req_common_set_features_set_fdt_xfer_hint_t
 
struct  sli4_req_common_set_features_config_fec_t
 
struct  sli4_req_common_set_features_pause_state_t
 
struct  sli4_req_common_set_features_auto_response_param_val_reset_t
 
struct  sli4_req_dmtf_exec_clp_cmd_t
 DMTF_EXEC_CLP_CMD. More...
 
struct  sli4_res_dmtf_exec_clp_cmd_t
 
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_res_common_set_active_profile_t
 
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_req_lowlevel_get_itcm_parity_stats_t
 
struct  sli4_parity_err_count_t
 
struct  sli4_res_lowlevel_get_itcm_parity_stats_t
 
struct  sli4_req_lowlevel_set_watchdog_t
 
struct  sli4_res_lowlevel_set_watchdog_t
 
struct  sli4_req_set_trunk_mode_t
 
struct  sli4_res_set_trunk_mode_t
 
struct  sli4_req_lowlevel_set_diag_log_options_t
 
struct  sli4_res_lowlevel_set_diag_log_options_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_port_event_acqe_t
 
struct  sli4_reg_t
 
struct  sli4_queue_t
 
struct  sli4_link_event_t
 
struct  sli4_sgl_chaining_params_t
 Fields retrieved from skyhawk that used used to build chained SGL. More...
 
struct  sli4_fip_event_t
 
struct  sli4_t
 
struct  sli4_cmd_rq_cfg_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 SLI4_BMBX_TIMEOUT_MSEC   30000
 
#define SLI4_FW_READY_TIMEOUT_MSEC   30000
 
#define SLI4_FW_DUMP_TIMEOUT_MSEC   60000
 
#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_FAMILY_CHECK_ASIC_TYPE   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_IF_TYPE_LANCER_G7   6
 
#define SLI4_MAX_IF_TYPES   7
 
#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_ASIC_GEN_CORSAIR   0x05
 
#define SLI4_ASIC_GEN_LANCER   0x0b
 
#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)
 
#define SLI4_BMBX_WRITE_LO(r)
 
#define SLI4_BMBX_SIZE   256
 
#define SLI4_PORT_MIGRATION_BIT   16
 
#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_IF6_EQ_DOORBELL_REG   0x120
 
#define SLI4_IF6_CQ_DOORBELL_REG   0xC0
 
#define SLI4_IF6_DPP_DOORBELL_REG_SET   2
 
#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_CONTROL_FDD   BIT(31)
 
#define SLI4_SLIPORT_ERROR1   0x040c
 SLI4_SLIPORT_ERROR1 - SLI Port Error Register. More...
 
#define SLI4_SLIPORT_ERROR1_RQ_EMPTY_TIMEOUT   0x52004a01
 
#define SLI4_SLIPORT_ERROR2   0x0410
 SLI4_SLIPORT_ERROR2 - SLI Port Error Register. More...
 
#define SLI4_UERR_STATUS_LOW_REG   0xA0
 User error registers. More...
 
#define SLI4_UERR_STATUS_HIGH_REG   0xA4
 
#define SLI4_UERR_MASK_LOW_REG   0xA8
 
#define SLI4_UERR_MASK_HIGH_REG   0xAC
 
#define SLI4_SW_UE_CSR1   0x138
 Registers for generating software UE (BE3) More...
 
#define SLI4_SW_UE_CSR2   0x1FFFC
 
#define SLI4_SW_UE_REG   0x5C /* register offset */
 Registers for generating software UE (Skyhawk) More...
 
#define SLI4_MQ_DOORBELL_REG   0x0140 /* register offset */
 MQ_DOORBELL - MQ Doorbell Register. More...
 
#define SLI4_IF6_MQ_DOORBELL_REG   0x0160 /* register offset if_type = 6 */
 
#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_IF6_RQ_DOORBELL_REG   0x0080 /* register offset of if_type = 6 */
 
#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_IF6_WQ_DOORBELL_REG   0x040 /* register offset for if_type = 6 */
 
#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_DPP_WQ_DOORBELL_NUM_SHIFT   24
 
#define SLI4_DPP_WQ_DOORBELL_NUM_MASK   0x00ff
 
#define SLI4_DPP_WQ_DOORBELL_DPP   BIT(23)
 
#define SLI4_DPP_WQ_DOORBELL_DPP_ID_SHIFT   16
 
#define SLI4_DPP_WQ_DOORBELL_DPP_ID_MASK   0x001f
 
#define SLI4_DPP_WQ_DOORBELL_ID_MASK   0xffff
 
#define SLI4_DPP_WQ_DOORBELL(n, x, i)
 
#define SLI4_PORT_SEMAPHORE_REG_0   0x00ac /** register offset Interface Type 0 + 1 */
 SLIPORT_SEMAPHORE - SLI Port Host and Port Status Register. More...
 
#define SLI4_PORT_SEMAPHORE_REG_1   0x0180 /** register offset Interface Type 0 + 1 */
 
#define SLI4_PORT_SEMAPHORE_REG_236   0x0400 /** register offset Interface Type 2 + 3 + 6*/
 
#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) /** scratch area 2 */
 
#define SLI4_PORT_SEMAPHORE_SCR1   BIT(27) /** scratch area 1 */
 
#define SLI4_PORT_SEMAPHORE_IPC   BIT(28) /** IP conflict */
 
#define SLI4_PORT_SEMAPHORE_NIP   BIT(29) /** no IP address */
 
#define SLI4_PORT_SEMAPHORE_SFI   BIT(30) /** secondary firmware image used */
 
#define SLI4_PORT_SEMAPHORE_PERR   BIT(31) /** POST fatal error */
 
#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_236   0x0404 /** register offset Interface Type 2 + 3 + 6*/
 SLIPORT_STATUS - SLI Port Status Register. More...
 
#define SLI4_PORT_STATUS_FDP   BIT(21) /** function specific dump present */
 
#define SLI4_PORT_STATUS_RDY   BIT(23) /** ready */
 
#define SLI4_PORT_STATUS_RN   BIT(24) /** reset needed */
 
#define SLI4_PORT_STATUS_DIP   BIT(25) /** dump present */
 
#define SLI4_PORT_STATUS_SPP   BIT(27) /** SLI port paused */
 
#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_PORT_STATUS_DUMP_PRESENT(r)   ((r) & SLI4_PORT_STATUS_DIP)
 
#define SLI4_PORT_STATUS_FDP_PRESENT(r)   ((r) & SLI4_PORT_STATUS_FDP)
 
#define SLI4_PHSDEV_CONTROL_REG_236   0x0414 /** register offset Interface Type 2 + 3 + 6*/
 
#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 SLI4_PHYDEV_CONTROL_CFP   BIT(11) /** continue from pause */
 
#define SLI4_MBOX_COMMAND_CONFIG_LINK   0x07
 
#define SLI4_MBOX_COMMAND_DUMP   0x17
 
#define SLI4_MBOX_COMMAND_DOWN_LINK   0x06
 
#define SLI4_MBOX_COMMAND_INIT_LINK   0x05
 
#define SLI4_MBOX_COMMAND_INIT_VFI   0xa3
 
#define SLI4_MBOX_COMMAND_INIT_VPI   0xa4
 
#define SLI4_MBOX_COMMAND_POST_XRI   0xa7
 
#define SLI4_MBOX_COMMAND_RELEASE_XRI   0xac
 
#define SLI4_MBOX_COMMAND_READ_CONFIG   0x0b
 
#define SLI4_MBOX_COMMAND_READ_STATUS   0x0e
 
#define SLI4_MBOX_COMMAND_READ_NVPARMS   0x02
 
#define SLI4_MBOX_COMMAND_READ_REV   0x11
 
#define SLI4_MBOX_COMMAND_READ_LNK_STAT   0x12
 
#define SLI4_MBOX_COMMAND_READ_SPARM64   0x8d
 
#define SLI4_MBOX_COMMAND_READ_TOPOLOGY   0x95
 
#define SLI4_MBOX_COMMAND_REG_FCFI   0xa0
 
#define SLI4_MBOX_COMMAND_REG_FCFI_MRQ   0xaf
 
#define SLI4_MBOX_COMMAND_REG_RPI   0x93
 
#define SLI4_MBOX_COMMAND_REG_RX_RQ   0xa6
 
#define SLI4_MBOX_COMMAND_REG_VFI   0x9f
 
#define SLI4_MBOX_COMMAND_REG_VPI   0x96
 
#define SLI4_MBOX_COMMAND_REQUEST_FEATURES   0x9d
 
#define SLI4_MBOX_COMMAND_SLI_CONFIG   0x9b
 
#define SLI4_MBOX_COMMAND_UNREG_FCFI   0xa2
 
#define SLI4_MBOX_COMMAND_UNREG_RPI   0x14
 
#define SLI4_MBOX_COMMAND_UNREG_VFI   0xa1
 
#define SLI4_MBOX_COMMAND_UNREG_VPI   0x97
 
#define SLI4_MBOX_COMMAND_WRITE_NVPARMS   0x03
 
#define SLI4_MBOX_COMMAND_CONFIG_TOW   0xAD
 
#define SLI4_MBOX_COMMAND_CONFIG_TOW_HP   0xAE
 
#define SLI4_MBOX_STATUS_SUCCESS   0x0000
 
#define SLI4_MBOX_STATUS_FAILURE   0x0001
 
#define SLI4_MBOX_STATUS_RPI_NOT_REG   0x1400
 
#define SLI4_MBOX_EXT_STATUS_OBJ_UNSUPPORTED_FIRMWARE   0xEB
 
#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_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_DIF_OP_IN_RAW_OUT_RAW   0x08
 
#define SLI4_SGE_TYPE_DATA   0x00
 
#define SLI4_SGE_TYPE_CHAIN   0x03 /** Skyhawk only */
 
#define SLI4_SGE_TYPE_DIF   0x04 /** Data Integrity Field */
 
#define SLI4_SGE_TYPE_LSP   0x05 /** List Segment Pointer */
 
#define SLI4_SGE_TYPE_PEDIF   0x06 /** Post Encryption Engine DIF */
 
#define SLI4_SGE_TYPE_PESEED   0x07 /** Post Encryption Engine DIF Seed */
 
#define SLI4_SGE_TYPE_DISEED   0x08 /** DIF Seed */
 
#define SLI4_SGE_TYPE_ENC   0x09 /** Encryption */
 
#define SLI4_SGE_TYPE_ATM   0x0a /** DIF Application Tag Mask */
 
#define SLI4_SGE_TYPE_SKIP   0x0c /** SKIP */
 
#define SLI4_WKI_TAG_SAT_TEM   0x1040
 DUMP Type 4. More...
 
#define FC_TOPOLOGY_FCAL   0
 
#define FC_TOPOLOGY_P2P   1
 
#define SLI4_INIT_LINK_F_LOOP_BACK   BIT(0)
 
#define SLI4_INIT_LINK_F_UNFAIR   BIT(6)
 
#define SLI4_INIT_LINK_F_NO_LIRP   BIT(7)
 
#define SLI4_INIT_LINK_F_LOOP_VALID_CHK   BIT(8)
 
#define SLI4_INIT_LINK_F_NO_LISA   BIT(9)
 
#define SLI4_INIT_LINK_F_FAIL_OVER   BIT(10)
 
#define SLI4_INIT_LINK_F_NO_AUTOSPEED   BIT(11)
 
#define SLI4_INIT_LINK_F_PICK_HI_ALPA   BIT(15)
 
#define SLI4_INIT_LINK_F_P2P_ONLY   1
 
#define SLI4_INIT_LINK_F_FCAL_ONLY   2
 
#define SLI4_INIT_LINK_F_FCAL_FAIL_OVER   0
 
#define SLI4_INIT_LINK_F_P2P_FAIL_OVER   1
 
#define FC_LINK_SPEED_1G   1
 
#define FC_LINK_SPEED_2G   2
 
#define FC_LINK_SPEED_AUTO_1_2   3
 
#define FC_LINK_SPEED_4G   4
 
#define FC_LINK_SPEED_AUTO_4_1   5
 
#define FC_LINK_SPEED_AUTO_4_2   6
 
#define FC_LINK_SPEED_AUTO_4_2_1   7
 
#define FC_LINK_SPEED_8G   8
 
#define FC_LINK_SPEED_AUTO_8_1   9
 
#define FC_LINK_SPEED_AUTO_8_2   10
 
#define FC_LINK_SPEED_AUTO_8_2_1   11
 
#define FC_LINK_SPEED_AUTO_8_4   12
 
#define FC_LINK_SPEED_AUTO_8_4_1   13
 
#define FC_LINK_SPEED_AUTO_8_4_2   14
 
#define FC_LINK_SPEED_10G   16
 
#define FC_LINK_SPEED_16G   17
 
#define FC_LINK_SPEED_AUTO_16_8_4   18
 
#define FC_LINK_SPEED_AUTO_16_8   19
 
#define FC_LINK_SPEED_32G   20
 
#define FC_LINK_SPEED_AUTO_32_16_8   21
 
#define FC_LINK_SPEED_AUTO_32_16   22
 
#define SLI4_READ_CFG_TOPO_FCOE   0x0 /** FCoE topology */
 
#define SLI4_READ_CFG_TOPO_FC   0x1 /** FC topology unknown */
 
#define SLI4_READ_CFG_TOPO_FC_DA   0x2 /** FC Direct Attach (non FC-AL) topology */
 
#define SLI4_READ_CFG_TOPO_FC_AL   0x3 /** FC-AL topology */
 
#define SLI4_READ_SPARM64_VPI_DEFAULT   0
 
#define SLI4_READ_SPARM64_VPI_SPECIAL   UINT16_MAX
 
#define SLI4_READ_SPARM64_WWPN_OFFSET   (4 * sizeof(uint32_t))
 
#define SLI4_READ_SPARM64_WWNN_OFFSET   (SLI4_READ_SPARM64_WWPN_OFFSET + sizeof(uint64_t))
 
#define SLI4_MIN_LOOP_MAP_BYTES   128
 
#define SLI4_READ_TOPOLOGY_LINK_UP   0x1
 
#define SLI4_READ_TOPOLOGY_LINK_DOWN   0x2
 
#define SLI4_READ_TOPOLOGY_LINK_NO_ALPA   0x3
 
#define SLI4_READ_TOPOLOGY_UNKNOWN   0x0
 
#define SLI4_READ_TOPOLOGY_NPORT   0x1
 
#define SLI4_READ_TOPOLOGY_FC_AL   0x2
 
#define SLI4_READ_TOPOLOGY_SPEED_NONE   0x00
 
#define SLI4_READ_TOPOLOGY_SPEED_1G   0x04
 
#define SLI4_READ_TOPOLOGY_SPEED_2G   0x08
 
#define SLI4_READ_TOPOLOGY_SPEED_4G   0x10
 
#define SLI4_READ_TOPOLOGY_SPEED_8G   0x20
 
#define SLI4_READ_TOPOLOGY_SPEED_10G   0x40
 
#define SLI4_READ_TOPOLOGY_SPEED_16G   0x80
 
#define SLI4_READ_TOPOLOGY_SPEED_32G   0x90
 
#define SLI4_CMD_REG_FCFI_NUM_RQ_CFG   4
 REG_FCFI - activate a FC Forwarder. More...
 
#define SLI4_CMD_REG_FCFI_SET_FCFI_MODE   0
 
#define SLI4_CMD_REG_FCFI_SET_MRQ_MODE   1
 
#define SLI4_REG_RPI_BUF_LEN   0x70
 
#define SLI4_GET_SLI_CONFIG_OFFSET(buf, offset)   ((uint8_t *)buf + offset)
 SLI_CONFIG - submit a configuration command to Port. More...
 
#define SLI4_UNREG_RPI_II_RPI   0x0
 
#define SLI4_UNREG_RPI_II_VPI   0x1
 
#define SLI4_UNREG_RPI_II_VFI   0x2
 
#define SLI4_UNREG_RPI_II_FCFI   0x3
 
#define SLI4_UNREG_VFI_II_VFI   0x0
 
#define SLI4_UNREG_VFI_II_FCFI   0x3
 
#define SLI4_UNREG_VPI_II_VPI   0x0
 
#define SLI4_UNREG_VPI_II_VFI   0x2
 
#define SLI4_UNREG_VPI_II_FCFI   0x3
 
#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_MGMT_STATUS_FEATURE_NOT_SUPPORTED   0x44
 
#define SLI4_CFG_ADD_STATUS_NO_STATUS   0x00
 
#define SLI4_CFG_ADD_STATUS_INVALID_OPCODE   0x1e
 
#define SLI4_SUBSYSTEM_COMMON   0x01
 
#define SLI4_SUBSYSTEM_LOWLEVEL   0x0B
 
#define SLI4_SUBSYSTEM_FCFCOE   0x0c
 
#define SLI4_SUBSYSTEM_DMTF   0x11
 
#define SLI4_OPC_LOWLEVEL_SET_WATCHDOG   0X36
 
#define SLI4_OPC_LOWLEVEL_SET_DIAG_LOG_OPTIONS   0X37
 
#define SLI4_OPC_LOWLEVEL_GET_ITCM_PARITY_STATS   0x38
 
#define SLI4_OPC_COMMON_FUNCTION_RESET   0x3d
 
#define SLI4_OPC_COMMON_CREATE_CQ   0x0c
 
#define SLI4_OPC_COMMON_CREATE_CQ_SET   0x1d
 
#define SLI4_OPC_COMMON_DESTROY_CQ   0x36
 
#define SLI4_OPC_COMMON_MODIFY_EQ_DELAY   0x29
 
#define SLI4_OPC_COMMON_CREATE_EQ   0x0d
 
#define SLI4_OPC_COMMON_DESTROY_EQ   0x37
 
#define SLI4_OPC_COMMON_CREATE_MQ_EXT   0x5a
 
#define SLI4_OPC_COMMON_DESTROY_MQ   0x35
 
#define SLI4_OPC_COMMON_GET_CNTL_ATTRIBUTES   0x20
 
#define SLI4_OPC_COMMON_NOP   0x21
 
#define SLI4_OPC_COMMON_GET_RESOURCE_EXTENT_INFO   0x9a
 
#define SLI4_OPC_COMMON_GET_SLI4_PARAMETERS   0xb5
 
#define SLI4_OPC_COMMON_QUERY_FW_CONFIG   0x3a
 
#define SLI4_OPC_COMMON_GET_PORT_NAME   0x4d
 
#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_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_RUN_BIU_DIAG   0x84
 
#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_SET_DUMP_LOCATION   0xb8
 
#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_FCOE_SET_LINK_DIAG_STATE   0x22
 
#define SLI4_OPC_FCOE_SET_LINK_DIAG_LOOPBACK   0x23
 
#define SLI4_OPC_FCOE_SET_DPORT_MODE   0x27
 
#define SLI4_OPC_FCOE_GET_DPORT_RESULTS   0x28
 
#define SLI4_OPC_FC_SET_TRUNK_MODE   0x42
 
#define SLI4_OPC_DMTF_EXEC_CLP_CMD   0x01
 
#define SLI4_CQ_CNT_256   0
 
#define SLI4_CQ_CNT_512   1
 
#define SLI4_CQ_CNT_1024   2
 
#define SLI4_CQ_CNT_LARGE   3
 
#define SLI4_CQE_BYTES   (4 * sizeof(uint32_t))
 
#define SLI4_COMMON_CREATE_CQ_V2_MAX_PAGES   8
 
#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_EQE_BYTES   (sizeof(uint32_t))
 
#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_MQE_BYTES   256
 
#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_FC_FCOE
 
#define SLI4_RSC_TYPE_ISCSI_INI_XRI   0x0c
 
#define SLI4_RSC_TYPE_FCOE_VFI   0x20
 
#define SLI4_RSC_TYPE_FCOE_VPI   0x21
 
#define SLI4_RSC_TYPE_FCOE_RPI   0x22
 
#define SLI4_RSC_TYPE_FCOE_XRI   0x23
 
#define SLI4_128BYTE_WQE_SUPPORT   0x02
 
#define SLI4_FUNCTION_MODE_FCOE_INI_MODE   0x40
 
#define SLI4_FUNCTION_MODE_FCOE_TGT_MODE   0x80
 
#define SLI4_FUNCTION_MODE_DUA_MODE   0x800
 
#define SLI4_ULP_MODE_FCOE_INI   0x40
 
#define SLI4_ULP_MODE_FCOE_TGT   0x80
 
#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_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_SET_FEATURES_SLI_PORT_PAUSE_STATE   0x09
 
#define SLI4_SET_FEATURES_ENABLE_PCIE_OPTIONS   0x0A
 
#define SLI4_SET_FEATURES_SET_CONFIG_AXR_T10PI   0x0C
 
#define SLI4_SET_FEATURES_SET_CONFIG_TOW_T10PI   0x1C
 
#define SLI4_SET_FEATURES_ENABLE_MULTI_RECEIVE_QUEUE   0x0D
 
#define SLI4_SET_FEATURES_SET_FTD_XFER_HINT   0x0F
 
#define SLI4_SET_FEATURES_SLI_PORT_HEALTH_CHECK   0x11
 
#define SLI4_SET_FEATURES_AUTO_RSP_PARAM_RESET   0x19
 
#define SLI4_CONFIG_FEC_LINK_TYPE_ETH   (0)
 
#define SLI4_CONFIG_FEC_LINK_TYPE_FC   (1)
 
#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_PROTOCOL_NIC_TOE   0x01
 
#define SLI4_PROTOCOL_ISCSI   0x02
 
#define SLI4_PROTOCOL_FCOE   0x04
 
#define SLI4_PROTOCOL_NIC_TOE_RDMA   0x08
 
#define SLI4_PROTOCOL_FC   0x10
 
#define SLI4_PROTOCOL_DEFAULT   0xff
 
#define MAX_PRODUCT_DESCRIPTORS   40
 
#define MAX_LINK_CONFIG_DESCRIPTORS   10
 
#define SLI4_MAX_ULP   8
 
#define SLI4_TRUNK_MODE_NONE   0x0
 
#define SLI4_TRUNK_MODE_2_LINKS_PER_TRUNK   0x1
 
#define SLI4_TRUNK_MODE_4_LINKS_PER_TRUNK   0x2
 
#define SLI4_MAJOR_CODE_STANDARD   0
 
#define SLI4_MAJOR_CODE_SENTINEL   1
 
#define SLI4_ACQE_EVENT_CODE_LINK_STATE   0x01
 
#define SLI4_ACQE_EVENT_CODE_FCOE_FIP   0x02
 
#define SLI4_ACQE_EVENT_CODE_DCBX   0x03
 
#define SLI4_ACQE_EVENT_CODE_ISCSI   0x04
 
#define SLI4_ACQE_EVENT_CODE_GRP_5   0x05
 
#define SLI4_ACQE_EVENT_CODE_FC_LINK_EVENT   0x10
 
#define SLI4_ACQE_EVENT_CODE_SLI_PORT_EVENT   0x11
 
#define SLI4_ACQE_EVENT_CODE_VF_EVENT   0x12
 
#define SLI4_ACQE_EVENT_CODE_MR_EVENT   0x13
 
#define SLI4_ACQE_PORT_EVENT_TYPE_MISCONF_PHYPORTS   0x09
 
#define SLI4_ACQE_PORT_EVENT_TYPE_ITCM_PARITY_EVENT   0x0D
 
#define SLI_USER_MQ_COUNT   1 /** User specified max mail queues */
 
#define SLI_MAX_CQ_SET_COUNT   16
 
#define SLI_MAX_RQ_SET_COUNT   16
 
#define SLI4_PAUSE_ERRX_PAIR_CNT   16
 
#define SLI4_QUEUE_DEFAULT_CQ   UINT16_MAX /** Use the default CQ */
 
#define SLI4_QUEUE_RQ_BATCH   8
 

Typedefs

typedef int32_t(* sli4_create_q_fn_t )(sli4_t *, void *, size_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, uint16_t)
 Common Destroy Queue function prototype. More...
 

Enumerations

enum  { SLI4_UNREG_TYPE_PORT, SLI4_UNREG_TYPE_DOMAIN, SLI4_UNREG_TYPE_FCF, SLI4_UNREG_TYPE_ALL }
 
enum  sli4_regname_e {
  SLI4_REG_BMBX, SLI4_REG_EQ_DOORBELL, SLI4_REG_CQ_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_SW_UE_CSR1, SLI4_REG_SW_UE_CSR2, 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_QENTRY_ASYNC, SLI_QENTRY_MQ, SLI_QENTRY_RQ, SLI_QENTRY_WQ,
  SLI_QENTRY_WQ_RELEASE, SLI_QENTRY_OPT_WRITE_CMD, SLI_QENTRY_OPT_WRITE_DATA, SLI_QENTRY_XABT,
  SLI_QENTRY_MAX
}
 
enum  sli4_callback_e { SLI4_CB_LINK, SLI4_CB_FIP, SLI4_CB_MAX }
 
enum  sli4_link_status_e {
  SLI_LINK_STATUS_UP, SLI_LINK_STATUS_DOWN, SLI_LINK_STATUS_NO_ALPA, SLI_LINK_STATUS_CHANGED,
  SLI_LOGICAL_LINK_SPEED_CHANGED, SLI_LINK_STATUS_MAX
}
 
enum  sli4_link_topology_e {
  SLI_LINK_TOPO_NPORT = 1, SLI_LINK_TOPO_LOOP, SLI_LINK_TOPO_LOOPBACK_INTERNAL, SLI_LINK_TOPO_LOOPBACK_EXTERNAL,
  SLI_LINK_TOPO_NONE, SLI_LINK_TOPO_MAX
}
 
enum  sli4_link_medium_e { SLI_LINK_MEDIUM_ETHERNET, SLI_LINK_MEDIUM_FC, SLI_LINK_MEDIUM_MAX }
 
enum  sli4_resource_e {
  SLI_RSRC_FCOE_VFI, SLI_RSRC_FCOE_VPI, SLI_RSRC_FCOE_RPI, SLI_RSRC_FCOE_XRI,
  SLI_RSRC_FCOE_FCFI, SLI_RSRC_MAX
}
 
enum  sli4_port_type_e { SLI4_PORT_TYPE_FC, SLI4_PORT_TYPE_NIC, 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,
  SLI4_ASIC_TYPE_LANCERG6, SLI4_ASIC_TYPE_LANCERG7
}
 
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_page_count (size_t bytes, uint32_t page_size)
 
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_iftype6_eq_doorbell (uint16_t n_popped, uint16_t id, uint8_t arm)
 
static uint32_t sli_iftype6_cq_doorbell (uint16_t n_popped, uint16_t id, uint8_t arm)
 
static void sli_set_wq_id_association (void *entry, uint16_t q_id)
 Format a WQE with WQ_ID Association performance hint. More...
 
static void sli_queue_lock (sli4_queue_t *q)
 
static void sli_queue_unlock (sli4_queue_t *q)
 
static uint32_t sli_get_max_rsrc (sli4_t *sli4, sli4_resource_e rsrc)
 
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_get_max_sgl (sli4_t *sli4)
 
static sli4_link_medium_e sli_get_medium (sli4_t *sli4)
 
static void sli_skh_chain_sge_build (sli4_t *sli4, sli4_sge_t *sge, uint32_t xri_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_wwn_port (sli4_t *sli4)
 
static void * sli_get_wwn_node (sli4_t *sli4)
 
static void * sli_get_vpd (sli4_t *sli4)
 
static uint32_t sli_get_vpd_len (sli4_t *sli4)
 
static uint32_t sli_get_fw_revision (sli4_t *sli4, uint32_t which)
 
static void * sli_get_fw_name (sli4_t *sli4, uint32_t which)
 
static char * sli_get_ipl_name (sli4_t *sli4)
 
static uint32_t sli_get_hw_revision (sli4_t *sli4, uint32_t which)
 
static uint32_t sli_get_auto_xfer_rdy_capable (sli4_t *sli4)
 
static uint32_t sli_get_tow_capable (sli4_t *sli4)
 
static uint32_t sli_get_tow_xris_max (sli4_t *sli4)
 
static uint32_t sli_get_xib_capable (sli4_t *sli4)
 
static uint32_t sli_get_suppress_rsp_not_supported (sli4_t *sli4)
 
static uint32_t sli_get_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_get_is_dual_ulp_capable (sli4_t *sli4)
 
static uint32_t sli_get_is_sgl_chaining_capable (sli4_t *sli4)
 
static uint32_t sli_get_is_ulp_enabled (sli4_t *sli4, uint16_t ulp)
 
static uint32_t sli_get_hlm_capable (sli4_t *sli4)
 
static int32_t sli_set_hlm (sli4_t *sli4, uint32_t value)
 
static uint32_t sli_get_hlm (sli4_t *sli4)
 
static uint32_t sli_get_dpp_capable (sli4_t *sli4)
 
static int32_t sli_set_dpp (sli4_t *sli4, uint32_t value)
 
static uint32_t sli_get_dpp (sli4_t *sli4)
 
static uint32_t sli_get_sgl_preregister_required (sli4_t *sli4)
 
static uint32_t sli_get_sgl_preregister (sli4_t *sli4)
 
static int32_t sli_set_sgl_preregister (sli4_t *sli4, uint32_t value)
 
static sli4_asic_type_e sli_get_asic_type (sli4_t *sli4)
 
static sli4_asic_rev_e sli_get_asic_rev (sli4_t *sli4)
 
static int32_t sli_set_topology (sli4_t *sli4, uint32_t value)
 
static uint16_t sli_get_link_module_type (sli4_t *sli4)
 
static uint32_t sli_get_portnum (sli4_t *sli4)
 
static char * sli_get_bios_version_string (sli4_t *sli4)
 
static uint32_t sli_convert_mask_to_count (uint32_t method, uint32_t mask)
 
int32_t sli_cmd_config_auto_xfer_rdy (sli4_t *, void *, size_t, uint32_t)
 Write an CONFIG_AUTO_XFER_RDY command to the provided buffer. Command to enable AXR in G5. More...
 
int32_t sli_cmd_config_auto_xfer_rdy_hp (sli4_t *, void *, size_t, uint32_t, uint32_t)
 Write an CONFIG_AUTO_XFER_RDY_HP command to the provided buffer. More...
 
int32_t sli_cmd_config_optimized_write (sli4_t *, void *, size_t, uint32_t, uint32_t, uint32_t)
 Write an CONFIG_OPTIMIZED_WRITE command to the provided buffer. More...
 
int32_t sli_cmd_config_optimized_write_hp (sli4_t *, void *, size_t, uint32_t, uint32_t, uint32_t, uint32_t)
 Write an CONFIG_OPTIMIZED_WRITE_HP command to the provided buffer. More...
 
int32_t sli_cmd_config_link (sli4_t *, void *, size_t)
 Write a CONFIG_LINK command to the provided buffer. More...
 
int32_t sli_cmd_down_link (sli4_t *, void *, size_t)
 Write a DOWN_LINK command to the provided buffer. More...
 
int32_t sli_cmd_dump_type4 (sli4_t *, void *, size_t, uint16_t)
 Write a DUMP Type 4 command to the provided buffer. More...
 
int32_t sli_cmd_common_read_transceiver_data (sli4_t *, void *, size_t, uint32_t, ocs_dma_t *)
 Write a COMMON_READ_TRANSCEIVER_DATA command. More...
 
int32_t sli_cmd_read_link_stats (sli4_t *, void *, size_t, uint8_t, uint8_t, uint8_t)
 Write a READ_LINK_STAT command to the provided buffer. More...
 
int32_t sli_cmd_read_status (sli4_t *sli4, void *buf, size_t size, uint8_t clear_counters)
 Write a READ_STATUS command to the provided buffer. More...
 
int32_t sli_cmd_init_link (sli4_t *, void *, size_t, uint32_t, uint8_t)
 Write an INIT_LINK command to the provided buffer. More...
 
int32_t sli_cmd_init_vfi (sli4_t *, void *, size_t, uint16_t, uint16_t, uint16_t)
 Write an INIT_VFI command to the provided buffer. More...
 
int32_t sli_cmd_init_vpi (sli4_t *, void *, size_t, uint16_t, uint16_t)
 Write an INIT_VPI command to the provided buffer. More...
 
int32_t sli_cmd_post_xri (sli4_t *, void *, size_t, uint16_t, uint16_t)
 Write a POST_XRI command to the provided buffer. More...
 
int32_t sli_cmd_release_xri (sli4_t *, void *, size_t, uint8_t)
 Write a RELEASE_XRI command to the provided buffer. More...
 
int32_t sli_cmd_read_sparm64 (sli4_t *, void *, size_t, ocs_dma_t *, uint16_t)
 Write a READ_SPARM64 command to the provided buffer. More...
 
int32_t sli_cmd_read_topology (sli4_t *, void *, size_t, ocs_dma_t *)
 Write a READ_TOPOLOGY command to the provided buffer. More...
 
int32_t sli_cmd_read_config (sli4_t *, void *, size_t)
 Write a READ_CONFIG command to the provided buffer. More...
 
int32_t sli_cmd_read_nvparms (sli4_t *, void *, size_t)
 Write a READ_NVPARMS command to the provided buffer. More...
 
int32_t sli_cmd_write_nvparms (sli4_t *, void *, size_t, uint8_t *, uint8_t *, uint8_t, uint32_t)
 Write a WRITE_NVPARMS command to the provided buffer. More...
 
int32_t sli_cmd_reg_fcfi (sli4_t *, void *, size_t, uint16_t, sli4_cmd_rq_cfg_t rq_cfg[SLI4_CMD_REG_FCFI_NUM_RQ_CFG], uint16_t)
 Write a REG_FCFI command to the provided buffer. More...
 
int32_t sli_cmd_reg_fcfi_mrq (sli4_t *, void *, size_t, uint8_t, uint16_t, uint16_t, sli4_cmd_rq_cfg_t *)
 
int32_t sli_cmd_reg_rpi (sli4_t *, void *, size_t, uint32_t, uint16_t, uint16_t, ocs_dma_t *, uint8_t, uint8_t, uint8_t)
 Write a REG_RPI command to the provided buffer. More...
 
int32_t sli_cmd_reg_vfi (sli4_t *, void *, size_t, ocs_domain_t *)
 Write a REG_VFI command to the provided buffer. More...
 
int32_t sli_cmd_reg_vpi (sli4_t *, void *, size_t, ocs_sli_port_t *, uint8_t)
 Write a REG_VPI command to the provided buffer. More...
 
int32_t sli_cmd_sli_config (sli4_t *, void *, size_t, uint32_t, ocs_dma_t *)
 Write a SLI_CONFIG command to the provided buffer. More...
 
int32_t sli_cmd_unreg_fcfi (sli4_t *, void *, size_t, uint16_t)
 Write a UNREG_FCFI command to the provided buffer. More...
 
int32_t sli_cmd_unreg_rpi (sli4_t *, void *, size_t, uint16_t, sli4_resource_e, uint32_t)
 Write an UNREG_RPI command to the provided buffer. More...
 
int32_t sli_cmd_unreg_vfi (sli4_t *, void *, size_t, ocs_domain_t *, uint32_t)
 Write an UNREG_VFI command to the provided buffer. More...
 
int32_t sli_cmd_unreg_vpi (sli4_t *, void *, size_t, uint16_t, uint32_t)
 Write an UNREG_VPI command to the provided buffer. More...
 
int32_t sli_cmd_common_nop (sli4_t *, void *, size_t, uint64_t)
 Write a COMMON_NOP command. More...
 
int32_t sli_cmd_common_get_resource_extent_info (sli4_t *, void *, size_t, uint16_t)
 Write a COMMON_GET_RESOURCE_EXTENT_INFO command. More...
 
int32_t sli_cmd_common_get_sli4_parameters (sli4_t *, void *, size_t)
 Write a COMMON_GET_SLI4_PARAMETERS command. More...
 
int32_t sli_cmd_common_write_object (sli4_t *, void *, size_t, uint16_t, uint16_t, uint32_t, uint32_t, char *, ocs_dma_t *)
 Write a COMMON_WRITE_OBJECT command. More...
 
int32_t sli_cmd_common_delete_object (sli4_t *, void *, size_t, char *)
 Write a COMMON_DELETE_OBJECT command. More...
 
int32_t sli_cmd_common_read_object (sli4_t *, void *, size_t, uint32_t, uint32_t, char *, ocs_dma_t *)
 Write a COMMON_READ_OBJECT command. More...
 
int32_t sli_cmd_dmtf_exec_clp_cmd (sli4_t *sli4, void *buf, size_t size, ocs_dma_t *cmd, ocs_dma_t *resp)
 Write a DMTF_EXEC_CLP_CMD command. More...
 
int32_t sli_cmd_common_set_dump_location (sli4_t *sli4, void *buf, size_t size, uint8_t query, uint8_t is_buffer_list, ocs_dma_t *buffer, uint8_t fdb)
 Write a COMMON_SET_DUMP_LOCATION command. More...
 
int32_t sli_cmd_config_run_biu_diag (sli4_t *sli4, void *buf, size_t size, ocs_dma_t *tx_buffer, size_t tx_buf_len, ocs_dma_t *rx_buffer, size_t rx_buf_len)
 Write a RUN_BIU_DIAG command. More...
 
int32_t sli_cmd_fcoe_set_loopback_mode (sli4_t *sli4, void *buf, size_t size, int type)
 Write a SLI4_OPC_FCOE_SET_LINK_DIAG_LOOPBACK command. More...
 
int32_t sli_cmd_fc_set_trunk_mode (sli4_t *sli4, void *buf, size_t size, uint32_t trunk_mode)
 Write a SLI4_OPC_FC_SET_TRUNK_MODE 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_cmd_common_get_profile_list (sli4_t *sli4, void *buf, size_t size, 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)
 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, 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, ocs_dma_t *dma)
 Write a COMMON_GET_RECONFIG_LINK_INFO command. More...
 
int32_t sli_cmd_common_set_reconfig_link_id (sli4_t *sli4, void *buf, size_t size, ocs_dma_t *dma, uint32_t fd, uint32_t active_link_config_id)
 Write a COMMON_SET_RECONFIG_LINK_ID command. More...
 
int32_t sli_cmd_common_get_function_config (sli4_t *sli4, void *buf, size_t size)
 
int32_t sli_cmd_common_get_profile_config (sli4_t *sli4, void *buf, size_t size, 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, 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_cqe_mq (void *)
 Check the mailbox/queue completion entry. More...
 
int32_t sli_cqe_async (sli4_t *, void *)
 Check the asynchronous event completion entry. More...
 
int32_t sli_setup (sli4_t *, ocs_os_handle_t, sli4_port_type_e)
 Set up the SLI context. More...
 
void sli_calc_max_qentries (sli4_t *sli4)
 Calculate max queue entries. More...
 
int32_t sli_init (sli4_t *)
 
int32_t sli_reset (sli4_t *)
 
int32_t sli_fw_reset (sli4_t *)
 Issue a Firmware Reset. More...
 
int32_t sli_port_migration (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, size_t, uint32_t, uint32_t)
 Initialize a queue object. More...
 
int32_t __sli_create_queue (sli4_t *, sli4_queue_t *)
 Issue the command to create a 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_cq_alloc_set (sli4_t *, sli4_queue_t *qs[], uint32_t, uint32_t, sli4_queue_t *eqs[])
 Allocate a c queue set. More...
 
int32_t sli_get_queue_entry_size (sli4_t *, uint32_t)
 Get queue entry size. More...
 
int32_t sli_queue_free (sli4_t *, sli4_queue_t *, uint32_t, uint32_t)
 Free a queue. More...
 
int32_t sli_queue_reset (sli4_t *, sli4_queue_t *)
 
int32_t sli_queue_is_empty (sli4_t *, sli4_queue_t *)
 Check if the given queue is empty. More...
 
int32_t sli_queue_eq_arm (sli4_t *, sli4_queue_t *, uint8_t)
 Arm an EQ. More...
 
int32_t sli_queue_arm (sli4_t *, sli4_queue_t *, uint8_t)
 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_resource_alloc (sli4_t *, sli4_resource_e, uint32_t *, uint32_t *)
 Allocate SLI Port resources. More...
 
int32_t sli_resource_free (sli4_t *, sli4_resource_e, uint32_t)
 Free the SLI Port resources. More...
 
int32_t sli_resource_reset (sli4_t *, sli4_resource_e)
 
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_e *, uint16_t *)
 Parse a CQ entry to retrieve the event type and the associated queue. More...
 
int32_t sli_raise_ue (sli4_t *, uint8_t)
 Cause chip to enter an unrecoverable error state. More...
 
int32_t sli_dump_is_ready (sli4_t *)
 Read the SLIPORT_STATUS register to to check if a dump is present. More...
 
int32_t sli_dump_is_present (sli4_t *)
 Read the SLIPORT_STATUS register to check if a dump is present. More...
 
int32_t sli_reset_required (sli4_t *)
 Read the SLIPORT_STATUS register to check if the reset required is set. 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...
 
int32_t sli_fw_ready (sli4_t *)
 Determine if the chip FW is in a ready state. More...
 
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_link_is_configurable (sli4_t *)
 Determine if the link can be configured. More...
 
int32_t sli_is_paused (sli4_t *sli4)
 
void sli_validate_pause_errors (sli4_t *slit, uint32_t *skip_dump)
 

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 FC_LINK_SPEED_10G   16

Definition at line 718 of file sli4.h.

#define FC_LINK_SPEED_16G   17

Definition at line 719 of file sli4.h.

#define FC_LINK_SPEED_1G   1

Definition at line 704 of file sli4.h.

#define FC_LINK_SPEED_2G   2

Definition at line 705 of file sli4.h.

#define FC_LINK_SPEED_32G   20

Definition at line 722 of file sli4.h.

#define FC_LINK_SPEED_4G   4

Definition at line 707 of file sli4.h.

#define FC_LINK_SPEED_8G   8

Definition at line 711 of file sli4.h.

#define FC_LINK_SPEED_AUTO_16_8   19

Definition at line 721 of file sli4.h.

#define FC_LINK_SPEED_AUTO_16_8_4   18

Definition at line 720 of file sli4.h.

#define FC_LINK_SPEED_AUTO_1_2   3

Definition at line 706 of file sli4.h.

#define FC_LINK_SPEED_AUTO_32_16   22

Definition at line 724 of file sli4.h.

#define FC_LINK_SPEED_AUTO_32_16_8   21

Definition at line 723 of file sli4.h.

#define FC_LINK_SPEED_AUTO_4_1   5

Definition at line 708 of file sli4.h.

#define FC_LINK_SPEED_AUTO_4_2   6

Definition at line 709 of file sli4.h.

#define FC_LINK_SPEED_AUTO_4_2_1   7

Definition at line 710 of file sli4.h.

#define FC_LINK_SPEED_AUTO_8_1   9

Definition at line 712 of file sli4.h.

#define FC_LINK_SPEED_AUTO_8_2   10

Definition at line 713 of file sli4.h.

#define FC_LINK_SPEED_AUTO_8_2_1   11

Definition at line 714 of file sli4.h.

#define FC_LINK_SPEED_AUTO_8_4   12

Definition at line 715 of file sli4.h.

#define FC_LINK_SPEED_AUTO_8_4_1   13

Definition at line 716 of file sli4.h.

#define FC_LINK_SPEED_AUTO_8_4_2   14

Definition at line 717 of file sli4.h.

#define FC_TOPOLOGY_FCAL   0

Definition at line 668 of file sli4.h.

#define FC_TOPOLOGY_P2P   1

Definition at line 669 of file sli4.h.

#define MAX_LINK_CONFIG_DESCRIPTORS   10

Definition at line 3140 of file sli4.h.

#define MAX_PRODUCT_DESCRIPTORS   40

Definition at line 3065 of file sli4.h.

#define SLI4_128BYTE_WQE_SUPPORT   0x02

Definition at line 2197 of file sli4.h.

#define SLI4_ACQE_EVENT_CODE_DCBX   0x03

Definition at line 3382 of file sli4.h.

#define SLI4_ACQE_EVENT_CODE_FC_LINK_EVENT   0x10

Definition at line 3385 of file sli4.h.

#define SLI4_ACQE_EVENT_CODE_FCOE_FIP   0x02

Definition at line 3381 of file sli4.h.

#define SLI4_ACQE_EVENT_CODE_GRP_5   0x05

Definition at line 3384 of file sli4.h.

#define SLI4_ACQE_EVENT_CODE_ISCSI   0x04

Definition at line 3383 of file sli4.h.

#define SLI4_ACQE_EVENT_CODE_LINK_STATE   0x01

Definition at line 3380 of file sli4.h.

#define SLI4_ACQE_EVENT_CODE_MR_EVENT   0x13

Definition at line 3388 of file sli4.h.

#define SLI4_ACQE_EVENT_CODE_SLI_PORT_EVENT   0x11

Definition at line 3386 of file sli4.h.

#define SLI4_ACQE_EVENT_CODE_VF_EVENT   0x12

Definition at line 3387 of file sli4.h.

#define SLI4_ACQE_PORT_EVENT_TYPE_ITCM_PARITY_EVENT   0x0D

Definition at line 3391 of file sli4.h.

#define SLI4_ACQE_PORT_EVENT_TYPE_MISCONF_PHYPORTS   0x09

Definition at line 3390 of file sli4.h.

#define SLI4_ASIC_GEN_BE2   0x00

Definition at line 130 of file sli4.h.

#define SLI4_ASIC_GEN_BE3   0x03

Definition at line 131 of file sli4.h.

#define SLI4_ASIC_GEN_CORSAIR   0x05

Definition at line 133 of file sli4.h.

#define SLI4_ASIC_GEN_LANCER   0x0b

Definition at line 134 of file sli4.h.

#define SLI4_ASIC_GEN_MASK   0xff

Definition at line 129 of file sli4.h.

#define SLI4_ASIC_GEN_SHIFT   8

Definition at line 128 of file sli4.h.

#define SLI4_ASIC_GEN_SKYHAWK   0x04

Definition at line 132 of file sli4.h.

#define SLI4_ASIC_ID_REG   0x009c /* register offset */

ASIC_ID - SLI ASIC Type and Revision Register.

Definition at line 123 of file sli4.h.

#define SLI4_ASIC_REV_MASK   0xf

Definition at line 125 of file sli4.h.

#define SLI4_ASIC_REV_SHIFT   0

Definition at line 124 of file sli4.h.

#define SLI4_ASIC_VER_MASK   0xf

Definition at line 127 of file sli4.h.

#define SLI4_ASIC_VER_SHIFT   4

Definition at line 126 of file sli4.h.

#define SLI4_ASYNC_EVT_ALL
Value:
#define SLI4_ASYNC_EVT_ISCSI
Definition: sli4.h:2004
#define SLI4_ASYNC_EVT_GRP5
Definition: sli4.h:2005
#define SLI4_ASYNC_EVT_FC
Definition: sli4.h:2006
#define SLI4_ASYNC_EVT_SLI_PORT
Definition: sli4.h:2007
#define SLI4_ASYNC_EVT_VF
Definition: sli4.h:2008
#define SLI4_ASYNC_EVT_MR
Definition: sli4.h:2009
#define SLI4_ASYNC_EVT_FCOE_FIP
Definition: sli4.h:2002
#define SLI4_ASYNC_EVT_LINK_STATE
Definition: sli4.h:2001
#define SLI4_ASYNC_EVT_DCBX
Definition: sli4.h:2003

Definition at line 2011 of file sli4.h.

#define SLI4_ASYNC_EVT_DCBX   BIT(3)

Definition at line 2003 of file sli4.h.

#define SLI4_ASYNC_EVT_FC   BIT(16)

Definition at line 2006 of file sli4.h.

#define SLI4_ASYNC_EVT_FC_FCOE
Value:
#define SLI4_ASYNC_EVT_GRP5
Definition: sli4.h:2005
#define SLI4_ASYNC_EVT_FC
Definition: sli4.h:2006
#define SLI4_ASYNC_EVT_SLI_PORT
Definition: sli4.h:2007
#define SLI4_ASYNC_EVT_FCOE_FIP
Definition: sli4.h:2002
#define SLI4_ASYNC_EVT_LINK_STATE
Definition: sli4.h:2001

Definition at line 2022 of file sli4.h.

#define SLI4_ASYNC_EVT_FCOE_FIP   BIT(2)

Definition at line 2002 of file sli4.h.

#define SLI4_ASYNC_EVT_GRP5   BIT(5)

Definition at line 2005 of file sli4.h.

#define SLI4_ASYNC_EVT_ISCSI   BIT(4)

Definition at line 2004 of file sli4.h.

#define SLI4_ASYNC_EVT_LINK_STATE   BIT(1)

Definition at line 2001 of file sli4.h.

#define SLI4_ASYNC_EVT_MR   BIT(19)

Definition at line 2009 of file sli4.h.

#define SLI4_ASYNC_EVT_SLI_PORT   BIT(17)

Definition at line 2007 of file sli4.h.

#define SLI4_ASYNC_EVT_VF   BIT(18)

Definition at line 2008 of file sli4.h.

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

Definition at line 490 of file sli4.h.

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

Definition at line 491 of file sli4.h.

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

Definition at line 492 of file sli4.h.

#define SLI4_BMBX_HI   BIT(1)

Definition at line 144 of file sli4.h.

#define SLI4_BMBX_MASK_HI   0x3

Definition at line 141 of file sli4.h.

#define SLI4_BMBX_MASK_LO   0xf

Definition at line 142 of file sli4.h.

#define SLI4_BMBX_RDY   BIT(0)

Definition at line 143 of file sli4.h.

#define SLI4_BMBX_REG   0x0160 /* register offset */

BMBX - Bootstrap Mailbox Register.

Definition at line 140 of file sli4.h.

#define SLI4_BMBX_SIZE   256

Definition at line 150 of file sli4.h.

#define SLI4_BMBX_TIMEOUT_MSEC   30000

Definition at line 48 of file sli4.h.

#define SLI4_BMBX_WRITE_HI (   r)
Value:
((ocs_addr32_hi(r) & ~SLI4_BMBX_MASK_HI) | \
#define SLI4_BMBX_MASK_HI
Definition: sli4.h:141
#define SLI4_BMBX_HI
Definition: sli4.h:144

Definition at line 145 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:141
#define SLI4_BMBX_MASK_LO
Definition: sli4.h:142

Definition at line 147 of file sli4.h.

#define SLI4_CFG_ADD_STATUS_INVALID_OPCODE   0x1e

Definition at line 1593 of file sli4.h.

#define SLI4_CFG_ADD_STATUS_NO_STATUS   0x00

Definition at line 1592 of file sli4.h.

#define SLI4_CFG_STATUS_FAILED   0x01

Definition at line 1585 of file sli4.h.

#define SLI4_CFG_STATUS_ILLEGAL_FIELD   0x03

Definition at line 1587 of file sli4.h.

#define SLI4_CFG_STATUS_ILLEGAL_REQUEST   0x02

Definition at line 1586 of file sli4.h.

#define SLI4_CFG_STATUS_SUCCESS   0x00

Definition at line 1584 of file sli4.h.

#define SLI4_CMD_REG_FCFI_NUM_RQ_CFG   4

REG_FCFI - activate a FC Forwarder.

Definition at line 1041 of file sli4.h.

#define SLI4_CMD_REG_FCFI_SET_FCFI_MODE   0

Definition at line 1065 of file sli4.h.

#define SLI4_CMD_REG_FCFI_SET_MRQ_MODE   1

Definition at line 1066 of file sli4.h.

#define SLI4_COMMON_CREATE_CQ_V2_MAX_PAGES   8

Definition at line 1826 of file sli4.h.

#define SLI4_CONFIG_FEC_LINK_TYPE_ETH   (0)

Definition at line 2851 of file sli4.h.

#define SLI4_CONFIG_FEC_LINK_TYPE_FC   (1)

Definition at line 2852 of file sli4.h.

#define SLI4_CQ_CNT_1024   2

Definition at line 1821 of file sli4.h.

#define SLI4_CQ_CNT_256   0

CQE count.

Definition at line 1819 of file sli4.h.

#define SLI4_CQ_CNT_512   1

Definition at line 1820 of file sli4.h.

#define SLI4_CQ_CNT_LARGE   3

Definition at line 1822 of file sli4.h.

#define SLI4_CQE_BYTES   (4 * sizeof(uint32_t))

Definition at line 1824 of file sli4.h.

#define SLI4_DPP_WQ_DOORBELL (   n,
  x,
  i 
)
Value:
#define SLI4_DPP_WQ_DOORBELL_NUM_MASK
Definition: sli4.h:350
#define SLI4_WQ_DOORBELL_ID_MASK
Definition: sli4.h:344
#define SLI4_DPP_WQ_DOORBELL_DPP_ID_MASK
Definition: sli4.h:353
#define SLI4_DPP_WQ_DOORBELL_DPP_ID_SHIFT
Definition: sli4.h:352
#define SLI4_DPP_WQ_DOORBELL_NUM_SHIFT
Definition: sli4.h:349
#define SLI4_DPP_WQ_DOORBELL_DPP
Definition: sli4.h:351

Definition at line 355 of file sli4.h.

#define SLI4_DPP_WQ_DOORBELL_DPP   BIT(23)

Definition at line 351 of file sli4.h.

#define SLI4_DPP_WQ_DOORBELL_DPP_ID_MASK   0x001f

Definition at line 353 of file sli4.h.

#define SLI4_DPP_WQ_DOORBELL_DPP_ID_SHIFT   16

Definition at line 352 of file sli4.h.

#define SLI4_DPP_WQ_DOORBELL_ID_MASK   0xffff

Definition at line 354 of file sli4.h.

#define SLI4_DPP_WQ_DOORBELL_NUM_MASK   0x00ff

Definition at line 350 of file sli4.h.

#define SLI4_DPP_WQ_DOORBELL_NUM_SHIFT   24

Definition at line 349 of file sli4.h.

#define SLI4_EQ_CNT_1024   2

Definition at line 1942 of file sli4.h.

#define SLI4_EQ_CNT_2048   3

Definition at line 1943 of file sli4.h.

#define SLI4_EQ_CNT_256   0

Definition at line 1940 of file sli4.h.

#define SLI4_EQ_CNT_4096   4

Definition at line 1944 of file sli4.h.

#define SLI4_EQ_CNT_512   1

Definition at line 1941 of file sli4.h.

#define SLI4_EQCQ_CQ_ID_MASK   0x7fff

Definition at line 165 of file sli4.h.

#define SLI4_EQCQ_CQ_ID_MASK_LO   0x03ff

Definition at line 167 of file sli4.h.

#define SLI4_EQCQ_DOORBELL_ARM   BIT(29)

Definition at line 160 of file sli4.h.

#define SLI4_EQCQ_DOORBELL_CI   BIT(9)

Definition at line 158 of file sli4.h.

#define SLI4_EQCQ_DOORBELL_QT   BIT(10)

Definition at line 159 of file sli4.h.

#define SLI4_EQCQ_DOORBELL_REG   0x120

EQCQ_DOORBELL - EQ and CQ Doorbell Register.

Definition at line 157 of file sli4.h.

#define SLI4_EQCQ_DOORBELL_SE   BIT(31)

Definition at line 161 of file sli4.h.

#define SLI4_EQCQ_EQ_ID_MASK   0x3fff

Definition at line 164 of file sli4.h.

#define SLI4_EQCQ_EQ_ID_MASK_LO   0x01ff

Definition at line 166 of file sli4.h.

#define SLI4_EQCQ_EQCQ_ID_MASK_HI   0xf800

Definition at line 168 of file sli4.h.

#define SLI4_EQCQ_NUM_MASK   0x01ff

Definition at line 163 of file sli4.h.

#define SLI4_EQCQ_NUM_SHIFT   16

Definition at line 162 of file sli4.h.

#define SLI4_EQE_BYTES   (sizeof(uint32_t))

Definition at line 1949 of file sli4.h.

#define SLI4_EQE_SIZE_16   1

Definition at line 1947 of file sli4.h.

#define SLI4_EQE_SIZE_4   0

Definition at line 1946 of file sli4.h.

#define SLI4_FAMILY_CHECK_ASIC_TYPE   0xf

Definition at line 111 of file sli4.h.

#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_ALL_CFG_DATA   0x11

Definition at line 2450 of file sli4.h.

#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_BIOS   0x02

Definition at line 2435 of file sli4.h.

#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_CODE_CONTROL   0x04

Definition at line 2437 of file sli4.h.

#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_CODE_CTRL_P   0x0c

Definition at line 2445 of file sli4.h.

#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_DCBX   0x0f

Definition at line 2448 of file sli4.h.

#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_FCOE_ACT   0x0a

Definition at line 2443 of file sli4.h.

#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_FCOE_BAK   0x0b

Definition at line 2444 of file sli4.h.

#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_FCOE_BIOS   0x08

Definition at line 2441 of file sli4.h.

#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_INIT_DATA   0x06

Definition at line 2439 of file sli4.h.

#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_IPSEC_CFG   0x05

Definition at line 2438 of file sli4.h.

#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_ISCSI   0x00

Definition at line 2433 of file sli4.h.

#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_ISCSI_BAK   0x09

Definition at line 2442 of file sli4.h.

#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_NCSI   0x0d

Definition at line 2446 of file sli4.h.

#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_NIC   0x0e

Definition at line 2447 of file sli4.h.

#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_PXE_BIOS   0x03

Definition at line 2436 of file sli4.h.

#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_PXE_BIOS_CFG   0x10

Definition at line 2449 of file sli4.h.

#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_REDBOOT   0x01

Definition at line 2434 of file sli4.h.

#define SLI4_FLASH_ROM_ACCESS_OP_TYPE_ROM_OFFSET   0x07

Definition at line 2440 of file sli4.h.

#define SLI4_FUNCTION_MODE_DUA_MODE   0x800

Definition at line 2340 of file sli4.h.

#define SLI4_FUNCTION_MODE_FCOE_INI_MODE   0x40

Definition at line 2338 of file sli4.h.

#define SLI4_FUNCTION_MODE_FCOE_TGT_MODE   0x80

Definition at line 2339 of file sli4.h.

#define SLI4_FW_DUMP_TIMEOUT_MSEC   60000

Definition at line 50 of file sli4.h.

#define SLI4_FW_READY_TIMEOUT_MSEC   30000

Definition at line 49 of file sli4.h.

#define SLI4_GET_SLI_CONFIG_OFFSET (   buf,
  offset 
)    ((uint8_t *)buf + offset)

SLI_CONFIG - submit a configuration command to Port.

Command is either embedded as part of the payload (embed) or located in a separate memory buffer (mem)

Definition at line 1244 of file sli4.h.

#define SLI4_IF6_CQ_DOORBELL_REG   0xC0

Definition at line 171 of file sli4.h.

#define SLI4_IF6_DPP_DOORBELL_REG_SET   2

Definition at line 172 of file sli4.h.

#define SLI4_IF6_EQ_DOORBELL_REG   0x120

Definition at line 170 of file sli4.h.

#define SLI4_IF6_MQ_DOORBELL_REG   0x0160 /* register offset if_type = 6 */

Definition at line 317 of file sli4.h.

#define SLI4_IF6_RQ_DOORBELL_REG   0x0080 /* register offset of if_type = 6 */

Definition at line 328 of file sli4.h.

#define SLI4_IF6_WQ_DOORBELL_REG   0x040 /* register offset for if_type = 6 */

Definition at line 339 of file sli4.h.

#define SLI4_IF_TYPE_BE3_SKH_PF   0

Definition at line 113 of file sli4.h.

#define SLI4_IF_TYPE_BE3_SKH_VF   1

Definition at line 114 of file sli4.h.

#define SLI4_IF_TYPE_LANCER_FC_ETH   2

Definition at line 115 of file sli4.h.

#define SLI4_IF_TYPE_LANCER_G7   6

Definition at line 117 of file sli4.h.

#define SLI4_IF_TYPE_LANCER_RDMA   3

Definition at line 116 of file sli4.h.

#define SLI4_INIT_LINK_F_FAIL_OVER   BIT(10)

Definition at line 687 of file sli4.h.

#define SLI4_INIT_LINK_F_FCAL_FAIL_OVER   0

Definition at line 694 of file sli4.h.

#define SLI4_INIT_LINK_F_FCAL_ONLY   2

Definition at line 692 of file sli4.h.

#define SLI4_INIT_LINK_F_LOOP_BACK   BIT(0)

Definition at line 682 of file sli4.h.

#define SLI4_INIT_LINK_F_LOOP_VALID_CHK   BIT(8)

Definition at line 685 of file sli4.h.

#define SLI4_INIT_LINK_F_NO_AUTOSPEED   BIT(11)

Definition at line 688 of file sli4.h.

#define SLI4_INIT_LINK_F_NO_LIRP   BIT(7)

Definition at line 684 of file sli4.h.

#define SLI4_INIT_LINK_F_NO_LISA   BIT(9)

Definition at line 686 of file sli4.h.

#define SLI4_INIT_LINK_F_P2P_FAIL_OVER   1

Definition at line 695 of file sli4.h.

#define SLI4_INIT_LINK_F_P2P_ONLY   1

Definition at line 691 of file sli4.h.

#define SLI4_INIT_LINK_F_PICK_HI_ALPA   BIT(15)

Definition at line 689 of file sli4.h.

#define SLI4_INIT_LINK_F_UNFAIR   BIT(6)

Definition at line 683 of file sli4.h.

#define SLI4_INTF_IF_TYPE_MASK   0xf

Definition at line 106 of file sli4.h.

#define SLI4_INTF_IF_TYPE_SHIFT   12

Definition at line 105 of file sli4.h.

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

SLI_INTF - SLI Interface Definition Register.

Definition at line 101 of file sli4.h.

#define SLI4_INTF_SLI_FAMILY_MASK   0xf

Definition at line 108 of file sli4.h.

#define SLI4_INTF_SLI_FAMILY_SHIFT   8

Definition at line 107 of file sli4.h.

#define SLI4_INTF_SLI_REVISION_MASK   0xf

Definition at line 110 of file sli4.h.

#define SLI4_INTF_SLI_REVISION_SHIFT   4

Definition at line 109 of file sli4.h.

#define SLI4_INTF_VALID   0x6

Definition at line 104 of file sli4.h.

#define SLI4_INTF_VALID_MASK   0x7

Definition at line 103 of file sli4.h.

#define SLI4_INTF_VALID_SHIFT   29

Definition at line 102 of file sli4.h.

#define SLI4_IO_WQ_DOORBELL_REG   0x040 /* register offset */

WQ_DOORBELL - WQ Doorbell Register.

Definition at line 338 of file sli4.h.

#define SLI4_MAJOR_CODE_SENTINEL   1

Definition at line 3317 of file sli4.h.

#define SLI4_MAJOR_CODE_STANDARD   0

Definition at line 3316 of file sli4.h.

#define SLI4_MAX_IF_TYPES   7

Definition at line 118 of file sli4.h.

#define SLI4_MAX_ULP   8

Definition at line 3189 of file sli4.h.

#define SLI4_MBOX_COMMAND_CONFIG_LINK   0x07

Definition at line 428 of file sli4.h.

#define SLI4_MBOX_COMMAND_CONFIG_TOW   0xAD

Definition at line 456 of file sli4.h.

#define SLI4_MBOX_COMMAND_CONFIG_TOW_HP   0xAE

Definition at line 457 of file sli4.h.

#define SLI4_MBOX_COMMAND_DOWN_LINK   0x06

Definition at line 430 of file sli4.h.

#define SLI4_MBOX_COMMAND_DUMP   0x17

Definition at line 429 of file sli4.h.

#define SLI4_MBOX_COMMAND_INIT_LINK   0x05

Definition at line 431 of file sli4.h.

#define SLI4_MBOX_COMMAND_INIT_VFI   0xa3

Definition at line 432 of file sli4.h.

#define SLI4_MBOX_COMMAND_INIT_VPI   0xa4

Definition at line 433 of file sli4.h.

#define SLI4_MBOX_COMMAND_POST_XRI   0xa7

Definition at line 434 of file sli4.h.

#define SLI4_MBOX_COMMAND_READ_CONFIG   0x0b

Definition at line 436 of file sli4.h.

#define SLI4_MBOX_COMMAND_READ_LNK_STAT   0x12

Definition at line 440 of file sli4.h.

#define SLI4_MBOX_COMMAND_READ_NVPARMS   0x02

Definition at line 438 of file sli4.h.

#define SLI4_MBOX_COMMAND_READ_REV   0x11

Definition at line 439 of file sli4.h.

#define SLI4_MBOX_COMMAND_READ_SPARM64   0x8d

Definition at line 441 of file sli4.h.

#define SLI4_MBOX_COMMAND_READ_STATUS   0x0e

Definition at line 437 of file sli4.h.

#define SLI4_MBOX_COMMAND_READ_TOPOLOGY   0x95

Definition at line 442 of file sli4.h.

#define SLI4_MBOX_COMMAND_REG_FCFI   0xa0

Definition at line 443 of file sli4.h.

#define SLI4_MBOX_COMMAND_REG_FCFI_MRQ   0xaf

Definition at line 444 of file sli4.h.

#define SLI4_MBOX_COMMAND_REG_RPI   0x93

Definition at line 445 of file sli4.h.

#define SLI4_MBOX_COMMAND_REG_RX_RQ   0xa6

Definition at line 446 of file sli4.h.

#define SLI4_MBOX_COMMAND_REG_VFI   0x9f

Definition at line 447 of file sli4.h.

#define SLI4_MBOX_COMMAND_REG_VPI   0x96

Definition at line 448 of file sli4.h.

#define SLI4_MBOX_COMMAND_RELEASE_XRI   0xac

Definition at line 435 of file sli4.h.

#define SLI4_MBOX_COMMAND_REQUEST_FEATURES   0x9d

Definition at line 449 of file sli4.h.

#define SLI4_MBOX_COMMAND_SLI_CONFIG   0x9b

Definition at line 450 of file sli4.h.

#define SLI4_MBOX_COMMAND_UNREG_FCFI   0xa2

Definition at line 451 of file sli4.h.

#define SLI4_MBOX_COMMAND_UNREG_RPI   0x14

Definition at line 452 of file sli4.h.

#define SLI4_MBOX_COMMAND_UNREG_VFI   0xa1

Definition at line 453 of file sli4.h.

#define SLI4_MBOX_COMMAND_UNREG_VPI   0x97

Definition at line 454 of file sli4.h.

#define SLI4_MBOX_COMMAND_WRITE_NVPARMS   0x03

Definition at line 455 of file sli4.h.

#define SLI4_MBOX_EXT_STATUS_OBJ_UNSUPPORTED_FIRMWARE   0xEB

Definition at line 462 of file sli4.h.

#define SLI4_MBOX_STATUS_FAILURE   0x0001

Definition at line 460 of file sli4.h.

#define SLI4_MBOX_STATUS_RPI_NOT_REG   0x1400

Definition at line 461 of file sli4.h.

#define SLI4_MBOX_STATUS_SUCCESS   0x0000

Definition at line 459 of file sli4.h.

#define SLI4_MGMT_FLASHROM_OPCODE_CLEAR   0x03

Definition at line 2424 of file sli4.h.

#define SLI4_MGMT_FLASHROM_OPCODE_FLASH   0x01

Definition at line 2422 of file sli4.h.

#define SLI4_MGMT_FLASHROM_OPCODE_IMAGE_CRC   0x06

Definition at line 2427 of file sli4.h.

#define SLI4_MGMT_FLASHROM_OPCODE_IMAGE_INFO   0x05

Definition at line 2426 of file sli4.h.

#define SLI4_MGMT_FLASHROM_OPCODE_OFFSET_BASED_FLASH   0x07

Definition at line 2428 of file sli4.h.

#define SLI4_MGMT_FLASHROM_OPCODE_OFFSET_BASED_SAVE   0x08

Definition at line 2429 of file sli4.h.

#define SLI4_MGMT_FLASHROM_OPCODE_REPORT   0x04

Definition at line 2425 of file sli4.h.

#define SLI4_MGMT_FLASHROM_OPCODE_SAVE   0x02

Definition at line 2423 of file sli4.h.

#define SLI4_MGMT_PHY_FLASHROM_OPCODE_FLASH   0x09

Definition at line 2430 of file sli4.h.

#define SLI4_MGMT_PHY_FLASHROM_OPCODE_SAVE   0x0a

Definition at line 2431 of file sli4.h.

#define SLI4_MGMT_STATUS_FEATURE_NOT_SUPPORTED   0x44

Definition at line 1590 of file sli4.h.

#define SLI4_MGMT_STATUS_FLASHROM_READ_FAILED   0xcb

Definition at line 1589 of file sli4.h.

#define SLI4_MIN_LOOP_MAP_BYTES   128

Definition at line 1019 of file sli4.h.

#define SLI4_MQ_DOORBELL (   n,
  i 
)
Value:
#define SLI4_MQ_DOORBELL_ID_MASK
Definition: sli4.h:320
#define SLI4_MQ_DOORBELL_NUM_MASK
Definition: sli4.h:319
#define SLI4_MQ_DOORBELL_NUM_SHIFT
Definition: sli4.h:318

Definition at line 321 of file sli4.h.

#define SLI4_MQ_DOORBELL_ID_MASK   0xffff

Definition at line 320 of file sli4.h.

#define SLI4_MQ_DOORBELL_NUM_MASK   0x3fff

Definition at line 319 of file sli4.h.

#define SLI4_MQ_DOORBELL_NUM_SHIFT   16

Definition at line 318 of file sli4.h.

#define SLI4_MQ_DOORBELL_REG   0x0140 /* register offset */

MQ_DOORBELL - MQ Doorbell Register.

Definition at line 316 of file sli4.h.

#define SLI4_MQE_BYTES   256

Definition at line 1999 of file sli4.h.

#define SLI4_MQE_SIZE_128   0x08

Definition at line 1997 of file sli4.h.

#define SLI4_MQE_SIZE_16   0x05

Definition at line 1994 of file sli4.h.

#define SLI4_MQE_SIZE_32   0x06

Definition at line 1995 of file sli4.h.

#define SLI4_MQE_SIZE_64   0x07

Definition at line 1996 of file sli4.h.

#define SLI4_OPC_COMMON_CREATE_CQ   0x0c

Definition at line 1611 of file sli4.h.

#define SLI4_OPC_COMMON_CREATE_CQ_SET   0x1d

Definition at line 1612 of file sli4.h.

#define SLI4_OPC_COMMON_CREATE_EQ   0x0d

Definition at line 1615 of file sli4.h.

#define SLI4_OPC_COMMON_CREATE_MQ_EXT   0x5a

Definition at line 1617 of file sli4.h.

#define SLI4_OPC_COMMON_DELETE_OBJECT   0xae

Definition at line 1644 of file sli4.h.

#define SLI4_OPC_COMMON_DESTROY_CQ   0x36

Definition at line 1613 of file sli4.h.

#define SLI4_OPC_COMMON_DESTROY_EQ   0x37

Definition at line 1616 of file sli4.h.

#define SLI4_OPC_COMMON_DESTROY_MQ   0x35

Definition at line 1618 of file sli4.h.

#define SLI4_OPC_COMMON_EXT_FAT_CONFIGURE_SNAPSHOT   0x7f

Definition at line 1632 of file sli4.h.

#define SLI4_OPC_COMMON_EXT_FAT_READ_STRING_TABLE   0x82

Definition at line 1634 of file sli4.h.

#define SLI4_OPC_COMMON_EXT_FAT_RETRIEVE_SNAPSHOT   0x80

Definition at line 1633 of file sli4.h.

#define SLI4_OPC_COMMON_FUNCTION_RESET   0x3d

Common opcode (OPC) values.

Definition at line 1610 of file sli4.h.

#define SLI4_OPC_COMMON_GET_ACTIVE_PROFILE   0xa7

Definition at line 1640 of file sli4.h.

#define SLI4_OPC_COMMON_GET_CNTL_ADDL_ATTRIBUTES   0x79

Definition at line 1629 of file sli4.h.

#define SLI4_OPC_COMMON_GET_CNTL_ATTRIBUTES   0x20

Definition at line 1619 of file sli4.h.

#define SLI4_OPC_COMMON_GET_EXT_FAT_CAPABILITIES   0x7d

Definition at line 1630 of file sli4.h.

#define SLI4_OPC_COMMON_GET_FUNCTION_CONFIG   0xa0

Definition at line 1636 of file sli4.h.

#define SLI4_OPC_COMMON_GET_PORT_NAME   0x4d

Definition at line 1624 of file sli4.h.

#define SLI4_OPC_COMMON_GET_PROFILE_CONFIG   0xa4

Definition at line 1637 of file sli4.h.

#define SLI4_OPC_COMMON_GET_PROFILE_LIST   0xa6

Definition at line 1639 of file sli4.h.

#define SLI4_OPC_COMMON_GET_RECONFIG_LINK_INFO   0xc9

Definition at line 1648 of file sli4.h.

#define SLI4_OPC_COMMON_GET_RESOURCE_EXTENT_INFO   0x9a

Definition at line 1621 of file sli4.h.

#define SLI4_OPC_COMMON_GET_SLI4_PARAMETERS   0xb5

Definition at line 1622 of file sli4.h.

#define SLI4_OPC_COMMON_MANAGE_FAT   0x44

Definition at line 1627 of file sli4.h.

#define SLI4_OPC_COMMON_MODIFY_EQ_DELAY   0x29

Definition at line 1614 of file sli4.h.

#define SLI4_OPC_COMMON_NOP   0x21

Definition at line 1620 of file sli4.h.

#define SLI4_OPC_COMMON_QUERY_FW_CONFIG   0x3a

Definition at line 1623 of file sli4.h.

#define SLI4_OPC_COMMON_READ_OBJECT   0xab

Definition at line 1642 of file sli4.h.

#define SLI4_OPC_COMMON_READ_OBJECT_LIST   0xad

Definition at line 1645 of file sli4.h.

#define SLI4_OPC_COMMON_READ_TRANSCEIVER_DATA   0x49

Definition at line 1628 of file sli4.h.

#define SLI4_OPC_COMMON_RUN_BIU_DIAG   0x84

Definition at line 1635 of file sli4.h.

#define SLI4_OPC_COMMON_SET_ACTIVE_PROFILE   0xa8

Definition at line 1641 of file sli4.h.

#define SLI4_OPC_COMMON_SET_DUMP_LOCATION   0xb8

Definition at line 1646 of file sli4.h.

#define SLI4_OPC_COMMON_SET_EXT_FAT_CAPABILITIES   0x7e

Definition at line 1631 of file sli4.h.

#define SLI4_OPC_COMMON_SET_FEATURES   0xbf

Definition at line 1647 of file sli4.h.

#define SLI4_OPC_COMMON_SET_PROFILE_CONFIG   0xa5

Definition at line 1638 of file sli4.h.

#define SLI4_OPC_COMMON_SET_RECONFIG_LINK_ID   0xca

Definition at line 1649 of file sli4.h.

#define SLI4_OPC_COMMON_WRITE_FLASHROM   0x07

Definition at line 1626 of file sli4.h.

#define SLI4_OPC_COMMON_WRITE_OBJECT   0xac

Definition at line 1643 of file sli4.h.

#define SLI4_OPC_DMTF_EXEC_CLP_CMD   0x01

DMTF opcode (OPC) values.

Definition at line 1661 of file sli4.h.

#define SLI4_OPC_FC_SET_TRUNK_MODE   0x42

Definition at line 1655 of file sli4.h.

#define SLI4_OPC_FCOE_GET_DPORT_RESULTS   0x28

Definition at line 1654 of file sli4.h.

#define SLI4_OPC_FCOE_SET_DPORT_MODE   0x27

Definition at line 1653 of file sli4.h.

#define SLI4_OPC_FCOE_SET_LINK_DIAG_LOOPBACK   0x23

Definition at line 1652 of file sli4.h.

#define SLI4_OPC_FCOE_SET_LINK_DIAG_STATE   0x22

Definition at line 1651 of file sli4.h.

#define SLI4_OPC_LOWLEVEL_GET_ITCM_PARITY_STATS   0x38

Definition at line 1605 of file sli4.h.

#define SLI4_OPC_LOWLEVEL_SET_DIAG_LOG_OPTIONS   0X37

Definition at line 1604 of file sli4.h.

#define SLI4_OPC_LOWLEVEL_SET_WATCHDOG   0X36

Definition at line 1603 of file sli4.h.

#define SLI4_PAUSE_ERRX_PAIR_CNT   16

Definition at line 3498 of file sli4.h.

#define SLI4_PCI_CLASS_MASK   0xfff

Definition at line 89 of file sli4.h.

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

Definition at line 85 of file sli4.h.

#define SLI4_PCI_CLASS_SHIFT   8

Definition at line 88 of file sli4.h.

#define SLI4_PCI_REV_ID_MASK   0xff

Definition at line 87 of file sli4.h.

#define SLI4_PCI_REV_ID_SHIFT   0

Definition at line 86 of file sli4.h.

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

Definition at line 91 of file sli4.h.

#define SLI4_PCI_SOFT_RESET_MASK   0x0080

Definition at line 92 of file sli4.h.

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

Definition at line 404 of file sli4.h.

#define SLI4_PHYDEV_CONTROL_CFP   BIT(11) /** continue from pause */

Definition at line 412 of file sli4.h.

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

Definition at line 407 of file sli4.h.

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

Definition at line 405 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:408

Definition at line 410 of file sli4.h.

#define SLI4_PHYDEV_CONTROL_FRL_MASK   0x000000f0

Definition at line 408 of file sli4.h.

#define SLI4_PHYDEV_CONTROL_FRL_SHIFT   4

Definition at line 409 of file sli4.h.

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

Definition at line 406 of file sli4.h.

#define SLI4_PORT_MIGRATION_BIT   16

Definition at line 152 of file sli4.h.

#define SLI4_PORT_SEMAPHORE_HOST (   r)
Value:
#define SLI4_PORT_SEMAPHORE_HOST_MASK
Definition: sli4.h:368
#define SLI4_PORT_SEMAPHORE_HOST_SHIFT
Definition: sli4.h:369

Definition at line 370 of file sli4.h.

#define SLI4_PORT_SEMAPHORE_HOST_MASK   0x00ff0000

Definition at line 368 of file sli4.h.

#define SLI4_PORT_SEMAPHORE_HOST_SHIFT   16

Definition at line 369 of file sli4.h.

#define SLI4_PORT_SEMAPHORE_IN_ERR (   r)
Value:
#define SLI4_PORT_SEMAPHORE_STATUS_UNRECOV_ERR
Definition: sli4.h:380
#define SLI4_PORT_SEMAPHORE_STATUS_ERR_MASK
Definition: sli4.h:381

Definition at line 382 of file sli4.h.

#define SLI4_PORT_SEMAPHORE_IPC   BIT(28) /** IP conflict */

Definition at line 374 of file sli4.h.

#define SLI4_PORT_SEMAPHORE_NIP   BIT(29) /** no IP address */

Definition at line 375 of file sli4.h.

#define SLI4_PORT_SEMAPHORE_PERR   BIT(31) /** POST fatal error */

Definition at line 377 of file sli4.h.

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

Definition at line 367 of file sli4.h.

#define SLI4_PORT_SEMAPHORE_PORT_MASK   0x0000ffff

Definition at line 366 of file sli4.h.

#define SLI4_PORT_SEMAPHORE_REG_0   0x00ac /** register offset Interface Type 0 + 1 */

SLIPORT_SEMAPHORE - SLI Port Host and Port Status Register.

Definition at line 363 of file sli4.h.

#define SLI4_PORT_SEMAPHORE_REG_1   0x0180 /** register offset Interface Type 0 + 1 */

Definition at line 364 of file sli4.h.

#define SLI4_PORT_SEMAPHORE_REG_236   0x0400 /** register offset Interface Type 2 + 3 + 6*/

Definition at line 365 of file sli4.h.

#define SLI4_PORT_SEMAPHORE_SCR1   BIT(27) /** scratch area 1 */

Definition at line 373 of file sli4.h.

#define SLI4_PORT_SEMAPHORE_SCR2   BIT(26) /** scratch area 2 */

Definition at line 372 of file sli4.h.

#define SLI4_PORT_SEMAPHORE_SFI   BIT(30) /** secondary firmware image used */

Definition at line 376 of file sli4.h.

#define SLI4_PORT_SEMAPHORE_STATUS_ERR_MASK   0xf000

Definition at line 381 of file sli4.h.

#define SLI4_PORT_SEMAPHORE_STATUS_POST_READY   0xc000

Definition at line 379 of file sli4.h.

#define SLI4_PORT_SEMAPHORE_STATUS_UNRECOV_ERR   0xf000

Definition at line 380 of file sli4.h.

#define SLI4_PORT_STATUS_DIP   BIT(25) /** dump present */

Definition at line 393 of file sli4.h.

#define SLI4_PORT_STATUS_DUMP_PRESENT (   r)    ((r) & SLI4_PORT_STATUS_DIP)

Definition at line 400 of file sli4.h.

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

Definition at line 396 of file sli4.h.

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

Definition at line 397 of file sli4.h.

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

Definition at line 399 of file sli4.h.

#define SLI4_PORT_STATUS_FDP   BIT(21) /** function specific dump present */

Definition at line 390 of file sli4.h.

#define SLI4_PORT_STATUS_FDP_PRESENT (   r)    ((r) & SLI4_PORT_STATUS_FDP)

Definition at line 401 of file sli4.h.

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

Definition at line 395 of file sli4.h.

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

Definition at line 391 of file sli4.h.

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

Definition at line 398 of file sli4.h.

#define SLI4_PORT_STATUS_REG_236   0x0404 /** register offset Interface Type 2 + 3 + 6*/

SLIPORT_STATUS - SLI Port Status Register.

Definition at line 389 of file sli4.h.

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

Definition at line 392 of file sli4.h.

#define SLI4_PORT_STATUS_SPP   BIT(27) /** SLI port paused */

Definition at line 394 of file sli4.h.

#define SLI4_PROTOCOL_DEFAULT   0xff

Definition at line 2934 of file sli4.h.

#define SLI4_PROTOCOL_FC   0x10

Definition at line 2933 of file sli4.h.

#define SLI4_PROTOCOL_FCOE   0x04

Definition at line 2931 of file sli4.h.

#define SLI4_PROTOCOL_ISCSI   0x02

Definition at line 2930 of file sli4.h.

#define SLI4_PROTOCOL_NIC_TOE   0x01

Definition at line 2929 of file sli4.h.

#define SLI4_PROTOCOL_NIC_TOE_RDMA   0x08

Definition at line 2932 of file sli4.h.

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

Definition at line 3500 of file sli4.h.

#define SLI4_QUEUE_RQ_BATCH   8

Definition at line 3502 of file sli4.h.

#define SLI4_READ_CFG_TOPO_FC   0x1 /** FC topology unknown */

Definition at line 856 of file sli4.h.

#define SLI4_READ_CFG_TOPO_FC_AL   0x3 /** FC-AL topology */

Definition at line 858 of file sli4.h.

#define SLI4_READ_CFG_TOPO_FC_DA   0x2 /** FC Direct Attach (non FC-AL) topology */

Definition at line 857 of file sli4.h.

#define SLI4_READ_CFG_TOPO_FCOE   0x0 /** FCoE topology */

Definition at line 855 of file sli4.h.

#define SLI4_READ_SPARM64_VPI_DEFAULT   0

Definition at line 956 of file sli4.h.

#define SLI4_READ_SPARM64_VPI_SPECIAL   UINT16_MAX

Definition at line 957 of file sli4.h.

#define SLI4_READ_SPARM64_WWNN_OFFSET   (SLI4_READ_SPARM64_WWPN_OFFSET + sizeof(uint64_t))

Definition at line 960 of file sli4.h.

#define SLI4_READ_SPARM64_WWPN_OFFSET   (4 * sizeof(uint32_t))

Definition at line 959 of file sli4.h.

#define SLI4_READ_TOPOLOGY_FC_AL   0x2

Definition at line 1027 of file sli4.h.

#define SLI4_READ_TOPOLOGY_LINK_DOWN   0x2

Definition at line 1022 of file sli4.h.

#define SLI4_READ_TOPOLOGY_LINK_NO_ALPA   0x3

Definition at line 1023 of file sli4.h.

#define SLI4_READ_TOPOLOGY_LINK_UP   0x1

Definition at line 1021 of file sli4.h.

#define SLI4_READ_TOPOLOGY_NPORT   0x1

Definition at line 1026 of file sli4.h.

#define SLI4_READ_TOPOLOGY_SPEED_10G   0x40

Definition at line 1034 of file sli4.h.

#define SLI4_READ_TOPOLOGY_SPEED_16G   0x80

Definition at line 1035 of file sli4.h.

#define SLI4_READ_TOPOLOGY_SPEED_1G   0x04

Definition at line 1030 of file sli4.h.

#define SLI4_READ_TOPOLOGY_SPEED_2G   0x08

Definition at line 1031 of file sli4.h.

#define SLI4_READ_TOPOLOGY_SPEED_32G   0x90

Definition at line 1036 of file sli4.h.

#define SLI4_READ_TOPOLOGY_SPEED_4G   0x10

Definition at line 1032 of file sli4.h.

#define SLI4_READ_TOPOLOGY_SPEED_8G   0x20

Definition at line 1033 of file sli4.h.

#define SLI4_READ_TOPOLOGY_SPEED_NONE   0x00

Definition at line 1029 of file sli4.h.

#define SLI4_READ_TOPOLOGY_UNKNOWN   0x0

Definition at line 1025 of file sli4.h.

#define SLI4_REG_RPI_BUF_LEN   0x70

Definition at line 1145 of file sli4.h.

#define SLI4_RESOURCE_DESCRIPTOR_TYPE_FCFCOE   0x53

Definition at line 2924 of file sli4.h.

#define SLI4_RESOURCE_DESCRIPTOR_TYPE_ISAP   0x56

Definition at line 2927 of file sli4.h.

#define SLI4_RESOURCE_DESCRIPTOR_TYPE_ISCSI   0x52

Definition at line 2923 of file sli4.h.

#define SLI4_RESOURCE_DESCRIPTOR_TYPE_NIC   0x51

Definition at line 2922 of file sli4.h.

#define SLI4_RESOURCE_DESCRIPTOR_TYPE_PCIE   0x50

Resource descriptor.

Definition at line 2921 of file sli4.h.

#define SLI4_RESOURCE_DESCRIPTOR_TYPE_PORT   0x55

Definition at line 2926 of file sli4.h.

#define SLI4_RESOURCE_DESCRIPTOR_TYPE_RDMA   0x54

Definition at line 2925 of file sli4.h.

#define SLI4_RQ_DOORBELL (   n,
  i 
)
Value:
#define SLI4_RQ_DOORBELL_ID_MASK
Definition: sli4.h:331
#define SLI4_RQ_DOORBELL_NUM_SHIFT
Definition: sli4.h:329
#define SLI4_RQ_DOORBELL_NUM_MASK
Definition: sli4.h:330

Definition at line 332 of file sli4.h.

#define SLI4_RQ_DOORBELL_ID_MASK   0xffff

Definition at line 331 of file sli4.h.

#define SLI4_RQ_DOORBELL_NUM_MASK   0x3fff

Definition at line 330 of file sli4.h.

#define SLI4_RQ_DOORBELL_NUM_SHIFT   16

Definition at line 329 of file sli4.h.

#define SLI4_RQ_DOORBELL_REG   0x0a0 /* register offset */

RQ_DOORBELL - RQ Doorbell Register.

Definition at line 327 of file sli4.h.

#define SLI4_RSC_TYPE_FCOE_RPI   0x22

Definition at line 2183 of file sli4.h.

#define SLI4_RSC_TYPE_FCOE_VFI   0x20

Definition at line 2181 of file sli4.h.

#define SLI4_RSC_TYPE_FCOE_VPI   0x21

Definition at line 2182 of file sli4.h.

#define SLI4_RSC_TYPE_FCOE_XRI   0x23

Definition at line 2184 of file sli4.h.

#define SLI4_RSC_TYPE_ISCSI_INI_XRI   0x0c

Definition at line 2180 of file sli4.h.

#define SLI4_SET_FEATURES_AUTO_RSP_PARAM_RESET   0x19

Definition at line 2751 of file sli4.h.

#define SLI4_SET_FEATURES_DIF_MEMORY_MODE   0x08

Definition at line 2743 of file sli4.h.

#define SLI4_SET_FEATURES_DIF_SEED   0x01

COMMON_SET_SET_FEATURES.

Definition at line 2737 of file sli4.h.

#define SLI4_SET_FEATURES_ENABLE_MULTI_RECEIVE_QUEUE   0x0D

Definition at line 2748 of file sli4.h.

#define SLI4_SET_FEATURES_ENABLE_PCIE_OPTIONS   0x0A

Definition at line 2745 of file sli4.h.

#define SLI4_SET_FEATURES_FCTL_CHECK   0x05

Definition at line 2740 of file sli4.h.

#define SLI4_SET_FEATURES_FEC   0x06

Definition at line 2741 of file sli4.h.

#define SLI4_SET_FEATURES_MAX_PCIE_SPEED   0x04

Definition at line 2739 of file sli4.h.

#define SLI4_SET_FEATURES_PCIE_RECV_DETECT   0x07

Definition at line 2742 of file sli4.h.

#define SLI4_SET_FEATURES_SET_CONFIG_AXR_T10PI   0x0C

Definition at line 2746 of file sli4.h.

#define SLI4_SET_FEATURES_SET_CONFIG_TOW_T10PI   0x1C

Definition at line 2747 of file sli4.h.

#define SLI4_SET_FEATURES_SET_FTD_XFER_HINT   0x0F

Definition at line 2749 of file sli4.h.

#define SLI4_SET_FEATURES_SLI_PORT_HEALTH_CHECK   0x11

Definition at line 2750 of file sli4.h.

#define SLI4_SET_FEATURES_SLI_PORT_PAUSE_STATE   0x09

Definition at line 2744 of file sli4.h.

#define SLI4_SET_FEATURES_XRI_TIMER   0x03

Definition at line 2738 of file sli4.h.

#define SLI4_SGE_DIF_OP_IN_CHKSUM_OUT_CHKSUM   0x05

Definition at line 584 of file sli4.h.

#define SLI4_SGE_DIF_OP_IN_CHKSUM_OUT_CRC   0x07

Definition at line 586 of file sli4.h.

#define SLI4_SGE_DIF_OP_IN_CHKSUM_OUT_NODIF   0x03

Definition at line 582 of file sli4.h.

#define SLI4_SGE_DIF_OP_IN_CRC_OUT_CHKSUM   0x06

Definition at line 585 of file sli4.h.

#define SLI4_SGE_DIF_OP_IN_CRC_OUT_CRC   0x04

Definition at line 583 of file sli4.h.

#define SLI4_SGE_DIF_OP_IN_CRC_OUT_NODIF   0x01

Definition at line 580 of file sli4.h.

#define SLI4_SGE_DIF_OP_IN_NODIF_OUT_CHKSUM   0x02

Definition at line 581 of file sli4.h.

#define SLI4_SGE_DIF_OP_IN_NODIF_OUT_CRC   0x00

Definition at line 579 of file sli4.h.

#define SLI4_SGE_DIF_OP_IN_RAW_OUT_RAW   0x08

Definition at line 587 of file sli4.h.

#define SLI4_SGE_MAX_RESERVED   3

Definition at line 577 of file sli4.h.

#define SLI4_SGE_TYPE_ATM   0x0a /** DIF Application Tag Mask */

Definition at line 597 of file sli4.h.

#define SLI4_SGE_TYPE_CHAIN   0x03 /** Skyhawk only */

Definition at line 590 of file sli4.h.

#define SLI4_SGE_TYPE_DATA   0x00

Definition at line 589 of file sli4.h.

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

Definition at line 591 of file sli4.h.

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

Definition at line 595 of file sli4.h.

#define SLI4_SGE_TYPE_ENC   0x09 /** Encryption */

Definition at line 596 of file sli4.h.

#define SLI4_SGE_TYPE_LSP   0x05 /** List Segment Pointer */

Definition at line 592 of file sli4.h.

#define SLI4_SGE_TYPE_PEDIF   0x06 /** Post Encryption Engine DIF */

Definition at line 593 of file sli4.h.

#define SLI4_SGE_TYPE_PESEED   0x07 /** Post Encryption Engine DIF Seed */

Definition at line 594 of file sli4.h.

#define SLI4_SGE_TYPE_SKIP   0x0c /** SKIP */

Definition at line 598 of file sli4.h.

#define SLI4_SLIPORT_CONTROL_BIG_ENDIAN   BIT(30)

Definition at line 179 of file sli4.h.

#define SLI4_SLIPORT_CONTROL_END   BIT(30)

Definition at line 177 of file sli4.h.

#define SLI4_SLIPORT_CONTROL_FDD   BIT(31)

Definition at line 182 of file sli4.h.

#define SLI4_SLIPORT_CONTROL_IDIS   BIT(22)

Definition at line 181 of file sli4.h.

#define SLI4_SLIPORT_CONTROL_IP   BIT(27)

Definition at line 180 of file sli4.h.

#define SLI4_SLIPORT_CONTROL_LITTLE_ENDIAN   (0)

Definition at line 178 of file sli4.h.

#define SLI4_SLIPORT_CONTROL_REG   0x0408

SLIPORT_CONTROL - SLI Port Control Register.

Definition at line 176 of file sli4.h.

#define SLI4_SLIPORT_ERROR1   0x040c

SLI4_SLIPORT_ERROR1 - SLI Port Error Register.

Definition at line 187 of file sli4.h.

#define SLI4_SLIPORT_ERROR1_RQ_EMPTY_TIMEOUT   0x52004a01

Definition at line 188 of file sli4.h.

#define SLI4_SLIPORT_ERROR2   0x0410

SLI4_SLIPORT_ERROR2 - SLI Port Error Register.

Definition at line 193 of file sli4.h.

#define SLI4_SUBSYSTEM_COMMON   0x01

Subsystem values.

Definition at line 1598 of file sli4.h.

#define SLI4_SUBSYSTEM_DMTF   0x11

Definition at line 1601 of file sli4.h.

#define SLI4_SUBSYSTEM_FCFCOE   0x0c

Definition at line 1600 of file sli4.h.

#define SLI4_SUBSYSTEM_LOWLEVEL   0x0B

Definition at line 1599 of file sli4.h.

#define SLI4_SW_UE_CSR1   0x138

Registers for generating software UE (BE3)

Definition at line 206 of file sli4.h.

#define SLI4_SW_UE_CSR2   0x1FFFC

Definition at line 207 of file sli4.h.

#define SLI4_SW_UE_REG   0x5C /* register offset */

Registers for generating software UE (Skyhawk)

Definition at line 212 of file sli4.h.

#define SLI4_TRUNK_MODE_2_LINKS_PER_TRUNK   0x1

Definition at line 3244 of file sli4.h.

#define SLI4_TRUNK_MODE_4_LINKS_PER_TRUNK   0x2

Definition at line 3245 of file sli4.h.

#define SLI4_TRUNK_MODE_NONE   0x0

Definition at line 3243 of file sli4.h.

#define SLI4_UERR_MASK_HIGH_REG   0xAC

Definition at line 201 of file sli4.h.

#define SLI4_UERR_MASK_LOW_REG   0xA8

Definition at line 200 of file sli4.h.

#define SLI4_UERR_STATUS_HIGH_REG   0xA4

Definition at line 199 of file sli4.h.

#define SLI4_UERR_STATUS_LOW_REG   0xA0

User error registers.

Definition at line 198 of file sli4.h.

#define SLI4_ULP_MODE_FCOE_INI   0x40

Definition at line 2342 of file sli4.h.

#define SLI4_ULP_MODE_FCOE_TGT   0x80

Definition at line 2343 of file sli4.h.

#define SLI4_UNREG_RPI_II_FCFI   0x3

Definition at line 1429 of file sli4.h.

#define SLI4_UNREG_RPI_II_RPI   0x0

Definition at line 1426 of file sli4.h.

#define SLI4_UNREG_RPI_II_VFI   0x2

Definition at line 1428 of file sli4.h.

#define SLI4_UNREG_RPI_II_VPI   0x1

Definition at line 1427 of file sli4.h.

#define SLI4_UNREG_VFI_II_FCFI   0x3

Definition at line 1447 of file sli4.h.

#define SLI4_UNREG_VFI_II_VFI   0x0

Definition at line 1446 of file sli4.h.

#define SLI4_UNREG_VPI_II_FCFI   0x3

Definition at line 1473 of file sli4.h.

#define SLI4_UNREG_VPI_II_VFI   0x2

Definition at line 1472 of file sli4.h.

#define SLI4_UNREG_VPI_II_VPI   0x0

Definition at line 1471 of file sli4.h.

#define SLI4_WKI_TAG_SAT_TEM   0x1040

DUMP Type 4.

Definition at line 630 of file sli4.h.

#define SLI4_WQ_DOORBELL (   n,
  x,
  i 
)
Value:
#define SLI4_WQ_DOORBELL_NUM_SHIFT
Definition: sli4.h:342
#define SLI4_WQ_DOORBELL_ID_MASK
Definition: sli4.h:344
#define SLI4_WQ_DOORBELL_IDX_MASK
Definition: sli4.h:341
#define SLI4_WQ_DOORBELL_NUM_MASK
Definition: sli4.h:343
#define SLI4_WQ_DOORBELL_IDX_SHIFT
Definition: sli4.h:340

Definition at line 345 of file sli4.h.

#define SLI4_WQ_DOORBELL_ID_MASK   0xffff

Definition at line 344 of file sli4.h.

#define SLI4_WQ_DOORBELL_IDX_MASK   0x00ff

Definition at line 341 of file sli4.h.

#define SLI4_WQ_DOORBELL_IDX_SHIFT   16

Definition at line 340 of file sli4.h.

#define SLI4_WQ_DOORBELL_NUM_MASK   0x00ff

Definition at line 343 of file sli4.h.

#define SLI4_WQ_DOORBELL_NUM_SHIFT   24

Definition at line 342 of file sli4.h.

#define SLI_MAX_CQ_SET_COUNT   16

Definition at line 3433 of file sli4.h.

#define SLI_MAX_RQ_SET_COUNT   16

Definition at line 3434 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_MQ_COUNT   1 /** User specified max mail queues */

Definition at line 3432 of file sli4.h.

Type Details

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

Common Create Queue function prototype.

Definition at line 4063 of file sli4.h.

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

Common Destroy Queue function prototype.

Definition at line 4068 of file sli4.h.

Enumeration Details

anonymous enum
Enumerator
SLI4_UNREG_TYPE_PORT 
SLI4_UNREG_TYPE_DOMAIN 
SLI4_UNREG_TYPE_FCF 
SLI4_UNREG_TYPE_ALL 

Definition at line 1449 of file sli4.h.

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 3589 of file sli4.h.

Enumerator
SLI4_ASIC_TYPE_BE3 
SLI4_ASIC_TYPE_SKYHAWK 
SLI4_ASIC_TYPE_LANCER 
SLI4_ASIC_TYPE_CORSAIR 
SLI4_ASIC_TYPE_LANCERG6 
SLI4_ASIC_TYPE_LANCERG7 

Definition at line 3580 of file sli4.h.

Enumerator
SLI4_CB_LINK 
SLI4_CB_FIP 
SLI4_CB_MAX 

Definition at line 3504 of file sli4.h.

Enumerator
SLI_LINK_MEDIUM_ETHERNET 
SLI_LINK_MEDIUM_FC 
SLI_LINK_MEDIUM_MAX 

Definition at line 3529 of file sli4.h.

Enumerator
SLI_LINK_STATUS_UP 
SLI_LINK_STATUS_DOWN 
SLI_LINK_STATUS_NO_ALPA 
SLI_LINK_STATUS_CHANGED 
SLI_LOGICAL_LINK_SPEED_CHANGED 
SLI_LINK_STATUS_MAX 

Definition at line 3510 of file sli4.h.

Enumerator
SLI_LINK_TOPO_NPORT 
SLI_LINK_TOPO_LOOP 

fabric or point-to-point

SLI_LINK_TOPO_LOOPBACK_INTERNAL 
SLI_LINK_TOPO_LOOPBACK_EXTERNAL 
SLI_LINK_TOPO_NONE 
SLI_LINK_TOPO_MAX 

Definition at line 3519 of file sli4.h.

Enumerator
SLI4_PORT_TYPE_FC 
SLI4_PORT_TYPE_NIC 
SLI4_PORT_TYPE_MAX 

Definition at line 3574 of file sli4.h.

Enumerator
SLI_QENTRY_ASYNC 
SLI_QENTRY_MQ 
SLI_QENTRY_RQ 
SLI_QENTRY_WQ 
SLI_QENTRY_WQ_RELEASE 
SLI_QENTRY_OPT_WRITE_CMD 
SLI_QENTRY_OPT_WRITE_DATA 
SLI_QENTRY_XABT 
SLI_QENTRY_MAX 

Definition at line 3436 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 3423 of file sli4.h.

Register name enums.

Enumerator
SLI4_REG_BMBX 
SLI4_REG_EQ_DOORBELL 
SLI4_REG_CQ_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_SW_UE_CSR1 
SLI4_REG_SW_UE_CSR2 
SLI4_REG_MAX 

Definition at line 3396 of file sli4.h.

Enumerator
SLI_RSRC_FCOE_VFI 
SLI_RSRC_FCOE_VPI 
SLI_RSRC_FCOE_RPI 
SLI_RSRC_FCOE_XRI 
SLI_RSRC_FCOE_FCFI 
SLI_RSRC_MAX 

Definition at line 3564 of file sli4.h.

Function Details

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

Definition at line 5813 of file sli4.c.

void sli_calc_max_qentries ( sli4_t *  sli4)

Calculate max queue entries.

Parameters
sli4SLI context.
Returns
Returns 0 on success, or a non-zero value on failure.

Definition at line 3959 of file sli4.c.

int32_t sli_cmd_common_get_function_config ( sli4_t *  sli4,
void *  buf,
size_t  size 
)
int32_t sli_cmd_read_config ( sli4_t *  sli4,
void *  buf,
size_t  size 
)

Write a READ_CONFIG command to the provided buffer.

Parameters
sli4SLI context pointer.
bufVirtual pointer to the destination buffer.
sizeBuffer size, in bytes
Returns
Returns the number of bytes written.

Definition at line 961 of file sli4.c.

int32_t sli_cmd_read_nvparms ( sli4_t *  sli4,
void *  buf,
size_t  size 
)

Write a READ_NVPARMS command to the provided buffer.

Parameters
sli4SLI context pointer.
bufVirtual pointer to the destination buffer.
sizeBuffer size, in bytes.
Returns
Returns the number of bytes written.

Definition at line 982 of file sli4.c.

int32_t sli_cmd_reg_fcfi_mrq ( sli4_t *  ,
void *  ,
size_t  ,
uint8_t  ,
uint16_t  ,
uint16_t  ,
sli4_cmd_rq_cfg_t *   
)
int32_t sli_cmd_write_nvparms ( sli4_t *  sli4,
void *  buf,
size_t  size,
uint8_t *  wwpn,
uint8_t *  wwnn,
uint8_t  hard_alpa,
uint32_t  preferred_d_id 
)

Write a WRITE_NVPARMS command to the provided buffer.

Parameters
sli4SLI context pointer.
bufVirtual pointer to the destination buffer.
sizeBuffer size, in bytes.
wwpnWWPN to write - pointer to array of 8 uint8_t.
wwnnWWNN to write - pointer to array of 8 uint8_t.
hard_alpaHard ALPA to write.
preferred_d_idPreferred D_ID to write.
Returns
Returns the number of bytes written.

Definition at line 1007 of file sli4.c.

static uint32_t sli_convert_mask_to_count ( uint32_t  method,
uint32_t  mask 
)
inlinestatic

Definition at line 4046 of file sli4.h.

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

Definition at line 242 of file sli4.h.

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

Definition at line 214 of file sli4.h.

static sli4_asic_rev_e sli_get_asic_rev ( sli4_t *  sli4)
inlinestatic

Definition at line 4002 of file sli4.h.

static sli4_asic_type_e sli_get_asic_type ( sli4_t *  sli4)
inlinestatic

Definition at line 3996 of file sli4.h.

static uint32_t sli_get_auto_xfer_rdy_capable ( sli4_t *  sli4)
inlinestatic

Definition at line 3858 of file sli4.h.

static char* sli_get_bios_version_string ( sli4_t *  sli4)
inlinestatic

Definition at line 4040 of file sli4.h.

static uint32_t sli_get_dif_capable ( sli4_t *  sli4)
inlinestatic

Definition at line 3885 of file sli4.h.

static uint32_t sli_get_dpp ( sli4_t *  sli4)
inlinestatic

Definition at line 3965 of file sli4.h.

static uint32_t sli_get_dpp_capable ( sli4_t *  sli4)
inlinestatic

Definition at line 3946 of file sli4.h.

static void* sli_get_fw_name ( sli4_t *  sli4,
uint32_t  which 
)
inlinestatic

Definition at line 3840 of file sli4.h.

static uint32_t sli_get_fw_revision ( sli4_t *  sli4,
uint32_t  which 
)
inlinestatic

Definition at line 3834 of file sli4.h.

static uint32_t sli_get_hlm ( sli4_t *  sli4)
inlinestatic

Definition at line 3940 of file sli4.h.

static uint32_t sli_get_hlm_capable ( sli4_t *  sli4)
inlinestatic

Definition at line 3921 of file sli4.h.

static uint32_t sli_get_hw_revision ( sli4_t *  sli4,
uint32_t  which 
)
inlinestatic

Definition at line 3852 of file sli4.h.

static uint32_t sli_get_if_type ( sli4_t *  sli4)
inlinestatic

Definition at line 3804 of file sli4.h.

static char* sli_get_ipl_name ( sli4_t *  sli4)
inlinestatic

Definition at line 3846 of file sli4.h.

static uint32_t sli_get_is_dual_ulp_capable ( sli4_t *  sli4)
inlinestatic

Definition at line 3903 of file sli4.h.

static uint32_t sli_get_is_sgl_chaining_capable ( sli4_t *  sli4)
inlinestatic

Definition at line 3909 of file sli4.h.

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

Definition at line 3915 of file sli4.h.

static uint16_t sli_get_link_module_type ( sli4_t *  sli4)
inlinestatic

Definition at line 4028 of file sli4.h.

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

Definition at line 3733 of file sli4.h.

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

Definition at line 3724 of file sli4.h.

static uint32_t sli_get_max_rsrc ( sli4_t *  sli4,
sli4_resource_e  rsrc 
)
inlinestatic

Get / set parameter functions

Definition at line 3714 of file sli4.h.

static uint32_t sli_get_max_sge ( sli4_t *  sli4)
inlinestatic

Definition at line 3740 of file sli4.h.

static uint32_t sli_get_max_sgl ( sli4_t *  sli4)
inlinestatic

Definition at line 3746 of file sli4.h.

static sli4_link_medium_e sli_get_medium ( sli4_t *  sli4)
inlinestatic

Definition at line 3759 of file sli4.h.

static uint32_t sli_get_portnum ( sli4_t *  sli4)
inlinestatic

Definition at line 4034 of file sli4.h.

static uint32_t sli_get_sgl_preregister ( sli4_t *  sli4)
inlinestatic

Definition at line 3977 of file sli4.h.

static uint32_t sli_get_sgl_preregister_required ( sli4_t *  sli4)
inlinestatic

Definition at line 3971 of file sli4.h.

static uint32_t sli_get_sli_family ( sli4_t *  sli4)
inlinestatic

Definition at line 3798 of file sli4.h.

static uint32_t sli_get_sli_rev ( sli4_t *  sli4)
inlinestatic

Definition at line 3792 of file sli4.h.

static uint32_t sli_get_suppress_rsp_not_supported ( sli4_t *  sli4)
inlinestatic

Definition at line 3879 of file sli4.h.

static uint32_t sli_get_tow_capable ( sli4_t *  sli4)
inlinestatic

Definition at line 3864 of file sli4.h.

static uint32_t sli_get_tow_xris_max ( sli4_t *  sli4)
inlinestatic

Definition at line 3869 of file sli4.h.

static void* sli_get_vpd ( sli4_t *  sli4)
inlinestatic

Definition at line 3822 of file sli4.h.

static uint32_t sli_get_vpd_len ( sli4_t *  sli4)
inlinestatic

Definition at line 3828 of file sli4.h.

static void* sli_get_wwn_node ( sli4_t *  sli4)
inlinestatic

Definition at line 3816 of file sli4.h.

static void* sli_get_wwn_port ( sli4_t *  sli4)
inlinestatic

Definition at line 3810 of file sli4.h.

static uint32_t sli_get_xib_capable ( sli4_t *  sli4)
inlinestatic

Definition at line 3874 of file sli4.h.

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

Definition at line 291 of file sli4.h.

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

Definition at line 268 of file sli4.h.

int32_t sli_init ( sli4_t *  )

Definition at line 4590 of file sli4.c.

static uint32_t sli_is_dif_inline_capable ( sli4_t *  sli4)
inlinestatic

Definition at line 3891 of file sli4.h.

static uint32_t sli_is_dif_separate_capable ( sli4_t *  sli4)
inlinestatic

Definition at line 3897 of file sli4.h.

int32_t sli_is_paused ( sli4_t *  sli4)

Definition at line 6390 of file sli4.c.

static uint32_t sli_page_count ( size_t  bytes,
uint32_t  page_size 
)
inlinestatic

Definition at line 53 of file sli4.h.

int32_t sli_port_migration ( sli4_t *  )

Definition at line 4701 of file sli4.c.

int32_t sli_queue_index ( sli4_t *  ,
sli4_queue_t *   
)

Definition at line 5790 of file sli4.c.

static void sli_queue_lock ( sli4_queue_t *  q)
inlinestatic

Definition at line 3487 of file sli4.h.

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

Definition at line 5801 of file sli4.c.

int32_t sli_queue_reset ( sli4_t *  ,
sli4_queue_t *   
)

Definition at line 5429 of file sli4.c.

static void sli_queue_unlock ( sli4_queue_t *  q)
inlinestatic

Definition at line 3493 of file sli4.h.

uint32_t sli_reg_read ( sli4_t *  sli,
sli4_regname_e  reg 
)

Read the given SLI register.

Parameters
sliPointer to the SLI context.
regRegister name enum.
Returns
Returns the register value.

Definition at line 240 of file sli4.c.

void sli_reg_write ( sli4_t *  sli,
sli4_regname_e  reg,
uint32_t  val 
)

Write the value to the given SLI register.

Parameters
sliPointer to the SLI context.
regRegister name enum.
valValue to write.
Returns
None.

Definition at line 263 of file sli4.c.

int32_t sli_reset ( sli4_t *  )

Definition at line 4611 of file sli4.c.

int32_t sli_resource_reset ( sli4_t *  ,
sli4_resource_e   
)

Definition at line 5960 of file sli4.c.

static int32_t sli_set_dpp ( sli4_t *  sli4,
uint32_t  value 
)
inlinestatic

Definition at line 3952 of file sli4.h.

static int32_t sli_set_hlm ( sli4_t *  sli4,
uint32_t  value 
)
inlinestatic

Definition at line 3927 of file sli4.h.

static int32_t sli_set_sgl_preregister ( sli4_t *  sli4,
uint32_t  value 
)
inlinestatic

Definition at line 3983 of file sli4.h.

static int32_t sli_set_topology ( sli4_t *  sli4,
uint32_t  value 
)
inlinestatic

Definition at line 4008 of file sli4.h.

static void sli_set_wq_id_association ( void *  entry,
uint16_t  q_id 
)
inlinestatic

Format a WQE with WQ_ID Association performance hint.

Description
PHWQ works by over-writting part of Word 10 in the WQE with the WQ ID.
Parameters
entryPointer to the WQE.
q_idQueue ID.
Returns
None.

Definition at line 1379 of file sli4.h.

static void sli_skh_chain_sge_build ( sli4_t *  sli4,
sli4_sge_t *  sge,
uint32_t  xri_index,
uint32_t  frag_num,
uint32_t  offset 
)
inlinestatic

Definition at line 3774 of file sli4.h.

void sli_validate_pause_errors ( sli4_t *  slit,
uint32_t *  skip_dump 
)

Definition at line 6400 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 68 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 63 of file sli4.c.