|
| static void | ocs_hal_queue_hash_add (ocs_queue_hash_t *hash, uint16_t id, uint16_t index) |
| | Update the queue hash with the ID and index. More...
|
| |
| static void | ocs_hal_adjust_wqs (ocs_hal_t *hal) |
| | Adjust the number of WQs and CQs within the HAL. More...
|
| |
| static uint32_t | ocs_hal_get_num_chutes (ocs_hal_t *hal) |
| | Determine the number of chutes on the device. More...
|
| |
| static int32_t | ocs_hal_cb_link (void *ctx, void *e) |
| | Callback function for the SLI link events. More...
|
| |
| static int32_t | ocs_hal_cb_fip (void *, void *) |
| |
| static int32_t | ocs_hal_command_process (ocs_hal_t *, int32_t, uint8_t *, size_t) |
| |
| static int32_t | ocs_hal_mq_process (ocs_hal_t *hal, int32_t status, sli4_queue_t *mq) |
| | Process entries on the given mailbox queue. More...
|
| |
| static int32_t | ocs_hal_cb_read_fcf (ocs_hal_t *hal, int32_t status, uint8_t *mqe, void *arg) |
| | Callback function for the FCOE_READ_FCF_TABLE command. More...
|
| |
| static int32_t | ocs_hal_cb_node_attach (ocs_hal_t *, int32_t, uint8_t *, void *) |
| |
| static int32_t | ocs_hal_cb_node_free (ocs_hal_t *, int32_t, uint8_t *, void *) |
| |
| static int32_t | ocs_hal_cb_unreg_rpi_all (ocs_hal_t *, int32_t, uint8_t *, void *) |
| |
| static ocs_hal_rtn_e | ocs_hal_setup_io (ocs_hal_t *hal) |
| | Initialize the pool of HAL IO objects. More...
|
| |
| static ocs_hal_rtn_e | ocs_hal_init_io (ocs_hal_t *) |
| |
| static int32_t | ocs_hal_command_cancel (ocs_hal_t *) |
| |
| static void | ocs_hal_io_quarantine (ocs_hal_t *hal, hal_wq_t *wq, ocs_hal_io_t *io) |
| | Quaratine an IO by taking a reference count and adding it to the quarantine list. When the IO is popped from the list then the count is released and the IO MAY be freed depending on whether it is still referenced by the IO. More...
|
| |
| static void | ocs_hal_io_restore_sgl (ocs_hal_t *, ocs_hal_io_t *) |
| |
| static int32_t | ocs_hal_io_ini_sge (ocs_hal_t *, ocs_hal_io_t *, ocs_dma_t *, uint32_t, ocs_dma_t *) |
| |
| static ocs_hal_rtn_e | ocs_hal_firmware_write_lancer (ocs_hal_t *hal, ocs_dma_t *dma, uint32_t size, uint32_t offset, int last, ocs_hal_fw_cb_t cb, void *arg) |
| | Write a portion of a firmware image to the Emulex XE201 ASIC (Lancer). More...
|
| |
| static int32_t | ocs_hal_cb_fw_write (ocs_hal_t *hal, int32_t status, uint8_t *mqe, void *arg) |
| | Called when the WRITE OBJECT command completes. More...
|
| |
| static int32_t | ocs_hal_cb_sfp (ocs_hal_t *hal, int32_t status, uint8_t *mqe, void *arg) |
| | Called when the READ_TRANSCEIVER_DATA command completes. More...
|
| |
| static int32_t | ocs_hal_cb_temp (ocs_hal_t *hal, int32_t status, uint8_t *mqe, void *arg) |
| | Called when the DUMP command completes. More...
|
| |
| static int32_t | ocs_hal_cb_link_stat (ocs_hal_t *hal, int32_t status, uint8_t *mqe, void *arg) |
| | Called when the READ_LINK_STAT command completes. More...
|
| |
| static int32_t | ocs_hal_cb_host_stat (ocs_hal_t *hal, int32_t status, uint8_t *mqe, void *arg) |
| | Called when the READ_STATUS command completes. More...
|
| |
| static void | ocs_hal_dmtf_clp_cb (ocs_hal_t *hal, int32_t status, uint8_t *mqe, void *arg) |
| | Called when the DMTF CLP command completes. More...
|
| |
| static int32_t | ocs_hal_clp_resp_get_value (ocs_hal_t *hal, const char *keyword, char *value, uint32_t value_len, const char *resp, uint32_t resp_len) |
| | Parse the CLP result and get the value corresponding to the given keyword. More...
|
| |
| static ocs_hal_rtn_e | ocs_hal_exec_dmtf_clp_cmd (ocs_hal_t *hal, ocs_dma_t *dma_cmd, ocs_dma_t *dma_resp, uint32_t opts, ocs_hal_dmtf_clp_cb_t cb, void *arg) |
| | Execute the DMTF CLP command. More...
|
| |
| static void | ocs_hal_linkcfg_dmtf_clp_cb (ocs_hal_t *hal, int32_t status, uint32_t result_len, void *arg) |
| | Get the link configuration callback. More...
|
| |
| static int32_t | __ocs_read_topology_cb (ocs_hal_t *, int32_t, uint8_t *, void *) |
| |
| static int32_t | __ocs_read_fec_cb (ocs_hal_t *, int32_t, uint8_t *, void *) |
| |
| static void | __ocs_hal_read_lmt_cb (ocs_hal_t *hal, int32_t status, uint8_t *mqe, void *arg) |
| | callback function to read link module type More...
|
| |
| static ocs_hal_rtn_e | ocs_hal_get_linkcfg (ocs_hal_t *hal, uint32_t opts, ocs_hal_port_control_cb_t cb, void *arg) |
| | Get link configuration. More...
|
| |
| static ocs_hal_rtn_e | ocs_hal_get_linkcfg_lancer (ocs_hal_t *hal, uint32_t opts, ocs_hal_port_control_cb_t cb, void *arg) |
| | Get link configuration for a Lancer. More...
|
| |
| static ocs_hal_rtn_e | ocs_hal_get_linkcfg_skyhawk (ocs_hal_t *hal, uint32_t opts, ocs_hal_port_control_cb_t cb, void *arg) |
| | Get link configuration for a Skyhawk. More...
|
| |
| static ocs_hal_rtn_e | ocs_hal_set_linkcfg (ocs_hal_t *hal, ocs_hal_linkcfg_e value, uint32_t opts, ocs_hal_port_control_cb_t cb, void *arg) |
| | Set link configuration. More...
|
| |
| static ocs_hal_rtn_e | ocs_hal_set_linkcfg_lancer (ocs_hal_t *hal, ocs_hal_linkcfg_e value, uint32_t opts, ocs_hal_port_control_cb_t cb, void *arg) |
| | Set link configuration for Lancer. More...
|
| |
| static ocs_hal_rtn_e | ocs_hal_set_linkcfg_skyhawk (ocs_hal_t *hal, ocs_hal_linkcfg_e value, uint32_t opts, ocs_hal_port_control_cb_t cb, void *arg) |
| | Set link configuration for a Skyhawk. More...
|
| |
| static void | ocs_hal_init_linkcfg_cb (int32_t status, uintptr_t value, void *arg) |
| | Callback function for getting linkcfg during HAL initialization. More...
|
| |
| static ocs_hal_rtn_e | ocs_hal_set_eth_license (ocs_hal_t *hal, uint32_t license) |
| | Set the Ethernet license. More...
|
| |
| static ocs_hal_rtn_e | ocs_hal_set_dif_seed (ocs_hal_t *hal) |
| | Sets the DIF seed value. More...
|
| |
| static ocs_hal_rtn_e | ocs_hal_set_dif_mode (ocs_hal_t *hal) |
| | Sets the DIF mode value. More...
|
| |
| static void | ocs_hal_io_free_internal (void *arg) |
| | Free a previously-allocated HAL IO object. Called when IO refcount goes to zero (host-owned IOs only). More...
|
| |
| static void | ocs_hal_io_free_port_owned (void *arg) |
| | Free a HAL IO object associated with a port-owned XRI. More...
|
| |
| static ocs_hal_rtn_e | ocs_hal_config_axr_t10pi (ocs_hal_t *hal) |
| | Set configuration parameters for AXR T10 PI feature. More...
|
| |
| static ocs_hal_rtn_e | ocs_hal_config_tow_t10pi (ocs_hal_t *hal) |
| | Set configuration parameters for TOW T10 PI feature. More...
|
| |
| static ocs_hal_rtn_e | ocs_hal_config_set_fdt_xfer_hint (ocs_hal_t *hal, uint32_t fdt_xfer_hint) |
| | Set FTD transfer hint feature. More...
|
| |
| static void | ocs_hal_wq_process_abort (void *arg, uint8_t *cqe, int32_t status) |
| | Process WQ completions for abort requests. More...
|
| |
| static int32_t | ocs_hal_config_mrq (ocs_hal_t *hal, uint8_t mode, uint16_t vlanid, uint16_t fcf_index) |
| | Configure Multi-RQ. More...
|
| |
| static ocs_hal_rtn_e | ocs_hal_config_watchdog_timer (ocs_hal_t *hal) |
| | Set configuration parameters for watchdog timer feature. More...
|
| |
| static ocs_hal_rtn_e | ocs_hal_config_sli_port_health_check (ocs_hal_t *hal, uint8_t query, uint8_t enable) |
| | enable sli port health check More...
|
| |
| static ocs_hal_rtn_e | ocs_hal_config_fec (ocs_hal_t *hal, uint8_t enable) |
| | configure fec (enable/disable) on physical port More...
|
| |
| static ocs_hal_rtn_e | ocs_hal_config_fw_ag_rsp (ocs_hal_t *hal, uint8_t enable) |
| | Enable/disable firmware path to send auto-good response. More...
|
| |
| static ocs_hal_rtn_e | ocs_hal_config_sliport_pause (ocs_hal_t *hal, uint8_t enable) |
| |
| static int32_t | ocs_hal_domain_add (ocs_hal_t *, ocs_domain_t *) |
| |
| static int32_t | ocs_hal_domain_del (ocs_hal_t *, ocs_domain_t *) |
| |
| static void * | __ocs_hal_port_alloc_init (ocs_sm_ctx_t *, ocs_sm_event_t, void *) |
| |
| static void * | __ocs_hal_port_alloc_read_sparm64 (ocs_sm_ctx_t *, ocs_sm_event_t, void *) |
| |
| static void * | __ocs_hal_port_alloc_init_vpi (ocs_sm_ctx_t *, ocs_sm_event_t, void *) |
| |
| static void * | __ocs_hal_port_done (ocs_sm_ctx_t *, ocs_sm_event_t, void *) |
| |
| static void * | __ocs_hal_port_free_unreg_vpi (ocs_sm_ctx_t *, ocs_sm_event_t, void *) |
| |
| static void * | __ocs_hal_domain_init (ocs_sm_ctx_t *, ocs_sm_event_t, void *) |
| |
| static void * | __ocs_hal_domain_alloc_reg_fcfi (ocs_sm_ctx_t *, ocs_sm_event_t, void *) |
| |
| static void * | __ocs_hal_domain_alloc_init_vfi (ocs_sm_ctx_t *, ocs_sm_event_t, void *) |
| |
| static void * | __ocs_hal_domain_free_unreg_vfi (ocs_sm_ctx_t *, ocs_sm_event_t, void *) |
| |
| static void * | __ocs_hal_domain_free_unreg_fcfi (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *data) |
| |
| static int32_t | __ocs_hal_domain_cb (ocs_hal_t *, int32_t, uint8_t *, void *) |
| |
| static int32_t | __ocs_hal_port_cb (ocs_hal_t *, int32_t, uint8_t *, void *) |
| |
| static int32_t | __ocs_hal_port_realloc_cb (ocs_hal_t *hal, int32_t status, uint8_t *mqe, void *arg) |
| |
| static void | ocs_hal_check_sec_hio_list (ocs_hal_t *hal) |
| | Check to see if there are any BZ 161832 workaround waiting IOs. More...
|
| |
| static void | target_wqe_timer_cb (void *arg) |
| |
| static void | shutdown_target_wqe_timer (ocs_hal_t *hal) |
| |
| static ocs_hal_rtn_e | ocs_hal_config_fw_diagnostic_logging (ocs_hal_t *hal, int32_t log_size, int32_t log_level) |
| | Set configuration parameters for adapter firmware diagnostic logging (RAS) feature. More...
|
| |
| static ocs_hal_rtn_e | ocs_hal_teardown_fw_diagnostic_logging (ocs_hal_t *hal) |
| | If required disable firmware diagnostic logging (RAS) and then free resources. More...
|
| |
| static void | ocs_hal_log_sli4_rsp_hdr (ocs_hal_t *hal, sli4_res_hdr_t *hdr) |
| |
| static ocs_hal_rtn_e | ocs_hal_init_tow_esoc (ocs_hal_t *hal, uint32_t tow_feature) |
| |
| static ocs_hal_rtn_e | ocs_hal_init_tow (ocs_hal_t *hal, uint32_t tow_feature) |
| |
| static ocs_hal_rtn_e | ocs_hal_init_tow_t10pi (ocs_hal_t *hal) |
| |
| static ocs_hal_rtn_e | ocs_hal_init_tow_feature (ocs_hal_t *hal) |
| | Initialize TOW feature for AXR/FB. More...
|
| |
| static void | ocs_hal_add_io_timed_wqe (ocs_hal_t *hal, ocs_hal_io_t *io) |
| |
| static void | ocs_hal_remove_io_timed_wqe (ocs_hal_t *hal, ocs_hal_io_t *io) |
| |
| static uint8_t | ocs_hal_iotype_is_originator (uint16_t io_type) |
| |
| static uint8_t | ocs_hal_wcqe_abort_needed (uint16_t status, uint8_t ext, uint8_t xb) |
| |
| static ocs_hal_rtn_e | ocs_hal_link_event_init (ocs_hal_t *hal) |
| |
| static ocs_hal_rtn_e | ocs_hal_read_max_dump_size (ocs_hal_t *hal) |
| | Read the max dump size for this port. More...
|
| |
| static void | ocs_hal_sli_queue_free (ocs_hal_t *hal) |
| |
| static ocs_hal_rtn_e | ocs_hal_sli_queue_alloc (ocs_hal_t *hal) |
| |
| static void | ocs_hal_queue_hash_free (ocs_hal_t *hal) |
| |
| static ocs_hal_rtn_e | ocs_hal_queue_hash_alloc (ocs_hal_t *hal) |
| |
| ocs_hal_rtn_e | ocs_hal_setup (ocs_hal_t *hal, ocs_os_handle_t os, sli4_port_type_e port_type) |
| | Set up the Hardware Abstraction Layer module. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_init (ocs_hal_t *hal) |
| | Allocate memory structures to prepare for the device operation. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_teardown (ocs_hal_t *hal) |
| | Tear down the Hardware Abstraction Layer module. More...
|
| |
| static ocs_hal_rtn_e | ocs_hal_sli_reset (ocs_hal_t *hal, ocs_hal_reset_e reset, ocs_hal_state_e prev_state) |
| |
| ocs_hal_rtn_e | ocs_hal_port_migration (ocs_hal_t *hal) |
| |
| ocs_hal_rtn_e | ocs_hal_reset (ocs_hal_t *hal, ocs_hal_reset_e reset) |
| |
| int32_t | ocs_hal_get_num_eq (ocs_hal_t *hal) |
| |
| static int32_t | ocs_hal_get_fw_timed_out (ocs_hal_t *hal) |
| |
| ocs_hal_rtn_e | ocs_hal_get (ocs_hal_t *hal, ocs_hal_property_e prop, uint32_t *value) |
| |
| void * | ocs_hal_get_ptr (ocs_hal_t *hal, ocs_hal_property_e prop) |
| |
| ocs_hal_rtn_e | ocs_hal_set (ocs_hal_t *hal, ocs_hal_property_e prop, uint32_t value) |
| |
| ocs_hal_rtn_e | ocs_hal_set_ptr (ocs_hal_t *hal, ocs_hal_property_e prop, void *value) |
| |
| int32_t | ocs_hal_event_check (ocs_hal_t *hal, uint32_t vector) |
| | Check for the events associated with the interrupt vector. More...
|
| |
| void | ocs_hal_unsol_process_bounce (void *arg) |
| |
| int32_t | ocs_hal_process (ocs_hal_t *hal, uint32_t vector, uint32_t max_isr_time_msec) |
| |
| int32_t | ocs_hal_eq_process (ocs_hal_t *hal, hal_eq_t *eq, uint32_t max_isr_time_msec) |
| | Process events associated with an EQ. More...
|
| |
| static ocs_hal_rtn_e | ocs_hal_bmbx_command (ocs_hal_t *hal, uint8_t *cmd) |
| |
| static int32_t | ocs_hal_cmd_submit_pending (ocs_hal_t *hal) |
| | Submit queued (pending) mbx commands. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_command (ocs_hal_t *hal, uint8_t *cmd, uint32_t opts, void *cb, void *arg) |
| | Issue a SLI command. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_callback (ocs_hal_t *hal, ocs_hal_callback_e which, void *func, void *arg) |
| | Register a callback for the given event. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_port_alloc (ocs_hal_t *hal, ocs_sli_port_t *sport, ocs_domain_t *domain, uint8_t *wwpn) |
| | Allocate a port object. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_port_attach (ocs_hal_t *hal, ocs_sli_port_t *sport, uint32_t fc_id) |
| | Attach a physical/virtual SLI port to a domain. More...
|
| |
| static int32_t | ocs_hal_cb_port_control (ocs_hal_t *hal, int32_t status, uint8_t *mqe, void *arg) |
| | Called when the port control command completes. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_port_control (ocs_hal_t *hal, ocs_hal_port_e ctrl, uintptr_t value, ocs_hal_port_control_cb_t cb, void *arg) |
| | Control a port (initialize, shutdown, or set link configuration). More...
|
| |
| ocs_hal_rtn_e | ocs_hal_port_free (ocs_hal_t *hal, ocs_sli_port_t *sport) |
| | Free port resources. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_domain_alloc (ocs_hal_t *hal, ocs_domain_t *domain, uint32_t fcf, uint32_t vlan) |
| | Allocate a fabric domain object. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_domain_attach (ocs_hal_t *hal, ocs_domain_t *domain, uint32_t fc_id) |
| | Attach a SLI port to a domain. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_domain_free (ocs_hal_t *hal, ocs_domain_t *domain) |
| | Free a fabric domain object. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_domain_force_free (ocs_hal_t *hal, ocs_domain_t *domain) |
| | Free a fabric domain object. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_node_alloc (ocs_hal_t *hal, ocs_remote_node_t *rnode, uint32_t fc_addr, ocs_sli_port_t *sport) |
| | Allocate a remote node object. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_node_attach (ocs_hal_t *hal, ocs_remote_node_t *rnode, ocs_dma_t *sparms) |
| | Update a remote node object with the remote port's service parameters. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_node_free_resources (ocs_hal_t *hal, ocs_remote_node_t *rnode) |
| | Free a remote node resource. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_node_detach (ocs_hal_t *hal, ocs_remote_node_t *rnode) |
| | Free a remote node object. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_unreg_rpi_all (ocs_hal_t *hal, ocs_sport_t *sport) |
| | Free all remote node objects. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_node_group_alloc (ocs_hal_t *hal, ocs_remote_node_group_t *ngroup) |
| |
| ocs_hal_rtn_e | ocs_hal_node_group_attach (ocs_hal_t *hal, ocs_remote_node_group_t *ngroup, ocs_remote_node_t *rnode) |
| |
| ocs_hal_rtn_e | ocs_hal_node_group_free (ocs_hal_t *hal, ocs_remote_node_group_t *ngroup) |
| |
| static void | ocs_hal_init_free_io (ocs_hal_io_t *io) |
| | Initialize IO fields on each free call. More...
|
| |
| static ocs_hal_io_t * | _ocs_hal_io_alloc (ocs_hal_t *hal) |
| | Lockless allocate a HAL IO object. More...
|
| |
| ocs_hal_io_t * | ocs_hal_io_alloc (ocs_hal_t *hal) |
| | Allocate a HAL IO object. More...
|
| |
| ocs_hal_io_t * | ocs_hal_io_activate_port_owned (ocs_hal_t *hal, ocs_hal_io_t *io) |
| | Allocate/Activate a port owned HAL IO object. More...
|
| |
| static void | ocs_hal_io_free_move_correct_list (ocs_hal_t *hal, ocs_hal_io_t *io) |
| | When an IO is freed, depending on the exchange busy flag, and other workarounds, move it to the correct list. More...
|
| |
| static void | ocs_hal_io_free_common (ocs_hal_t *hal, ocs_hal_io_t *io) |
| | Free a HAL IO object. Perform cleanup common to port and host-owned IOs. More...
|
| |
| int32_t | ocs_hal_io_free (ocs_hal_t *hal, ocs_hal_io_t *io) |
| | Free a previously-allocated HAL IO object. More...
|
| |
| uint8_t | ocs_hal_io_inuse (ocs_hal_t *hal, ocs_hal_io_t *io) |
| | Check if given HAL IO is in-use. More...
|
| |
| static int32_t | _hal_wq_write (hal_wq_t *wq, ocs_hal_wqe_t *wqe) |
| | Write a HAL IO to a work queue. More...
|
| |
| int32_t | hal_wq_write (hal_wq_t *wq, ocs_hal_wqe_t *wqe) |
| | Write a HAL IO to a work queue. More...
|
| |
| static void | hal_wq_submit_pending (hal_wq_t *wq, uint32_t update_free_count) |
| | Update free count and submit any pending HAL IOs. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_srrs_send (ocs_hal_t *hal, ocs_hal_io_type_e type, ocs_hal_io_t *io, ocs_dma_t *send, uint32_t len, ocs_dma_t *receive, ocs_remote_node_t *rnode, ocs_hal_io_param_t *iparam, ocs_hal_srrs_cb_t cb, void *arg) |
| | Send a Single Request/Response Sequence (SRRS). More...
|
| |
| ocs_hal_rtn_e | ocs_hal_io_send (ocs_hal_t *hal, ocs_hal_io_type_e type, ocs_hal_io_t *io, uint32_t len, ocs_hal_io_param_t *iparam, ocs_remote_node_t *rnode, void *cb, void *arg) |
| | Send a read, write, or response IO. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_send_frame (ocs_hal_t *hal, fc_header_le_t *hdr, uint8_t sof, uint8_t eof, ocs_dma_t *payload, ocs_hal_send_frame_context_t *ctx, void(*callback)(void *arg, uint8_t *cqe, int32_t status), void *arg) |
| | Send a raw frame. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_io_register_sgl (ocs_hal_t *hal, ocs_hal_io_t *io, ocs_dma_t *sgl, uint32_t sgl_count) |
| |
| ocs_hal_rtn_e | ocs_hal_io_init_sges (ocs_hal_t *hal, ocs_hal_io_t *io, ocs_hal_io_type_e type) |
| | Initialize the scatter gather list entries of an IO. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_io_add_seed_sge (ocs_hal_t *hal, ocs_hal_io_t *io, ocs_hal_dif_info_t *dif_info) |
| | Add a T10 PI seed scatter gather list entry. More...
|
| |
| static ocs_hal_rtn_e | ocs_hal_io_overflow_sgl (ocs_hal_t *hal, ocs_hal_io_t *io) |
| |
| ocs_hal_rtn_e | ocs_hal_io_add_sge (ocs_hal_t *hal, ocs_hal_io_t *io, uintptr_t addr, uint32_t length) |
| | Add a scatter gather list entry to an IO. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_io_add_dif_sge (ocs_hal_t *hal, ocs_hal_io_t *io, uintptr_t addr) |
| | Add a T10 DIF scatter gather list entry to an IO. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_io_abort (ocs_hal_t *hal, ocs_hal_io_t *io_to_abort, uint32_t send_abts, void *cb, void *arg) |
| | Abort a previously-started IO. More...
|
| |
| int32_t | ocs_hal_io_get_xid (ocs_hal_t *hal, ocs_hal_io_t *io) |
| | Return the OX_ID/RX_ID of the IO. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_firmware_write (ocs_hal_t *hal, ocs_dma_t *dma, uint32_t size, uint32_t offset, int last, ocs_hal_fw_cb_t cb, void *arg) |
| | Write a portion of a firmware image to the device. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_get_sfp (ocs_hal_t *hal, uint16_t page, ocs_hal_sfp_cb_t cb, void *arg) |
| | Function to retrieve the SFP information. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_get_temperature (ocs_hal_t *hal, ocs_hal_temp_cb_t cb, void *arg) |
| | Function to retrieve the temperature information. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_get_link_stats (ocs_hal_t *hal, uint8_t req_ext_counters, uint8_t clear_overflow_flags, uint8_t clear_all_counters, ocs_hal_link_stat_cb_t cb, void *arg) |
| | Function to retrieve the link statistics. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_get_host_stats (ocs_hal_t *hal, uint8_t cc, ocs_hal_host_stat_cb_t cb, void *arg) |
| | Function to retrieve the link and host statistics. More...
|
| |
| static ocs_hal_linkcfg_e | ocs_hal_linkcfg_from_clp (const char *clp_str) |
| | Helper function for getting the HAL linkcfg enum from the CLP string value. More...
|
| |
| static const char * | ocs_hal_clp_from_linkcfg (ocs_hal_linkcfg_e linkcfg) |
| | Helper function for getting the CLP string value from the HAL linkcfg enum. More...
|
| |
| static uint32_t | ocs_hal_config_id_from_linkcfg (ocs_hal_linkcfg_e linkcfg) |
| | Helper function for getting a Skyhawk link config ID from the HAL linkcfg enum. More...
|
| |
| static ocs_hal_linkcfg_e | ocs_hal_linkcfg_from_config_id (const uint32_t config_id) |
| | Helper function for getting the HAL linkcfg enum from a Skyhawk config ID. More...
|
| |
| static void | ocs_hal_set_active_link_config_cb (ocs_hal_t *hal, int32_t status, uint8_t *mqe, void *arg) |
| | Callback for ocs_hal_set_linkcfg_skyhawk. More...
|
| |
| static void | ocs_hal_get_active_link_config_cb (ocs_hal_t *hal, int32_t status, uint8_t *mqe, void *arg) |
| | Get the link configuration callback. More...
|
| |
| static void | ocs_hal_watchdog_timer_cb (void *arg) |
| |
| static void | ocs_hal_cb_cfg_watchdog (ocs_hal_t *hal, int32_t status, uint8_t *mqe, void *arg) |
| |
| static void | ocs_hal_cb_itcm_parity_stats (ocs_hal_t *hal, int32_t status, uint8_t *mqe, void *arg) |
| |
| ocs_hal_rtn_e | ocs_hal_get_itcm_parity_stats (ocs_hal_t *hal, bool clear_stats, ocs_hal_parity_stat_cb_t cb, void *arg) |
| |
| static void | ocs_hal_generic_mbx_command_cb (ocs_hal_t *hal, int32_t status, uint8_t *mqe, void *arg) |
| |
| static ocs_hal_rtn_e | ocs_hal_exec_mbx_command_generic_results (ocs_hal_t *hal, uint8_t *req_rsp_buf, bool handle_sli4_rsp, int timeout_usecs) |
| | Issue a blocking hal command that has generic response handling in callback handler. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_set_trunk_mode (ocs_hal_t *hal, uint32_t trunk_mode) |
| | Set trunking mode. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_get_trunk_info (ocs_hal_t *hal, uint32_t *trunk_info) |
| | Get trunking mode information. More...
|
| |
| int | ocs_hal_stop_fw_diagnostic_logging (ocs_hal_t *hal) |
| | Stop firmware diagnostic logging (RAS). More...
|
| |
| static void | ocs_hal_parse_pause_errx_pairs (ocs_hal_t *hal) |
| |
| static ocs_hal_rtn_e | ocs_hal_set_dump_location (ocs_hal_t *hal, uint32_t num_buffers, ocs_dma_t *dump_buffers, uint8_t fdb) |
| | Set the Lancer dump location. More...
|
| |
| void | ocs_hal_free_dump_to_host_buffers (ocs_hal_t *hal) |
| |
| static int32_t | ocs_fw_dump_buffer_alloc (ocs_t *ocs, uint8_t dump_level) |
| |
| static ocs_hal_rtn_e | ocs_hal_alloc_set_dump_buffers (ocs_hal_t *hal, uint8_t dump_level) |
| |
| ocs_hal_rtn_e | ocs_hal_set_dump_to_host_buffers (ocs_hal_t *hal) |
| | Allocates dump dma buffers, if not already allocated. Set the Lancer dump location. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_set_loopback_mode (ocs_hal_t *hal, uint32_t type) |
| | Set the Lancer dump location. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_run_biu_diag (ocs_hal_t *hal, void *tx_buff, size_t tx_buff_len, void *rx_buff, size_t rx_buff_len) |
| | Run Diagnostic PCI Loopback test. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_clear_dump_location (ocs_hal_t *hal) |
| | Clear the Lancer dump location. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_raise_ue (ocs_hal_t *hal, uint8_t dump) |
| | Cause chip to enter an unrecoverable error state. More...
|
| |
| static int32_t | ocs_hal_cb_dump_get (ocs_hal_t *hal, int32_t status, uint8_t *mqe, void *arg) |
| | Called when the OBJECT_GET command completes. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_dump_get (ocs_hal_t *hal, ocs_dma_t *dma, uint32_t size, uint32_t offset, ocs_hal_dump_get_cb_t cb, void *arg) |
| | Read a dump image to the host. More...
|
| |
| static int32_t | ocs_hal_cb_dump_clear (ocs_hal_t *hal, int32_t status, uint8_t *mqe, void *arg) |
| | Called when the OBJECT_DELETE command completes. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_dump_clear (ocs_hal_t *hal, ocs_hal_dump_clear_cb_t cb, void *arg) |
| | Clear a dump image from the device. More...
|
| |
| static int32_t | ocs_hal_get_port_protocol_cb (ocs_hal_t *hal, int32_t status, uint8_t *mqe, void *arg) |
| | Called for the completion of get_port_profile for a user request. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_get_port_protocol (ocs_hal_t *hal, uint32_t pci_func, ocs_get_port_protocol_cb_t cb, void *ul_arg) |
| | Get the current port protocol. More...
|
| |
| static int32_t | ocs_hal_set_port_protocol_cb2 (ocs_hal_t *hal, int32_t status, uint8_t *mqe, void *arg) |
| | Called for the completion of set_port_profile for a user request. More...
|
| |
| static int32_t | ocs_hal_set_port_protocol_cb1 (ocs_hal_t *hal, int32_t status, uint8_t *mqe, void *arg) |
| | Called for the completion of set_port_profile for a user request. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_set_port_protocol (ocs_hal_t *hal, ocs_hal_port_protocol_e new_protocol, uint32_t pci_func, ocs_set_port_protocol_cb_t cb, void *ul_arg) |
| | Set the port protocol. More...
|
| |
| static int32_t | ocs_hal_get_profile_list_cb (ocs_hal_t *hal, int32_t status, uint8_t *mqe, void *arg) |
| | Called for the completion of get_profile_list for a user request. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_get_profile_list (ocs_hal_t *hal, ocs_get_profile_list_cb_t cb, void *ul_arg) |
| | Get a list of available profiles. More...
|
| |
| static int32_t | ocs_hal_get_active_profile_cb (ocs_hal_t *hal, int32_t status, uint8_t *mqe, void *arg) |
| | Called for the completion of get_active_profile for a user request. More...
|
| |
| int32_t | ocs_hal_get_active_profile (ocs_hal_t *hal, ocs_get_active_profile_cb_t cb, void *ul_arg) |
| | Get the currently active profile. More...
|
| |
| static int32_t | ocs_hal_get_nvparms_cb (ocs_hal_t *hal, int32_t status, uint8_t *mqe, void *arg) |
| | Called for the completion of get_nvparms for a user request. More...
|
| |
| int32_t | ocs_hal_get_nvparms (ocs_hal_t *hal, ocs_get_nvparms_cb_t cb, void *ul_arg) |
| | Read non-volatile parms. More...
|
| |
| static int32_t | ocs_hal_set_nvparms_cb (ocs_hal_t *hal, int32_t status, uint8_t *mqe, void *arg) |
| | Called for the completion of set_nvparms for a user request. More...
|
| |
| int32_t | ocs_hal_set_nvparms (ocs_hal_t *hal, ocs_set_nvparms_cb_t cb, uint8_t *wwpn, uint8_t *wwnn, uint8_t hard_alpa, uint32_t preferred_d_id, void *ul_arg) |
| | Write non-volatile parms. More...
|
| |
| uint32_t | ocs_hal_io_get_count (ocs_hal_t *hal, ocs_hal_io_count_type_e io_count_type) |
| | Called to obtain the count for the specified type. More...
|
| |
| uint32_t | ocs_hal_rpi_active_count (ocs_hal_t *hal) |
| | Called to obtain active RPI count. More...
|
| |
| uint32_t | ocs_hal_get_rqes_produced_count (ocs_hal_t *hal) |
| | Called to obtain the count of produced RQs. More...
|
| |
| static int32_t | ocs_hal_set_active_profile_cb (ocs_hal_t *hal, int32_t status, uint8_t *mqe, void *arg) |
| | Called for the completion of set_active_profile for a user request. More...
|
| |
| int32_t | ocs_hal_set_active_profile (ocs_hal_t *hal, ocs_set_active_profile_cb_t cb, uint32_t profile_id, void *ul_arg) |
| | Set the currently active profile. More...
|
| |
| int32_t | ocs_hal_queue_hash_find (ocs_queue_hash_t *hash, uint16_t id) |
| | Find index given queue ID. More...
|
| |
| ocs_domain_t * | ocs_hal_domain_get (ocs_hal_t *hal, uint16_t fcfi) |
| |
| static ocs_domain_t * | ocs_hal_domain_get_indexed (ocs_hal_t *hal, uint16_t fcf_index) |
| |
| void | ocs_hal_cq_process (ocs_hal_t *hal, hal_cq_t *cq, uint32_t cq_process_limit) |
| | Process entries on the given completion queue. More...
|
| |
| void | ocs_hal_wq_process (ocs_hal_t *hal, hal_cq_t *cq, uint8_t *cqe, int32_t status, uint16_t rid) |
| | Process WQ completion queue entries. More...
|
| |
| static void | ocs_hal_wq_process_io (void *arg, uint8_t *cqe, int32_t status) |
| | Process WQ completions for IO requests. More...
|
| |
| void | ocs_hal_xabt_process (ocs_hal_t *hal, hal_cq_t *cq, uint8_t *cqe, uint16_t rid) |
| | Process XABT completions. More...
|
| |
| static ocs_hal_rtn_e | ocs_hal_read_fcf (ocs_hal_t *hal, uint32_t index) |
| | Read a FCF table entry. More...
|
| |
| static int32_t | ocs_hal_read_lmt (ocs_hal_t *hal) |
| | function to read link module type More...
|
| |
| int32_t | ocs_hal_flush (ocs_hal_t *hal) |
| |
| ocs_hal_io_t * | ocs_hal_io_lookup (ocs_hal_t *hal, uint32_t xri) |
| | Find IO given indicator (xri). More...
|
| |
| static void | ocs_hal_io_cancel_cleanup (ocs_hal_t *hal, ocs_hal_io_t *io) |
| | Issue any pending callbacks for an IO and remove off the timer and pending lists. More...
|
| |
| int32_t | ocs_hal_io_cancel (ocs_hal_t *hal) |
| |
| static int32_t | __ocs_hal_port_common (const char *funcname, ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *data) |
| |
| static void * | __ocs_hal_port_free_report_fail (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *data) |
| |
| static void * | __ocs_hal_port_freed (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *data) |
| |
| static void * | __ocs_hal_port_attach_report_fail (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *data) |
| |
| static void * | __ocs_hal_port_free_nop (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *data) |
| |
| static void * | __ocs_hal_port_attached (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *data) |
| |
| static void * | __ocs_hal_port_attach_reg_vpi (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *data) |
| |
| static void * | __ocs_hal_port_allocated (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *data) |
| |
| static void * | __ocs_hal_port_alloc_report_fail (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *data) |
| |
| static int32_t | __ocs_hal_domain_common (const char *funcname, ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *data) |
| |
| static void * | __ocs_hal_domain_alloc_report_fail (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *data) |
| |
| static void * | __ocs_hal_domain_attached (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *data) |
| |
| static void * | __ocs_hal_domain_attach_report_fail (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *data) |
| |
| static void * | __ocs_hal_domain_attach_reg_vfi (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *data) |
| |
| static void * | __ocs_hal_domain_allocated (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *data) |
| |
| static void * | __ocs_hal_domain_alloc_read_sparm64 (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *data) |
| |
| static void * | __ocs_hal_domain_free_report_fail (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *data) |
| |
| static void * | __ocs_hal_domain_freed (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *data) |
| |
| static void * | __ocs_hal_domain_free_redisc_fcf (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *data) |
| |
| static int32_t | target_wqe_timer_nop_cb (ocs_hal_t *hal, int32_t status, uint8_t *mqe, void *arg) |
| |
| uint8_t | ocs_hal_is_io_port_owned (ocs_hal_t *hal, ocs_hal_io_t *io) |
| | Determine if HAL IO is owned by the port. More...
|
| |
| uint8_t | ocs_hal_is_xri_port_owned (ocs_hal_t *hal, uint32_t xri) |
| | Return TRUE if exchange is port-owned. More...
|
| |
| static void | ocs_hal_reclaim_xri (ocs_hal_t *hal, uint16_t xri_base, uint16_t xri_count) |
| | Returns an XRI from the port owned list to the host. More...
|
| |
| static int32_t | ocs_hal_cb_post_xri (ocs_hal_t *hal, int32_t status, uint8_t *mqe, void *arg) |
| | Called when the POST_XRI command completes. More...
|
| |
| static ocs_hal_rtn_e | ocs_hal_post_xri (ocs_hal_t *hal, uint32_t xri_start, uint32_t num_to_post) |
| | Issues a mailbox command to move XRIs from the host-controlled pool to the port. More...
|
| |
| uint32_t | ocs_hal_xri_move_to_port_owned (ocs_hal_t *hal, uint32_t num_xri) |
| | Move XRIs from the host-controlled pool to the port. More...
|
| |
| static int32_t | ocs_hal_cb_release_xri (ocs_hal_t *hal, int32_t status, uint8_t *mqe, void *arg) |
| | Called when the RELEASE_XRI command completes. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_xri_move_to_host_owned (ocs_hal_t *hal, uint8_t num_xri) |
| | Move XRIs from the port-controlled pool to the host. More...
|
| |
| static void | ocs_hal_rx_buffer_free (ocs_hal_t *hal, ocs_hal_rq_buffer_t **rq_buf, uint32_t count) |
| | Free an ocs_hal_rx_buffer_t array. More...
|
| |
| static ocs_hal_rq_buffer_t ** | ocs_hal_rx_buffer_alloc (ocs_hal_t *hal, uint32_t rqindex, uint32_t count, uint32_t size) |
| | Allocate an ocs_hal_rx_buffer_t array. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_rx_allocate (ocs_hal_t *hal) |
| | Allocate the RQ data buffers. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_rx_post (ocs_hal_t *hal) |
| | Post the RQ data buffers to the chip. More...
|
| |
| void | ocs_hal_rx_free (ocs_hal_t *hal) |
| | Free the RQ data buffers. More...
|
| |
| static void | ocs_hal_async_cb (ocs_hal_t *hal, int32_t status, uint8_t *mqe, void *arg) |
| | HAL async callback handler. More...
|
| |
| int32_t | ocs_hal_async_call (ocs_hal_t *hal, ocs_hal_async_cb_t callback, void *arg) |
| | Make an async callback using NOP mailbox command. More...
|
| |
| ocs_hal_rtn_e | ocs_hal_reqtag_init (ocs_hal_t *hal) |
| | Initialize the reqtag pool. More...
|
| |
| hal_wq_callback_t * | ocs_hal_reqtag_alloc (ocs_hal_t *hal, void(*callback)(void *arg, uint8_t *cqe, int32_t status), void *arg) |
| | Allocate a WQ request tag. More...
|
| |
| void | ocs_hal_reqtag_free (ocs_hal_t *hal, hal_wq_callback_t *wqcb) |
| | Free a WQ request tag. More...
|
| |
| hal_wq_callback_t * | ocs_hal_reqtag_get_instance (ocs_hal_t *hal, uint32_t instance_index) |
| | Return WQ request tag by index. More...
|
| |
| void | ocs_hal_reqtag_reset (ocs_hal_t *hal) |
| | Reset the WQ request tag pool. More...
|
| |
| void | _ocs_hal_assert (const char *cond, const char *filename, int linenum) |
| | Handle HAL assertion. More...
|
| |
| void | _ocs_hal_verify (const char *cond, const char *filename, int linenum) |
| | Handle HAL verify. More...
|
| |
| static void | ocs_hal_wq_handle_bad_reque_xri (void *arg, uint8_t *cqe, int32_t status) |
| |
| int32_t | ocs_hal_reque_xri (ocs_hal_t *hal, ocs_hal_io_t *io) |
| | Reque XRI. More...
|
| |
| int | ocs_hal_can_accept_wqes (struct ocs_hal_io_s *hio) |
| | Validate HAL IO state to make sure HAL can accept and post wqe to SLI. More...
|
| |