lpfc_sli4_write_cq_db(9)
π lpfc_sli4_write_cq_db β from the Kernel API Manual β¨
okay so bestie, welcome to the Kernel API Manual, and today's main character is lpfc_sli4_write_cq_db(9) π no cap, this one is short but she MATTERS.
β¨ NAME β¨
lpfc_sli4_write_cq_db β write cq DB for entries consumed or arm state. π«
π¦ SYNOPSIS π¦
void lpfc_sli4_write_cq_db (struct lpfc_hba *phba , struct lpfc_queue *q
, uint32_t count , bool arm );
like, that's the whole signature, she's not complicated π
πΈ ARGUMENTS πΈ
phbaβ the adapter with the CQ. that's your hardware babe, she's holding the queue π«Άqβ The Completion Queue that the host has completed processing for. yes queen, you got through all of these already πcountβ the number of elements that were consumed. literally just how many you ate πarmβ Indicates whether the host wants to arms this CQ. so, like, do you want to re-arm it or not, your call bestie β
π DESCRIPTION π
so what does she actually DO π This routine will notify the HBA, by ringing the doorbell π, that the CQEs have been processed. that's the whole vibe β "hey, I'm done with these, come get them."
and the arm parameter specifies whether the queue should be rearmed when ringing the doorbell. so you can ring it and re-arm in one single iconic move β¨ periodt.
π SEE ALSO π
bestie. sit down. this list is LONG and we are getting through ALL of it, no skipping, iykyk π
Kernel file ./drivers/scsi/lpfc/lpfc_sli.c plus every single one of these queens:
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_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_issue_iocb_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)
okay that was a LOT and you ate every single one ππ proud of you fr fr.
π§ and that's the whole page bestie β go ring that doorbell responsibly π
mwah π this cutie lives in ./drivers/scsi/lpfc and she was last seen serving looks in October 2026 β catch you in the next manpage, love u ππβ¨
π¦ 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