lpfc_bsg_dma_page_alloc(9)
π lpfc_bsg_dma_page_alloc(9) π
okay so bestie, welcome to the Kernel API Manual β¨ β yes, the actual manual, and today's main character is a little function that literally just hands you memory. no cap, it's a whole vibe.
πΈ NAME πΈ
lpfc_bsg_dma_page_alloc β allocate a bsg mbox page sized dma buffer π
like, that's it. that's the job. she allocates, she returns, she slays.
π¦ SYNOPSIS π¦
struct lpfc_dmabuf * lpfc_bsg_dma_page_alloc (struct lpfc_hba *phba );
copy it exactly, don't @ me about the spacing π
π ARGUMENTS π
phbaβ pointer to the HBA context object π«Ά. yes queen, you gotta give her the context. that's the whole price of admission.
β¨ DESCRIPTION β¨
okay so here's the tea β β this function allocates a BSG_MBOX_SIZE (4KB) page size dma buffer, and then it returns the pointer to the buffer. that's the entire plot. no twists, no drama, just a 4KB page of dma memory and a pointer to it π
four kilobytes. iconic size, honestly. not too big, not too small, exactly right π
π SEE ALSO π
first up, the source of truth, the mothership, the kernel file:
Kernel file ./drivers/scsi/lpfc/lpfc_bsg.c
and nowβ¦ the friend group π there are so many of them, and every single one is getting their name in the group chat. not me leaving anybody out π
lpfc_bsg_send_mgmt_cmd_cmp(9), lpfc_bsg_send_mgmt_cmd(9),
lpfc_bsg_rport_els_cmp(9), lpfc_bsg_rport_els(9),
lpfc_bsg_event_free(9), lpfc_bsg_event_ref(9), lpfc_bsg_event_unref(9),
lpfc_bsg_event_new(9), diag_cmd_data_free(9),
lpfc_bsg_ct_unsol_abort(9), lpfc_bsg_hba_set_event(9),
lpfc_bsg_hba_get_event(9), lpfc_issue_ct_rsp_cmp(9),
lpfc_issue_ct_rsp(9), lpfc_bsg_send_mgmt_rsp(9),
lpfc_bsg_diag_mode_enter(9), lpfc_bsg_diag_mode_exit(9),
lpfc_sli3_bsg_diag_loopback_mode(9),
lpfc_sli4_bsg_set_link_diag_state(9),
lpfc_sli4_bsg_set_loopback_mode(9), lpfc_sli4_diag_fcport_reg_setup(9),
lpfc_sli4_bsg_diag_loopback_mode(9), lpfc_bsg_diag_loopback_mode(9),
lpfc_sli4_bsg_diag_mode_end(9), lpfc_sli4_bsg_link_diag_test(9),
lpfcdiag_loop_self_reg(9), lpfcdiag_loop_self_unreg(9),
lpfcdiag_loop_get_xri(9), lpfc_bsg_dma_page_free(9),
lpfc_bsg_dma_page_list_free(9), diag_cmd_data_alloc(9),
lpfcdiag_sli3_loop_post_rxbufs(9), lpfc_bsg_diag_loopback_run(9),
lpfc_bsg_get_dfc_rev(9), lpfc_bsg_issue_mbox_cmpl(9),
lpfc_bsg_check_cmd_access(9), lpfc_bsg_mbox_ext_session_reset(9),
lpfc_rd_obj_emb0_handle_job(9), lpfc_bsg_issue_mbox_ext_handle_job(9),
lpfc_bsg_issue_read_mbox_ext_cmpl(9),
lpfc_bsg_issue_write_mbox_ext_cmpl(9), lpfc_bsg_sli_cfg_read_cmd_ext(9),
lpfc_bsg_sli_cfg_write_cmd_ext(9), lpfc_bsg_handle_sli_cfg_mbox(9),
lpfc_bsg_mbox_ext_abort(9), lpfc_bsg_read_ebuf_get(9),
lpfc_bsg_write_ebuf_set(9), lpfc_bsg_handle_sli_cfg_ebuf(9),
lpfc_bsg_handle_sli_cfg_ext(9), lpfc_bsg_issue_mbox(9),
lpfc_bsg_mbox_cmd(9), lpfc_check_fwlog_support(9),
lpfc_bsg_get_ras_config(9), lpfc_bsg_set_ras_config(9),
lpfc_bsg_get_ras_lwpd(9), lpfc_bsg_get_ras_fwlog(9),
lpfc_bsg_hst_vendor(9), lpfc_bsg_request(9), lpfc_bsg_timeout(9)
the way lpfc_bsg_dma_page_free(9) and lpfc_bsg_dma_page_list_free(9) are right there in the listβ¦ the allocation-to-free pipeline is real, iykyk π₯
side note bestie: this page gives you zero warnings, zero error codes, zero exit statuses β if it's not in here, don't go inventing it, ok? π
and that's the page!! mwah π stay hydrated, read your manpages, and remember: 4KB of dma memory is a lifestyle. β
from ./drivers/scsi/lpfc, dated October 2026, and this has been lpfc_bsg_dma_page_alloc(9) β periodt. ππ
π«Ά
π¦ 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