Functions | |
| ocs_hal_rtn_e | ocs_hal_command_bootstrap (ocs_hal_t *hal, uint8_t *cmd) |
| Issue a SLI command to the bootstrap mailbox. More... | |
| ocs_command_ctx_t * | ocs_hal_command_get_ctx (ocs_hal_t *hal) |
| Issue a SLI command. More... | |
| void | ocs_hal_command_free_ctx (ocs_hal_t *hal, ocs_command_ctx_t *ctx) |
| Issue a SLI command. More... | |
| ocs_hal_rtn_e | ocs_hal_command_queue (ocs_hal_t *hal, ocs_command_ctx_t *ctx) |
| Issue a SLI command. More... | |
| ocs_hal_rtn_e | ocs_hal_rxbuffer (ocs_hal_t *hal, ocs_hal_rq_buffer_t *header, ocs_hal_rq_buffer_t *payload) |
| Add a receive buffer pair to the Receive Queue. More... | |
| ocs_hal_io_t * | ocs_hal_io_alloc (ocs_hal_t *hal) |
| Allocate a HAL IO object. More... | |
| static void | ocs_hal_io_check_quarantine_list (ocs_hal_t *hal, uint32_t *quarantine_cnt, ocs_list_t *quarantine_list) |
| If there are more than 4 objects on the quarantine list, then free IOs until there are at most 4 left on the list. More... | |
| void | ocs_hal_io_free (ocs_hal_t *hal, ocs_hal_io_t *io) |
| Free a previously allocated HAL IO object. More... | |
| static ocs_hal_sgl_info_t * | ocs_hal_sgl_info_alloc (ocs_hal_t *hal) |
| Allocate a HAL SGL Chaining object. More... | |
| static void | ocs_hal_sgl_info_free (ocs_hal_t *hal, ocs_hal_sgl_info_t *sgl_info) |
| Free a previously allocated HAL SGL Chaining object. 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_cxn_t *cxn, io_cb_t cb, void *arg) |
| Send a read, write, or response IO. More... | |
| ocs_hal_rtn_e | ocs_hal_io_init_sges (ocs_hal_t *hal, ocs_hal_io_t *io, ocs_hal_io_type_e type, uint32_t offset) |
| Initialize the Scatter Gather List entries of an IO. More... | |
| static ocs_hal_sgl_info_t * | ocs_hal_io_get_sgl_info (ocs_hal_t *hal, ocs_hal_io_t *io) |
| Find the correct position to add an SGL. This may result in the allocation of a chained SGL List. More... | |
| 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_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... | |
| 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... | |
| static ocs_hal_rtn_e | ocs_hal_io_abort_send_cmd (ocs_hal_t *hal, ocs_hal_io_t **ios, uint16_t num_ios, ocs_hal_abort_type_e abort_type) |
| Abort a list of IOs. More... | |
| static ocs_hal_rtn_e | ocs_hal_io_abort_add_entry (ocs_hal_t *hal, ocs_hal_io_t *io, ocs_hal_io_t **ios, uint16_t *io_index, ocs_hal_abort_type_e abort_type) |
| Abort a list of IOs. More... | |
| ocs_hal_rtn_e | ocs_hal_io_abort (ocs_hal_t *hal, ocs_hal_io_t *io, ocs_hal_abort_scope_e abort_scope, ocs_hal_abort_type_e abort_type) |
| Abort a currently running IO. More... | |
| ocs_hal_rtn_e | ocs_hal_get_profile_list (ocs_hal_t *hal, mgmt_cb_t mgmt_cb, void *ul_arg) |
| Get a list of available profiles. More... | |
| int32_t | ocs_hal_get_active_profile (ocs_hal_t *hal, mgmt_cb_t cb, void *ul_arg) |
| Get the currently active profile. More... | |
| ocs_hal_rtn_e | ocs_hal_set_active_profile (ocs_hal_t *hal, mgmt_cb_t cb, uint32_t profile_id, void *ul_arg) |
| Set the currently active profile. More... | |
| int32_t | ocs_hal_get_linkcfg (ocs_hal_t *hal, mgmt_cb_t cb, void *ul_arg) |
| Get the current link configuration. More... | |
| ocs_hal_rtn_e | ocs_hal_set_linkcfg (ocs_hal_t *hal, mgmt_cb_t cb, ocs_hal_linkcfg_e value, void *ul_arg) |
| Set the link configuration (Skyhawk only). More... | |
| int32_t | ocs_hal_get_port_protocol (ocs_hal_t *hal, uint32_t pci_func, mgmt_cb_t cb, void *ul_arg) |
| Get the current port protocol. More... | |
| ocs_hal_rtn_e | ocs_hal_set_port_protocol (ocs_hal_t *hal, uint32_t pci_func, ocs_hal_port_protocol_e new_protocol, mgmt_cb_t cb, void *ul_arg) |
| Set the port protocol. More... | |
| ocs_hal_io_t * | ocs_hal_io_find_itt (ocs_hal_t *hal, uint32_t itt) |
| Find an IO based on the initiator task tag. More... | |
| ocs_hal_rtn_e ocs_hal_command_bootstrap | ( | ocs_hal_t * | hal, |
| uint8_t * | cmd | ||
| ) |
| void ocs_hal_command_free_ctx | ( | ocs_hal_t * | hal, |
| ocs_command_ctx_t * | ctx | ||
| ) |
| ocs_command_ctx_t* ocs_hal_command_get_ctx | ( | ocs_hal_t * | hal | ) |
| ocs_hal_rtn_e ocs_hal_command_queue | ( | ocs_hal_t * | hal, |
| ocs_command_ctx_t * | ctx | ||
| ) |
Issue a SLI command.
| hal | Hardware context. |
| ctx | Command context from ocs_hal_command_get_ctx(). |
Get the currently active profile.
| hal | HAL hardware context. |
| cb | Callback function to be called when the command completes. |
| ul_arg | An argument that is passed to the callback function. |
Get the current link configuration.
| hal | HAL hardware context. |
| cb | Callback function to be called when the command completes. |
| ul_arg | Argument that is passed to the callback function. |
| int32_t ocs_hal_get_port_protocol | ( | ocs_hal_t * | hal, |
| uint32_t | pci_func, | ||
| mgmt_cb_t | cb, | ||
| void * | ul_arg | ||
| ) |
Get the current port protocol.
| hal | HAL hardware context. |
| pci_func | TBD. |
| cb | Callback function to be called when the command completes. |
| ul_arg | Argument that is passed to the callback function. |
| ocs_hal_rtn_e ocs_hal_get_profile_list | ( | ocs_hal_t * | hal, |
| mgmt_cb_t | mgmt_cb, | ||
| void * | ul_arg | ||
| ) |
Get a list of available profiles.
| hal | The HAL hardware context. |
| mgmt_cb | Callback function to be called when the command completes. |
| ul_arg | An argument that is passed to the callback function. |
| ocs_hal_rtn_e ocs_hal_io_abort | ( | ocs_hal_t * | hal, |
| ocs_hal_io_t * | io, | ||
| ocs_hal_abort_scope_e | abort_scope, | ||
| ocs_hal_abort_type_e | abort_type | ||
| ) |
Abort a currently running IO.
| hal | Hardware context. |
| io | Previously-allocated HAL IO object (only used for SCOPE_IO). |
| abort_scope | Used to automatically select IOs to abort. |
| abort_type | Type of abort requested. |
|
static |
Abort a list of IOs.
| hal | Hardware context. |
| io | Pointer to an IO to abort. |
| ios | Pointer to an array of IOs to abort. |
| io_index | Index to place the next IO in. |
| abort_type | Type of abort requested. |
|
static |
Abort a list of IOs.
| hal | Hardware context. |
| ios | Pointer to an array of IOs to abort. |
| num_ios | Number of IOs to abort. |
| abort_type | Type of abort requested. |
| ocs_hal_rtn_e ocs_hal_io_add_dif_sge | ( | ocs_hal_t * | hal, |
| ocs_hal_io_t * | io, | ||
| uintptr_t | addr | ||
| ) |
| 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 | ||
| ) |
| ocs_hal_rtn_e ocs_hal_io_add_sge | ( | ocs_hal_t * | hal, |
| ocs_hal_io_t * | io, | ||
| uintptr_t | addr, | ||
| uint32_t | length | ||
| ) |
| ocs_hal_io_t* ocs_hal_io_alloc | ( | ocs_hal_t * | hal | ) |
|
static |
If there are more than 4 objects on the quarantine list, then free IOs until there are at most 4 left on the list.
| hal | Hardware context. |
| quarantine_cnt | Pointer to the current count of the list elements. |
| quarantine_list | Pointer to the quarantine list. |
| ocs_hal_io_t* ocs_hal_io_find_itt | ( | ocs_hal_t * | hal, |
| uint32_t | itt | ||
| ) |
| void ocs_hal_io_free | ( | ocs_hal_t * | hal, |
| ocs_hal_io_t * | io | ||
| ) |
|
static |
| ocs_hal_rtn_e ocs_hal_io_init_sges | ( | ocs_hal_t * | hal, |
| ocs_hal_io_t * | io, | ||
| ocs_hal_io_type_e | type, | ||
| uint32_t | offset | ||
| ) |
Initialize the Scatter Gather List entries of an IO.
| hal | Hardware context. |
| io | Previously-allocated HAL IO object. |
| type | Type of IO (target read, target response, ...). |
| offset | Offset used to initialize the phase. |
| 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_cxn_t * | cxn, | ||
| io_cb_t | cb, | ||
| void * | arg | ||
| ) |
Send a read, write, or response IO.
| hal | Hardware context. |
| type | Type of IO (target read, target response, ...). |
| io | Previously-allocated HAL IO object. |
| len | Length in bytes of data to send. |
| iparam | IO parameters. |
| cxn | Pointer to the connection object. |
| cb | Function call upon completion of sending data (may be NULL). |
| arg | Argument to pass to IO completion function. |
| ocs_hal_rtn_e ocs_hal_rxbuffer | ( | ocs_hal_t * | hal, |
| ocs_hal_rq_buffer_t * | header, | ||
| ocs_hal_rq_buffer_t * | payload | ||
| ) |
| ocs_hal_rtn_e ocs_hal_set_active_profile | ( | ocs_hal_t * | hal, |
| mgmt_cb_t | cb, | ||
| uint32_t | profile_id, | ||
| void * | ul_arg | ||
| ) |
Set the currently active profile.
| hal | HAL hardware context. |
| cb | Callback function to be called when the command completes. |
| profile_id | Profile ID that should be set as the active profile. |
| ul_arg | Argument that is passed to the callback function. |
| ocs_hal_rtn_e ocs_hal_set_linkcfg | ( | ocs_hal_t * | hal, |
| mgmt_cb_t | cb, | ||
| ocs_hal_linkcfg_e | value, | ||
| void * | ul_arg | ||
| ) |
Set the link configuration (Skyhawk only).
| hal | HAL hardware context. |
| cb | Callback function to be called when the command completes. |
| ul_arg | An argument that is passed to the callback function. |
| value | TBD. |
| ocs_hal_rtn_e ocs_hal_set_port_protocol | ( | ocs_hal_t * | hal, |
| uint32_t | pci_func, | ||
| ocs_hal_port_protocol_e | new_protocol, | ||
| mgmt_cb_t | cb, | ||
| void * | ul_arg | ||
| ) |
Set the port protocol.
| hal | HAL hardware context. |
| pci_func | TBD. |
| cb | Callback function to be called when the command completes. |
| ul_arg | An argument that is passed to the callback function. |
| new_protocol | TBD. |
|
static |
|
static |