Functions | |
| int32_t | sli_bmbx_command (sli4_t *sli4) |
| Submit a command to the bootstrap mailbox and check the status. More... | |
| int32_t | sli_cmd_config_link (sli4_t *sli4, void *buf, size_t size) |
| Write a CONFIG_LINK command to the provided buffer. More... | |
| int32_t | sli_cmd_down_link (sli4_t *sli4, void *buf, size_t size) |
| Write a DOWN_LINK command to the provided buffer. More... | |
| int32_t | sli_cmd_dump_type4 (sli4_t *sli4, void *buf, size_t size, uint16_t wki) |
| Write a DUMP Type 4 command to the provided buffer. More... | |
| int32_t | sli_cmd_common_read_transceiver_data (sli4_t *sli4, void *buf, size_t size, uint32_t page_num, ocs_dma_t *dma) |
| Write a COMMON_READ_TRANSCEIVER_DATA command. More... | |
| int32_t | sli_cmd_read_link_stats (sli4_t *sli4, void *buf, size_t size, uint8_t req_ext_counters, uint8_t clear_overflow_flags, uint8_t clear_all_counters) |
| 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 *sli4, void *buf, size_t size, uint32_t speed, uint8_t reset_alpa) |
| Write an INIT_LINK command to the provided buffer. More... | |
| int32_t | sli_cmd_init_vfi (sli4_t *sli4, void *buf, size_t size, uint16_t vfi, uint16_t fcfi, uint16_t vpi) |
| Write an INIT_VFI command to the provided buffer. More... | |
| int32_t | sli_cmd_init_vpi (sli4_t *sli4, void *buf, size_t size, uint16_t vpi, uint16_t vfi) |
| Write an INIT_VPI command to the provided buffer. More... | |
| int32_t | sli_cmd_post_xri (sli4_t *sli4, void *buf, size_t size, uint16_t xri_base, uint16_t xri_count) |
| Write a POST_XRI command to the provided buffer. More... | |
| int32_t | sli_cmd_release_xri (sli4_t *sli4, void *buf, size_t size, uint8_t num_xri) |
| Write a RELEASE_XRI command to the provided buffer. More... | |
| int32_t | sli_cmd_read_sparm64 (sli4_t *sli4, void *buf, size_t size, ocs_dma_t *dma, uint16_t vpi) |
| Write a READ_SPARM64 command to the provided buffer. More... | |
| int32_t | sli_cmd_read_topology (sli4_t *sli4, void *buf, size_t size, ocs_dma_t *dma) |
| Write a READ_TOPOLOGY command to the provided buffer. More... | |
| int32_t | sli_cmd_reg_fcfi (sli4_t *sli4, void *buf, size_t size, uint16_t index, sli4_cmd_rq_cfg_t rq_cfg[SLI4_CMD_REG_FCFI_NUM_RQ_CFG], uint16_t vlan_id) |
| Write a REG_FCFI command to the provided buffer. More... | |
| int32_t | sli_cmd_reg_rpi (sli4_t *sli4, void *buf, size_t size, uint32_t nport_id, uint16_t rpi, uint16_t vpi, ocs_dma_t *dma, uint8_t update, uint8_t enable_t10_pi, uint8_t hlm) |
| Write a REG_RPI command to the provided buffer. More... | |
| int32_t | sli_cmd_reg_vfi (sli4_t *sli4, void *buf, size_t size, ocs_domain_t *domain) |
| Write a REG_VFI command to the provided buffer. More... | |
| int32_t | sli_cmd_reg_vpi (sli4_t *sli4, void *buf, size_t size, ocs_sli_port_t *sport, uint8_t update) |
| Write a REG_VPI command to the provided buffer. More... | |
| int32_t | sli_cmd_sli_config (sli4_t *sli4, void *buf, size_t size, uint32_t length, ocs_dma_t *dma) |
| Write a SLI_CONFIG command to the provided buffer. More... | |
| int32_t | sli_cmd_unreg_fcfi (sli4_t *sli4, void *buf, size_t size, uint16_t indicator) |
| Write a UNREG_FCFI command to the provided buffer. More... | |
| int32_t | sli_cmd_unreg_rpi (sli4_t *sli4, void *buf, size_t size, uint16_t indicator, sli4_resource_e which, uint32_t fc_id) |
| Write an UNREG_RPI command to the provided buffer. More... | |
| int32_t | sli_cmd_unreg_vfi (sli4_t *sli4, void *buf, size_t size, ocs_domain_t *domain, uint32_t which) |
| Write an UNREG_VFI command to the provided buffer. More... | |
| int32_t | sli_cmd_unreg_vpi (sli4_t *sli4, void *buf, size_t size, uint16_t indicator, uint32_t which) |
| Write an UNREG_VPI command to the provided buffer. More... | |
| int32_t | sli_cmd_config_auto_xfer_rdy (sli4_t *sli4, void *buf, size_t size, uint32_t max_burst_len) |
| 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 *sli4, void *buf, size_t size, uint32_t max_burst_len, uint32_t block_size) |
| Write an CONFIG_AUTO_XFER_RDY_HP command to the provided buffer. More... | |
| int32_t | sli_cmd_config_optimized_write (sli4_t *sli4, void *buf, size_t size, uint32_t max_burst_len, uint32_t xri_cnt, uint32_t tow_feature) |
| Write an CONFIG_OPTIMIZED_WRITE command to the provided buffer. More... | |
| int32_t | sli_cmd_config_optimized_write_hp (sli4_t *sli4, void *buf, size_t size, uint32_t max_burst_len, uint32_t xri_cnt, uint32_t block_size, uint32_t tow_feature) |
| Write an CONFIG_OPTIMIZED_WRITE_HP command to the provided buffer. More... | |
| int32_t | sli_cmd_common_nop (sli4_t *sli4, void *buf, size_t size, uint64_t context) |
| Write a COMMON_NOP command. More... | |
| int32_t | sli_cmd_common_get_resource_extent_info (sli4_t *sli4, void *buf, size_t size, uint16_t rtype) |
| Write a COMMON_GET_RESOURCE_EXTENT_INFO command. More... | |
| int32_t | sli_cmd_common_get_sli4_parameters (sli4_t *sli4, void *buf, size_t size) |
| Write a COMMON_GET_SLI4_PARAMETERS command. More... | |
| int32_t | sli_cmd_common_write_object (sli4_t *sli4, void *buf, size_t size, uint16_t noc, uint16_t eof, uint32_t desired_write_length, uint32_t offset, char *object_name, ocs_dma_t *dma) |
| Write a COMMON_WRITE_OBJECT command. More... | |
| int32_t | sli_cmd_common_delete_object (sli4_t *sli4, void *buf, size_t size, char *object_name) |
| Write a COMMON_DELETE_OBJECT command. More... | |
| int32_t | sli_cmd_common_read_object (sli4_t *sli4, void *buf, size_t size, uint32_t desired_read_length, uint32_t offset, char *object_name, ocs_dma_t *dma) |
| 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 *sli4, void *buf, size_t size, uint32_t feature, uint32_t param_len, void *parameter) |
| Write a COMMON_SET_FEATURES command. More... | |
| 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_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_cqe_mq (void *buf) |
| Check the mailbox/queue completion entry. More... | |
| int32_t | sli_cqe_async (sli4_t *sli4, void *buf) |
| Check the asynchronous event completion entry. More... | |
| int32_t | sli_setup (sli4_t *sli4, ocs_os_handle_t os, sli4_port_type_e port_type) |
| Set up the SLI context. More... | |
| int32_t | sli_fw_reset (sli4_t *sli4) |
| Issue a Firmware Reset. More... | |
| int32_t | sli_teardown (sli4_t *sli4) |
| Tear down a SLI context. More... | |
| int32_t | sli_callback (sli4_t *sli4, sli4_callback_e which, void *func, void *arg) |
| Register a callback for the given event. More... | |
| int32_t | __sli_queue_init (sli4_t *sli4, sli4_queue_t *q, uint32_t qtype, size_t size, uint32_t n_entries, uint32_t align) |
| Initialize a queue object. More... | |
| int32_t | __sli_create_queue (sli4_t *sli4, sli4_queue_t *q) |
| Issue the command to create a queue. More... | |
| int32_t | sli_get_queue_entry_size (sli4_t *sli4, uint32_t qtype) |
| Get queue entry size. 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 *sli4, uint32_t qtype, sli4_queue_t *q, uint32_t n_entries, sli4_queue_t *assoc, uint16_t ulp) |
| Allocate a queue. More... | |
| int32_t | sli_cq_alloc_set (sli4_t *sli4, sli4_queue_t *qs[], uint32_t num_cqs, uint32_t n_entries, sli4_queue_t *eqs[]) |
| Allocate a c queue set. More... | |
| int32_t | sli_queue_free (sli4_t *sli4, sli4_queue_t *q, uint32_t destroy_queues, uint32_t free_memory) |
| Free a queue. More... | |
| int32_t | sli_queue_is_empty (sli4_t *sli4, sli4_queue_t *q) |
| Check if the given queue is empty. More... | |
| int32_t | sli_queue_eq_arm (sli4_t *sli4, sli4_queue_t *q, uint8_t arm) |
| Arm an EQ. More... | |
| int32_t | sli_queue_arm (sli4_t *sli4, sli4_queue_t *q, uint8_t arm) |
| Arm a queue. More... | |
| int32_t | _sli_queue_write (sli4_t *sli4, sli4_queue_t *q, uint8_t *entry) |
| Write an entry to the queue object. More... | |
| int32_t | sli_queue_write (sli4_t *sli4, sli4_queue_t *q, uint8_t *entry) |
| Write an entry to the queue object. More... | |
| int32_t | sli_queue_read (sli4_t *sli4, sli4_queue_t *q, uint8_t *entry) |
| Read an entry from the queue object. More... | |
| int32_t | sli_resource_alloc (sli4_t *sli4, sli4_resource_e rtype, uint32_t *rid, uint32_t *index) |
| Allocate SLI Port resources. More... | |
| int32_t | sli_resource_free (sli4_t *sli4, sli4_resource_e rtype, uint32_t rid) |
| Free the SLI Port resources. More... | |
| int32_t | sli_eq_parse (sli4_t *sli4, uint8_t *buf, uint16_t *cq_id) |
| Parse an EQ entry to retrieve the CQ_ID for this event. More... | |
| int32_t | sli_cq_parse (sli4_t *sli4, sli4_queue_t *cq, uint8_t *cqe, sli4_qentry_e *etype, uint16_t *q_id) |
| Parse a CQ entry to retrieve the event type and the associated queue. More... | |
| int32_t | sli_raise_ue (sli4_t *sli4, uint8_t dump) |
| Cause chip to enter an unrecoverable error state. More... | |
| int32_t | sli_dump_is_ready (sli4_t *sli4) |
| Read the SLIPORT_STATUS register to to check if a dump is present. More... | |
| int32_t | sli_dump_is_present (sli4_t *sli4) |
| Read the SLIPORT_STATUS register to check if a dump is present. More... | |
| int32_t | sli_reset_required (sli4_t *sli4) |
| Read the SLIPORT_STATUS register to check if the reset required is set. More... | |
| int32_t | sli_fw_error_status (sli4_t *sli4) |
| 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 *sli4) |
| Determine if the chip FW is in a ready state. More... | |
| int32_t | sli_link_is_configurable (sli4_t *sli) |
| Determine if the link can be configured. More... | |
| int32_t __sli_create_queue | ( | sli4_t * | sli4, |
| sli4_queue_t * | q | ||
| ) |
| int32_t __sli_queue_init | ( | sli4_t * | sli4, |
| sli4_queue_t * | q, | ||
| uint32_t | qtype, | ||
| size_t | size, | ||
| uint32_t | n_entries, | ||
| uint32_t | align | ||
| ) |
Initialize a queue object.
| sli4 | SLI context. |
| q | Pointer to queue object. |
| qtype | Type of queue to create. |
| size | Size of each entry. |
| n_entries | Number of entries to allocate. |
| align | Starting memory address alignment. |
| int32_t _sli_queue_write | ( | sli4_t * | sli4, |
| sli4_queue_t * | q, | ||
| uint8_t * | entry | ||
| ) |
Write an entry to the queue object.
Note: Assumes the q->lock will be locked and released by the caller.
| sli4 | SLI context. |
| q | Pointer to the queue object. |
| entry | Pointer to the entry contents. |
| int32_t sli_bmbx_command | ( | sli4_t * | sli4 | ) |
| int32_t sli_callback | ( | sli4_t * | sli4, |
| sli4_callback_e | which, | ||
| void * | func, | ||
| void * | arg | ||
| ) |
| int32_t sli_cmd_common_delete_object | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| char * | object_name | ||
| ) |
| int32_t sli_cmd_common_get_active_profile | ( | 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 | ||
| ) |
| 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.
| sli4 | SLI context. |
| buf | Destination buffer for the command. |
| size | Buffer size in bytes. |
| start_profile_index | First profile index to return. |
| dma | Buffer into which the list will be written. |
| 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.
| sli4 | SLI context. |
| buf | Destination buffer for the command. |
| size | Buffer size in bytes. |
| dma | Buffer to store the supported link configuration modes from the physical device. |
| int32_t sli_cmd_common_get_resource_extent_info | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| uint16_t | rtype | ||
| ) |
| int32_t sli_cmd_common_get_sli4_parameters | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size | ||
| ) |
| int32_t sli_cmd_common_nop | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| uint64_t | context | ||
| ) |
| int32_t sli_cmd_common_read_object | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| uint32_t | desired_read_length, | ||
| uint32_t | offset, | ||
| char * | object_name, | ||
| ocs_dma_t * | dma | ||
| ) |
Write a COMMON_READ_OBJECT command.
| sli4 | SLI context. |
| buf | Destination buffer for the command. |
| size | Buffer size, in bytes. |
| desired_read_length | Number of bytes of data to read from the object. |
| offset | Offset, in bytes, from the start of the object. |
| object_name | Name of the object to read. |
| dma | DMA structure from which the data will be copied. |
| int32_t sli_cmd_common_read_transceiver_data | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| uint32_t | page_num, | ||
| ocs_dma_t * | dma | ||
| ) |
Write a COMMON_READ_TRANSCEIVER_DATA command.
| sli4 | SLI context. |
| buf | Destination buffer for the command. |
| size | Buffer size, in bytes. |
| page_num | The page of SFP data to retrieve (0xa0 or 0xa2). |
| dma | DMA structure from which the data will be copied. |
| 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.
| sli4 | SLI context. |
| buf | Destination buffer for the command. |
| size | Buffer size in bytes. |
| fd | If non-zero, set profile to factory default. |
| active_profile_id | ID of new active profile. |
| 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.
| sli4 | SLI context. |
| buf | Destination buffer for the command. |
| size | Buffer size, in bytes. |
| query | Zero to set dump location, non-zero to query dump size |
| is_buffer_list | Set to one if the buffer is a set of buffer descriptors or set to 0 if the buffer is a contiguous dump area. |
| buffer | DMA structure to which the dump will be copied. |
| int32_t sli_cmd_common_set_features | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| uint32_t | feature, | ||
| uint32_t | param_len, | ||
| void * | parameter | ||
| ) |
Write a COMMON_SET_FEATURES command.
| sli4 | SLI context. |
| buf | Destination buffer for the command. |
| size | Buffer size, in bytes. |
| feature | Feature to set. |
| param_len | Length of the parameter (must be a multiple of 4 bytes). |
| parameter | Pointer to the parameter value. |
| 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.
| sli4 | SLI context. |
| buf | Destination buffer for the command. |
| size | Buffer size, in bytes. |
| dma | DMA capable memory containing profile. |
| profile_id | Profile ID to configure. |
| descriptor_count | Number of descriptors in DMA buffer. |
| isap | Implicit Set Active Profile value to use. |
| 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.
| sli4 | SLI context. |
| buf | destination buffer for the command. |
| size | buffer size in bytes. |
| fd | If non-zero, set link config to factory default. |
| active_link_config_id | ID of new active profile. |
| dma | Buffer to assign the link configuration mode that is to become active from the physical device. |
| int32_t sli_cmd_common_write_object | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| uint16_t | noc, | ||
| uint16_t | eof, | ||
| uint32_t | desired_write_length, | ||
| uint32_t | offset, | ||
| char * | object_name, | ||
| ocs_dma_t * | dma | ||
| ) |
Write a COMMON_WRITE_OBJECT command.
| sli4 | SLI context. |
| buf | Destination buffer for the command. |
| size | Buffer size, in bytes. |
| noc | True if the object should be written but not committed to flash. |
| eof | True if this is the last write for this object. |
| desired_write_length | Number of bytes of data to write to the object. |
| offset | Offset, in bytes, from the start of the object. |
| object_name | Name of the object to write. |
| dma | DMA structure from which the data will be copied. |
| int32_t sli_cmd_config_auto_xfer_rdy | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| uint32_t | max_burst_len | ||
| ) |
Write an CONFIG_AUTO_XFER_RDY command to the provided buffer. Command to enable AXR in G5.
| sli4 | SLI context pointer. |
| buf | Virtual pointer to the destination buffer. |
| size | Buffer size, in bytes. |
| max_burst_len | if the write FCP_DL is less than this size, then the SLI port will generate the auto XFER_RDY. |
| int32_t sli_cmd_config_auto_xfer_rdy_hp | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| uint32_t | max_burst_len, | ||
| uint32_t | block_size | ||
| ) |
Write an CONFIG_AUTO_XFER_RDY_HP command to the provided buffer.
| sli4 | SLI context pointer. |
| buf | Virtual pointer to the destination buffer. |
| size | Buffer size, in bytes. |
| max_burst_len | if the write FCP_DL is less than this size, |
| esoc | enable start offset computation, |
| block_size | block size, then the SLI port will generate the auto XFER_RDY. |
| int32_t sli_cmd_config_link | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size | ||
| ) |
| int32_t sli_cmd_config_optimized_write | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| uint32_t | max_burst_len, | ||
| uint32_t | xri_cnt, | ||
| uint32_t | tow_feature | ||
| ) |
Write an CONFIG_OPTIMIZED_WRITE command to the provided buffer.
| sli4 | SLI context pointer. |
| buf | Virtual pointer to the destination buffer. |
| size | Buffer size, in bytes. |
| max_burst_len | if the write FCP_DL is less than this size, |
| xri_cnt | Total XRIs that will be posted, then the SLI port will generate the auto XFER_RDY. |
| int32_t sli_cmd_config_optimized_write_hp | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| uint32_t | max_burst_len, | ||
| uint32_t | xri_cnt, | ||
| uint32_t | block_size, | ||
| uint32_t | tow_feature | ||
| ) |
Write an CONFIG_OPTIMIZED_WRITE_HP command to the provided buffer.
| sli4 | SLI context pointer. |
| buf | Virtual pointer to the destination buffer. |
| size | Buffer size, in bytes. |
| max_burst_len | if the write FCP_DL is less than this size, |
| xri_cnt | Total XRIs that will be posted, |
| block_size | block size, then the SLI port will generate the auto XFER_RDY. |
| 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 | ||
| ) |
| 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.
| sli4 | SLI context. |
| buf | Destination buffer for the command. |
| size | Buffer size, in bytes. |
| cmd | DMA structure that describes the buffer for the command. |
| resp | DMA structure that describes the buffer for the response. |
| int32_t sli_cmd_down_link | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size | ||
| ) |
| int32_t sli_cmd_dump_type4 | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| uint16_t | wki | ||
| ) |
| int32_t sli_cmd_fc_set_trunk_mode | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| uint32_t | trunk_mode | ||
| ) |
| int32_t sli_cmd_fcoe_set_loopback_mode | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| int | type | ||
| ) |
| int32_t sli_cmd_init_link | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| uint32_t | speed, | ||
| uint8_t | reset_alpa | ||
| ) |
Write an INIT_LINK command to the provided buffer.
| sli4 | SLI context pointer. |
| buf | Virtual pointer to the destination buffer. |
| size | Buffer size, in bytes. |
| speed | Link speed. |
| reset_alpa | For native FC, this is the selective reset AL_PA |
| int32_t sli_cmd_init_vfi | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| uint16_t | vfi, | ||
| uint16_t | fcfi, | ||
| uint16_t | vpi | ||
| ) |
| int32_t sli_cmd_init_vpi | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| uint16_t | vpi, | ||
| uint16_t | vfi | ||
| ) |
| int32_t sli_cmd_post_xri | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| uint16_t | xri_base, | ||
| uint16_t | xri_count | ||
| ) |
Write a POST_XRI command to the provided buffer.
| sli4 | SLI context pointer. |
| buf | Virtual pointer to the destination buffer. |
| size | Buffer size, in bytes. |
| xri_base | Starting XRI value for range of XRI given to SLI Port. |
| xri_count | Number of XRIs provided to the SLI Port. |
| int32_t sli_cmd_read_link_stats | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| uint8_t | req_ext_counters, | ||
| uint8_t | clear_overflow_flags, | ||
| uint8_t | clear_all_counters | ||
| ) |
Write a READ_LINK_STAT command to the provided buffer.
| sli4 | SLI context pointer. |
| buf | Virtual pointer to the destination buffer. |
| size | Buffer size, in bytes. |
| req_ext_counters | If TRUE, then the extended counters will be requested. |
| clear_overflow_flags | If TRUE, then overflow flags will be cleared. |
| clear_all_counters | If TRUE, the counters will be cleared. |
| int32_t sli_cmd_read_sparm64 | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| ocs_dma_t * | dma, | ||
| uint16_t | vpi | ||
| ) |
Write a READ_SPARM64 command to the provided buffer.
| sli4 | SLI context pointer. |
| buf | Virtual pointer to the destination buffer. |
| size | Buffer size, in bytes. |
| dma | DMA buffer for the service parameters. |
| vpi | VPI used to determine the WWN. |
| int32_t sli_cmd_read_status | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| uint8_t | clear_counters | ||
| ) |
| int32_t sli_cmd_read_topology | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| ocs_dma_t * | dma | ||
| ) |
| int32_t sli_cmd_reg_fcfi | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| uint16_t | index, | ||
| sli4_cmd_rq_cfg_t | rq_cfg[SLI4_CMD_REG_FCFI_NUM_RQ_CFG], | ||
| uint16_t | vlan_id | ||
| ) |
Write a REG_FCFI command to the provided buffer.
| sli4 | SLI context pointer. |
| buf | Virtual pointer to the destination buffer. |
| size | Buffer size, in bytes. |
| index | FCF index returned by READ_FCF_TABLE. |
| rq_cfg | RQ_ID/R_CTL/TYPE routing information |
| vlan_id | VLAN ID tag. |
| int32_t sli_cmd_reg_rpi | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| uint32_t | nport_id, | ||
| uint16_t | rpi, | ||
| uint16_t | vpi, | ||
| ocs_dma_t * | dma, | ||
| uint8_t | update, | ||
| uint8_t | enable_t10_pi, | ||
| uint8_t | hlm | ||
| ) |
Write a REG_RPI command to the provided buffer.
| sli4 | SLI context pointer. |
| buf | Virtual pointer to the destination buffer. |
| size | Buffer size, in bytes. |
| nport_id | Remote F/N_Port_ID. |
| rpi | Previously-allocated Remote Port Indicator. |
| vpi | Previously-allocated Virtual Port Indicator. |
| dma | DMA buffer that contains the remote port's service parameters. |
| update | Boolean indicating an update to an existing RPI (TRUE) or a new registration (FALSE). |
| hlm | Indicating an RPI being used for HLM RPI |
| int32_t sli_cmd_reg_vfi | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| ocs_domain_t * | domain | ||
| ) |
Write a REG_VFI command to the provided buffer.
| sli4 | SLI context pointer. |
| buf | Virtual pointer to the destination buffer. |
| size | Buffer size, in bytes. |
| domain | Pointer to the domain object. |
If our advertised service parameter BB_SC_N is 0 or accept BB_SC_N is 0, send REG_VFI with BBCR set to 0
If the accept BB_SC_N value is greater than our maximum supported value (BBSCN_MAX from READ_CONFIG), then BBCR should not be enabled
| int32_t sli_cmd_reg_vpi | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| ocs_sli_port_t * | sport, | ||
| uint8_t | update | ||
| ) |
Write a REG_VPI command to the provided buffer.
| sli4 | SLI context pointer. |
| buf | Virtual pointer to the destination buffer. |
| size | Buffer size, in bytes. |
| sport | Point to SLI Port object. |
| update | Boolean indicating whether to update the existing VPI (true) or create a new VPI (false). |
| int32_t sli_cmd_release_xri | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| uint8_t | num_xri | ||
| ) |
| int32_t sli_cmd_sli_config | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| uint32_t | length, | ||
| ocs_dma_t * | dma | ||
| ) |
Write a SLI_CONFIG command to the provided buffer.
| sli4 | SLI context pointer. |
| buf | Virtual pointer to the destination buffer. |
| size | Buffer size, in bytes. |
| length | Length in bytes of attached command. |
| dma | DMA buffer for non-embedded commands. |
| int32_t sli_cmd_unreg_fcfi | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| uint16_t | indicator | ||
| ) |
| int32_t sli_cmd_unreg_rpi | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| uint16_t | indicator, | ||
| sli4_resource_e | which, | ||
| uint32_t | fc_id | ||
| ) |
Write an UNREG_RPI command to the provided buffer.
| sli4 | SLI context pointer. |
| buf | Virtual pointer to the destination buffer. |
| size | Buffer size, in bytes. |
| indicator | Indicator value. |
| which | Type of unregister, such as node, port, domain, or FCF. |
| fc_id | FC address. |
| int32_t sli_cmd_unreg_vfi | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| ocs_domain_t * | domain, | ||
| uint32_t | which | ||
| ) |
Write an UNREG_VFI command to the provided buffer.
| sli4 | SLI context pointer. |
| buf | Virtual pointer to the destination buffer. |
| size | Buffer size, in bytes. |
| domain | Pointer to the domain object |
| which | Type of unregister, such as domain, FCFI, or everything. |
| int32_t sli_cmd_unreg_vpi | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| uint16_t | indicator, | ||
| uint32_t | which | ||
| ) |
Write an UNREG_VPI command to the provided buffer.
| sli4 | SLI context pointer. |
| buf | Virtual pointer to the destination buffer. |
| size | Buffer size, in bytes. |
| indicator | Indicator value. |
| which | Type of unregister: port, domain, FCFI, everything |
| int32_t sli_cq_alloc_set | ( | sli4_t * | sli4, |
| sli4_queue_t * | qs[], | ||
| uint32_t | num_cqs, | ||
| uint32_t | n_entries, | ||
| sli4_queue_t * | eqs[] | ||
| ) |
| int32_t sli_cq_parse | ( | sli4_t * | sli4, |
| sli4_queue_t * | cq, | ||
| uint8_t * | cqe, | ||
| sli4_qentry_e * | etype, | ||
| uint16_t * | q_id | ||
| ) |
Parse a CQ entry to retrieve the event type and the associated queue.
| sli4 | SLI context. |
| cq | CQ to process. |
| cqe | Pointer to the CQ entry. |
| etype | CQ event type. |
| q_id | Queue ID associated with this completion message (that is, MQ_ID, RQ_ID, and so on). |
| int32_t sli_cqe_async | ( | sli4_t * | sli4, |
| void * | buf | ||
| ) |
| int32_t sli_cqe_mq | ( | void * | buf | ) |
| int32_t sli_dump_is_present | ( | sli4_t * | sli4 | ) |
| int32_t sli_dump_is_ready | ( | sli4_t * | sli4 | ) |
| int32_t sli_eq_modify_delay | ( | sli4_t * | sli4, |
| sli4_queue_t * | eq, | ||
| uint32_t | num_eq, | ||
| uint32_t | shift, | ||
| uint32_t | delay_mult | ||
| ) |
| int32_t sli_eq_parse | ( | sli4_t * | sli4, |
| uint8_t * | buf, | ||
| uint16_t * | cq_id | ||
| ) |
| int32_t sli_fw_error_status | ( | sli4_t * | sli4 | ) |
Read the SLIPORT_SEMAPHORE and SLIPORT_STATUS registers to check if the port status indicates that a FW error has occurred.
| sli4 | SLI context. |
| int32_t sli_fw_ready | ( | sli4_t * | sli4 | ) |
| int32_t sli_fw_reset | ( | sli4_t * | sli4 | ) |
Issue a Firmware Reset.
| sli4 | SLI context. |
| int32_t sli_get_queue_entry_size | ( | sli4_t * | sli4, |
| uint32_t | qtype | ||
| ) |
| int32_t sli_link_is_configurable | ( | sli4_t * | sli | ) |
| int32_t sli_queue_alloc | ( | sli4_t * | sli4, |
| uint32_t | qtype, | ||
| sli4_queue_t * | q, | ||
| uint32_t | n_entries, | ||
| sli4_queue_t * | assoc, | ||
| uint16_t | ulp | ||
| ) |
Allocate a queue.
| sli4 | SLI context. |
| qtype | Type of queue to create. |
| q | Pointer to the queue object. |
| n_entries | Number of entries to allocate. |
| assoc | Associated queue (that is, the EQ for a CQ, the CQ for a MQ, and so on). |
| ulp | The ULP to bind, which is only used for WQ and RQs |
| int32_t sli_queue_arm | ( | sli4_t * | sli4, |
| sli4_queue_t * | q, | ||
| uint8_t | arm | ||
| ) |
| int32_t sli_queue_eq_arm | ( | sli4_t * | sli4, |
| sli4_queue_t * | q, | ||
| uint8_t | arm | ||
| ) |
| int32_t sli_queue_free | ( | sli4_t * | sli4, |
| sli4_queue_t * | q, | ||
| uint32_t | destroy_queues, | ||
| uint32_t | free_memory | ||
| ) |
Free a queue.
| sli4 | SLI context. |
| q | Pointer to the queue object. |
| destroy_queues | Non-zero if the mailbox commands should be sent to destroy the queues. |
| free_memory | Non-zero if the DMA memory associated with the queue should be freed. |
| int32_t sli_queue_is_empty | ( | sli4_t * | sli4, |
| sli4_queue_t * | q | ||
| ) |
| int32_t sli_queue_read | ( | sli4_t * | sli4, |
| sli4_queue_t * | q, | ||
| uint8_t * | entry | ||
| ) |
| int32_t sli_queue_write | ( | sli4_t * | sli4, |
| sli4_queue_t * | q, | ||
| uint8_t * | entry | ||
| ) |
Write an entry to the queue object.
Note: Assumes the q->lock will be locked and released by the caller.
| sli4 | SLI context. |
| q | Pointer to the queue object. |
| entry | Pointer to the entry contents. |
| int32_t sli_raise_ue | ( | sli4_t * | sli4, |
| uint8_t | dump | ||
| ) |
Cause chip to enter an unrecoverable error state.
| sli4 | SLI context. |
| dump | Generate dump as part of reset. |
| int32_t sli_reset_required | ( | sli4_t * | sli4 | ) |
| int32_t sli_resource_alloc | ( | sli4_t * | sli4, |
| sli4_resource_e | rtype, | ||
| uint32_t * | rid, | ||
| uint32_t * | index | ||
| ) |
Allocate SLI Port resources.
| sli4 | SLI context. |
| rtype | Resource type (for example, RPI or XRI) |
| rid | Allocated resource ID. |
| index | Index into the bitmap. |
| int32_t sli_resource_free | ( | sli4_t * | sli4, |
| sli4_resource_e | rtype, | ||
| uint32_t | rid | ||
| ) |
Free the SLI Port resources.
| sli4 | SLI context. |
| rtype | Resource type (for example, RPI or XRI). |
| rid | Allocated resource ID. |
| int32_t sli_setup | ( | sli4_t * | sli4, |
| ocs_os_handle_t | os, | ||
| sli4_port_type_e | port_type | ||
| ) |