bnx2i_arm_c...t_coalescing(9)
π bnx2i_arm_cq_event_coalescing(9) β from the Kernel API Manual, section 9, bestie β¨
okay so picture this: you're deep in the kernel, section 9 of the Kernel API Manual, and you need a CQ armed. This is that page. Let's get into it π
β¨ NAME β¨
bnx2i_arm_cq_event_coalescing β no cap, this is the one that arms CQ so EQ notifications can actually happen π
πΈ SYNOPSIS πΈ
int bnx2i_arm_cq_event_coalescing (struct bnx2i_endpoint *ep , u8 action );
she takes two things and returns an int, periodt. π«Ά
π¦ ARGUMENTS π¦
epβ the endpoint structure, aka the transport identifier. That's your girl. π§actionβ the action, which isARMorDISARM. Lowkey for now onlyARM_CQEis used, so don't come for me about the rest π
π₯ DESCRIPTION π₯
okay so Arm'ing the CQ is literally what enables the chip to generate global EQ events, which is how it interrupts the driver. It's giving "let the hardware speak" energy. π
The EQ event gets generated when the CQ index is hit, or when at least 1 CQ is outstanding and the on-chip timer expires. Both roads lead to interrupt town, iykyk β°β¨
π SEE ALSO π
Kernel file ./drivers/scsi/bnx2i/bnx2i_hwi.c β and honestly the whole squad lives there too, so here's the full roll call (not me listing all of these, but every single one is iconic in her own way π):
bnx2i_get_cid_num(9)bnx2i_adjust_qp_size(9)bnx2i_get_link_state(9)bnx2i_iscsi_license_error(9)bnx2i_get_rq_buf(9)bnx2i_put_rq_buf(9)bnx2i_ring_sq_dbell(9)bnx2i_ring_dbell_update_sq_params(9)bnx2i_send_iscsi_login(9)bnx2i_send_iscsi_tmf(9)bnx2i_send_iscsi_text(9)bnx2i_send_iscsi_scsicmd(9)bnx2i_send_iscsi_nopout(9)bnx2i_send_iscsi_logout(9)bnx2i_update_iscsi_conn(9)bnx2i_ep_ofld_timer(9)bnx2i_send_cmd_cleanup_req(9)bnx2i_send_conn_destroy(9)bnx2i_570x_send_conn_ofld_req(9)bnx2i_5771x_send_conn_ofld_req(9)bnx2i_send_conn_ofld_req(9)setup_qp_page_tables(9)bnx2i_alloc_qp_resc(9)bnx2i_free_qp_resc(9)bnx2i_send_fw_iscsi_init_msg(9)bnx2i_process_scsi_cmd_resp(9)bnx2i_process_login_resp(9)bnx2i_process_text_resp(9)bnx2i_process_tmf_resp(9)bnx2i_process_logout_resp(9)bnx2i_process_nopin_local_cmpl(9)bnx2i_unsol_pdu_adjust_rq(9)bnx2i_process_nopin_mesg(9)bnx2i_process_async_mesg(9)bnx2i_process_reject_mesg(9)bnx2i_process_cmd_cleanup_resp(9)bnx2i_percpu_io_thread(9)bnx2i_queue_scsi_cmd_resp(9)bnx2i_process_new_cqes(9)bnx2i_fastpath_notification(9)bnx2i_process_update_conn_cmpl(9)bnx2i_recovery_que_add_conn(9)bnx2i_process_tcp_error(9)bnx2i_process_iscsi_error(9)bnx2i_process_conn_destroy_cmpl(9)bnx2i_process_ofld_cmpl(9)bnx2i_indicate_kcqe(9)bnx2i_indicate_netevent(9)bnx2i_cm_connect_cmpl(9)bnx2i_cm_close_cmpl(9)bnx2i_cm_abort_cmpl(9)bnx2i_cm_remote_close(9)bnx2i_cm_remote_abort(9)bnx2i_map_ep_dbell_regs(9)
go read the source, bestie β it's all right there in ./drivers/scsi/bnx2i π
that's the whole vibe check, mwah π this page came from ./drivers/scsi/bnx2i, dated October 2026, and it ate, no notes ππ
π¦ 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