__lpfc_sli_issue_iocb_s4(9)
β¨ NAME β¨
Okay so, bestie, this is the Kernel API Manual page for __lpfc_sli_issue_iocb_s4(9) β the SLI4 device lockless ver of lpfc_sli_issue_iocb. That's the name, that's the vibe, periodt π
.
π SYNOPSIS π
int __lpfc_sli_issue_iocb_s4 (struct lpfc_hba *phba , uint32_t ring_number , struct lpfc_iocbq *piocb , uint32_t flag );
π ARGUMENTS π
phbaβ Pointer to HBA context object. the HBA context in question πring_numberβ SLI ring number to issue iocb on. pick your ring, bestie β¨piocbβ Pointer to command iocb. the command iocb itself πflagβ Flag indicating if this command can be put intotxq. txq permission check vibes π«Ά
π DESCRIPTION π
So __lpfc_sli_issue_iocb_s4 is used by other functions in the driver to issue an iocb command to an HBA with SLI-4 interface spec. driver-internal helper energy, honestly π.
This function is called with ringlock held. The function will return success after it successfully submits the iocb to firmware or after adding it to the txq. like, either firmware said yes or it's chilling in the txq β success either way π
β οΈ Lock contract check: this function is called with ringlock held. That's the setup, bestie β don't forget it. No cap. π₯
π¦ SEE ALSO π¦
Kernel file ./drivers/scsi/lpfc/lpfc_sli.c and the whole cross-reference group chat:
lpfc_sli4_pcimem_bcopy(9),lpfc_sli4_wq_put(9),lpfc_sli4_wq_release(9),lpfc_sli4_mq_put(9),lpfc_sli4_mq_release(9),lpfc_sli4_eq_get(9),lpfc_sli4_eq_clr_intr(9),lpfc_sli4_if6_eq_clr_intr(9),lpfc_sli4_write_eq_db(9),lpfc_sli4_if6_write_eq_db(9),lpfc_sli4_cq_get(9),lpfc_sli4_write_cq_db(9),lpfc_sli4_if6_write_cq_db(9),lpfc_cmd_iocb(9),lpfc_resp_iocb(9),__lpfc_sli_get_iocbq(9),__lpfc_clear_active_sglq(9),__lpfc_get_active_sglq(9),lpfc_clr_rrq_active(9),lpfc_handle_rrq_active(9)lpfc_get_active_rrq(9),lpfc_cleanup_vports_rrqs(9),lpfc_test_rrq_active(9),lpfc_set_rrq_active(9),__lpfc_sli_get_els_sglq(9),__lpfc_sli_get_nvmet_sglq(9),lpfc_sli_get_iocbq(9),__lpfc_sli_release_iocbq_s4(9),__lpfc_sli_release_iocbq_s3(9),__lpfc_sli_release_iocbq(9),lpfc_sli_release_iocbq(9),lpfc_sli_cancel_iocbs(9),lpfc_sli_iocb_cmd_type(9),lpfc_sli_ring_map(9),lpfc_sli_ringtxcmpl_put(9),lpfc_sli_ringtx_get(9),lpfc_cmf_sync_cmpl(9),lpfc_issue_cmf_sync_wqe(9),lpfc_sli_next_iocb_slot(9),lpfc_sli_next_iotag(9)lpfc_sli_submit_iocb(9),lpfc_sli_update_full_ring(9),lpfc_sli_update_ring(9),lpfc_sli_resume_iocb(9),lpfc_sli_next_hbq_slot(9),lpfc_sli_hbqbuf_free_all(9),lpfc_sli_hbq_to_firmware(9),lpfc_sli_hbq_to_firmware_s3(9),lpfc_sli_hbq_to_firmware_s4(9),lpfc_sli_hbqbuf_fill_hbqs(9),lpfc_sli_hbqbuf_add_hbqs(9),lpfc_sli_hbqbuf_init_hbqs(9),lpfc_sli_rqbuf_get(9),lpfc_sli_hbqbuf_find(9),lpfc_sli_free_hbq(9),lpfc_sli_chk_mbx_command(9),lpfc_sli_wake_mbox_wait(9),lpfc_sli_def_mbox_cmpl(9),lpfc_sli_handle_mb_event(9),lpfc_sli_get_buff(9)lpfc_nvme_unsol_ls_handler(9),lpfc_complete_unsol_iocb(9),lpfc_sli_process_unsol_iocb(9),lpfc_sli_iocbq_lookup(9),lpfc_sli_iocbq_lookup_by_tag(9),lpfc_sli_process_sol_iocb(9),lpfc_sli_rsp_pointers_error(9),lpfc_poll_eratt(9),lpfc_sli_handle_fast_ring_event(9),lpfc_sli_sp_handle_rspiocb(9),lpfc_sli_handle_slow_ring_event(9),lpfc_sli_handle_slow_ring_event_s3(9),lpfc_sli_handle_slow_ring_event_s4(9),lpfc_sli_abort_iocb_ring(9),lpfc_sli_abort_fcp_rings(9),lpfc_sli_flush_io_rings(9),lpfc_sli_brdready_s3(9),lpfc_sli_brdready_s4(9),lpfc_sli_brdready(9),lpfc_reset_barrier(9)lpfc_sli_brdkill(9),lpfc_sli_brdreset(9),lpfc_sli4_brdreset(9),lpfc_sli_brdrestart_s3(9),lpfc_sli_brdrestart_s4(9),lpfc_sli_brdrestart(9),lpfc_sli_chipset_init(9),lpfc_sli_hbq_count(9),lpfc_sli_hbq_entry_count(9),lpfc_sli_hbq_size(9),lpfc_sli_hbq_setup(9),lpfc_sli4_rb_setup(9),lpfc_sli_config_port(9),lpfc_sli_hba_setup(9),lpfc_sli4_read_fcoe_params(9),lpfc_sli4_read_rev(9),lpfc_sli4_get_ctl_attr(9),lpfc_sli4_retrieve_pport_name(9),lpfc_sli4_arm_cqeq_intr(9),lpfc_sli4_get_avail_extnt_rsrc(9)lpfc_sli4_chk_avail_extnt_rsrc(9),lpfc_sli4_cfg_post_extnts(9),lpfc_sli4_alloc_extent(9),lpfc_sli4_dealloc_extent(9),lpfc_ras_stop_fwlog(9),lpfc_sli4_ras_dma_free(9),lpfc_sli4_ras_dma_alloc(9),lpfc_sli4_ras_mbox_cmpl(9),lpfc_sli4_ras_fwlog_init(9),lpfc_sli4_ras_setup(9),lpfc_sli4_alloc_resource_identifiers(9),lpfc_sli4_dealloc_resource_identifiers(9),lpfc_sli4_get_allocated_extnts(9),lpfc_sli4_repost_sgl_list(9),lpfc_sli4_repost_io_sgl_list(9),lpfc_init_idle_stat_hb(9),lpfc_rx_monitor_create_ring(9),lpfc_rx_monitor_destroy_ring(9),lpfc_rx_monitor_record(9),lpfc_rx_monitor_report(9)lpfc_cmf_setup(9),lpfc_get_platform_uuid(9),lpfc_sli4_hba_setup(9),lpfc_mbox_timeout(9),lpfc_sli4_mbox_completions_pending(9),lpfc_sli4_process_missed_mbox_completions(9),lpfc_mbox_timeout_handler(9),lpfc_sli_issue_mbox_s3(9),lpfc_sli4_async_mbox_block(9),lpfc_sli4_async_mbox_unblock(9),lpfc_sli4_wait_bmbx_ready(9),lpfc_sli4_post_sync_mbox(9),lpfc_sli_issue_mbox_s4(9),lpfc_sli4_post_async_mbox(9),lpfc_sli_issue_mbox(9),lpfc_mbox_api_table_setup(9),__lpfc_sli_ringtx_put(9),lpfc_sli_next_iocb(9),__lpfc_sli_issue_iocb_s3(9),__lpfc_sli_issue_fcp_io_s3(9)__lpfc_sli_issue_fcp_io_s4(9),lpfc_sli_api_table_setup(9),lpfc_sli4_calc_ring(9),lpfc_sli_issue_iocb(9),lpfc_extra_ring_setup(9),lpfc_sli_async_event_handler(9),lpfc_sli4_setup(9),lpfc_sli_setup(9),lpfc_sli4_queue_init(9),lpfc_sli_queue_init(9),lpfc_sli_mbox_sys_flush(9),lpfc_sli_host_down(9),lpfc_sli_hba_down(9),lpfc_sli_pcimem_bcopy(9),lpfc_sli_bemem_bcopy(9),lpfc_sli_ringpostbuf_put(9),lpfc_sli_get_buffer_tag(9),lpfc_sli_ring_taggedbuf_get(9),lpfc_sli_ringpostbuf_get(9),lpfc_sli_abort_els_cmpl(9)lpfc_ignore_els_cmpl(9),lpfc_sli_issue_abort_iotag(9),lpfc_sli_hba_iocb_abort(9),lpfc_sli_validate_fcp_iocb_for_abort(9),lpfc_sli_validate_fcp_iocb(9),lpfc_sli_sum_iocb(9),lpfc_sli_abort_fcp_cmpl(9),lpfc_sli_abort_iocb(9),lpfc_sli_abort_taskmgmt(9),lpfc_sli_wake_iocb_wait(9),lpfc_chk_iocb_flg(9),lpfc_sli_issue_iocb_wait(9),lpfc_sli_issue_mbox_wait(9),lpfc_sli_mbox_sys_shutdown(9),lpfc_sli_eratt_read(9),lpfc_sli4_eratt_read(9),lpfc_sli_check_eratt(9),lpfc_intr_state_check(9),lpfc_sli_sp_intr_handler(9),lpfc_sli_fp_intr_handler(9)lpfc_sli_intr_handler(9),lpfc_sli4_els_xri_abort_event_proc(9),lpfc_sli4_els_preprocess_rspiocbq(9),lpfc_sli4_sp_handle_async_event(9),lpfc_sli4_sp_handle_mbox_event(9),lpfc_sli4_sp_handle_mcqe(9),lpfc_sli4_sp_handle_els_wcqe(9),lpfc_sli4_sp_handle_rel_wcqe(9),lpfc_sli4_sp_handle_abort_xri_wcqe(9),lpfc_sli4_sp_handle_rcqe(9),lpfc_sli4_sp_handle_cqe(9),lpfc_sli4_sp_handle_eqe(9),__lpfc_sli4_process_cq(9),__lpfc_sli4_sp_process_cq(9),lpfc_sli4_sp_process_cq(9),lpfc_sli4_dly_sp_process_cq(9),lpfc_sli4_fp_handle_fcp_wcqe(9),lpfc_sli4_fp_handle_rel_wcqe(9),lpfc_sli4_nvmet_handle_rcqe(9),lpfc_sli4_fp_handle_cqe(9)__lpfc_sli4_hba_process_cq(9),lpfc_sli4_hba_process_cq(9),lpfc_sli4_hba_handle_eqe(9),lpfc_sli4_dly_hba_process_cq(9),lpfc_sli4_hba_intr_handler(9),lpfc_sli4_intr_handler(9),lpfc_sli4_queue_free(9),lpfc_sli4_queue_alloc(9),lpfc_dual_chute_pci_bar_map(9),lpfc_modify_hba_eq_delay(9),lpfc_eq_create(9),lpfc_sli4_hba_intr_handler_th(9),lpfc_cq_create(9),lpfc_cq_create_set(9),lpfc_mq_create_fb_init(9),lpfc_mq_create(9),lpfc_wq_create(9),lpfc_rq_create(9),lpfc_mrq_create(9),lpfc_eq_destroy(9)lpfc_cq_destroy(9),lpfc_mq_destroy(9),lpfc_wq_destroy(9),lpfc_rq_destroy(9),lpfc_sli4_post_sgl(9),lpfc_sli4_alloc_xri(9),__lpfc_sli4_free_xri(9),lpfc_sli4_free_xri(9),lpfc_sli4_next_xritag(9),lpfc_sli4_post_sgl_list(9),lpfc_sli4_post_io_sgl_block(9),lpfc_sli4_post_io_sgl_list(9),lpfc_fc_frame_check(9),lpfc_fc_hdr_get_vfi(9),lpfc_fc_frame_to_vport(9),lpfc_update_rcv_time_stamp(9),lpfc_cleanup_rcv_buffers(9),lpfc_rcv_seq_check_edtov(9),lpfc_fc_frame_add(9),lpfc_sli4_abort_partial_seq(9)lpfc_sli4_abort_ulp_seq(9),lpfc_sli4_seq_abort_rsp_cmpl(9),lpfc_sli4_xri_inrange(9),lpfc_sli4_seq_abort_rsp(9),lpfc_sli4_handle_unsol_abort(9),lpfc_seq_complete(9),lpfc_prep_seq(9),lpfc_sli4_handle_received_buffer(9),lpfc_sli4_post_all_rpi_hdrs(9),lpfc_sli4_post_rpi_hdr(9),lpfc_sli4_alloc_rpi(9),__lpfc_sli4_free_rpi(9),lpfc_sli4_free_rpi(9),lpfc_sli4_remove_rpis(9),lpfc_sli4_resume_rpi(9),lpfc_sli4_init_vpi(9),lpfc_mbx_cmpl_add_fcf_record(9),lpfc_sli4_add_fcf_record(9),lpfc_sli4_build_dflt_fcf_record(9),lpfc_sli4_fcf_scan_read_fcf_rec(9)lpfc_sli4_fcf_rr_read_fcf_rec(9),lpfc_sli4_read_fcf_rec(9),lpfc_check_next_fcf_pri_level(9),lpfc_sli4_fcf_rr_next_index_get(9),lpfc_sli4_fcf_rr_index_set(9),lpfc_sli4_fcf_rr_index_clear(9),lpfc_mbx_cmpl_redisc_fcf_table(9),lpfc_sli4_redisc_fcf_table(9),lpfc_sli4_fcf_dead_failthrough(9),lpfc_sli_get_config_region23(9),lpfc_sli4_get_config_region23(9),lpfc_sli_read_link_ste(9),lpfc_log_fw_write_cmpl(9),lpfc_wr_object(9),lpfc_cleanup_pending_mbox(9),lpfc_drain_txq(9),lpfc_wqe_bpl2sgl(9),lpfc_sli4_issue_wqe(9),lpfc_sli4_issue_abort_iotag(9),lpfc_snapshot_mxp(9)lpfc_adjust_pvt_pool_count(9),lpfc_adjust_high_watermark(9),lpfc_move_xri_pvt_to_pbl(9),_lpfc_move_xri_pbl_to_pvt(9),lpfc_move_xri_pbl_to_pvt(9),lpfc_keep_pvt_pool_above_lowwm(9),lpfc_release_io_buf(9),lpfc_get_io_buf_from_private_pool(9),lpfc_get_io_buf_from_expedite_pool(9),lpfc_get_io_buf_from_multixri_pools(9),lpfc_get_io_buf(9),lpfc_read_object(9),lpfc_get_sgl_per_hdwq(9),lpfc_put_sgl_per_hdwq(9),lpfc_free_sgl_per_hdwq(9),lpfc_get_cmd_rsp_buf_per_hdwq(9),lpfc_put_cmd_rsp_buf_per_hdwq(9),lpfc_free_cmd_rsp_buf_per_hdwq(9),lpfc_sli_prep_wqe(9)
Source/version vibes: ./drivers/scsi/lpfc Β· October 2026. That's the Kernel API Manual footer energy, bestie β bye! π«Άβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms