lpfc_config_port(9)
πΈ NAME πΈ
lpfc_config_port β bestie, this is the one that preps a mailbox command for configuring the port π (the manual itself lives under Kernel API Manual, iykyk)
β¨ SYNOPSIS β¨
void lpfc_config_port (struct lpfc_hba *phba , LPFC_MBOXQ_t *pmb );
π ARGUMENTS π
phbaβ pointer to thelpfc_hbadata structure. yes it's the hba. it's always the hba. π«Άpmbβ pointer to the driver's internal queue element for the mailbox command. that's the lil envelope you're stuffing π¬
π¦ DESCRIPTION π¦
okay so the configure port mailbox command has ONE job and it's iconic: it identifies the Port Control Block (PCB) in the driver memory. that's it. that's the whole vibe. π
but listen β after this command is issued, the driver must not access the mailbox in the HBA without first resetting the HBA. no cap. not even a little peek. π
the HBA may copy the PCB information to internal storage for subsequent use, and the driver cannot change the PCB information unless it resets the HBA. so likeβ¦ the HBA takes a screenshot and the driver is not allowed to edit the post. π
and that's the whole point of this routine: this routine prepares the mailbox command for configuring port. literally the entire job. slay. β¨
π SEE ALSO π
Kernel file ./drivers/scsi/lpfc/lpfc_mbox.c β your first stop, and then this whole friend group right here π:
lpfc_mbox_rsrc_prep(9)lpfc_mbox_rsrc_cleanup(9)lpfc_dump_static_vport(9)lpfc_down_link(9)lpfc_dump_mem(9)lpfc_dump_wakeup_param(9)lpfc_read_nv(9)lpfc_config_async(9)lpfc_heart_beat(9)lpfc_read_topology(9)lpfc_clear_la(9)lpfc_config_link(9)lpfc_config_msi(9)lpfc_init_link(9)lpfc_read_sparam(9)lpfc_unreg_did(9)lpfc_read_config(9)lpfc_read_lnk_stat(9)lpfc_reg_rpi(9)lpfc_unreg_login(9)lpfc_sli4_unreg_all_rpis(9)lpfc_reg_vpi(9)lpfc_unreg_vpi(9)lpfc_config_pcb_setup(9)lpfc_read_rev(9)lpfc_build_hbq_profile2(9)lpfc_build_hbq_profile3(9)lpfc_build_hbq_profile5(9)lpfc_config_hbq(9)lpfc_config_ring(9)lpfc_kill_board(9)lpfc_mbox_put(9)lpfc_mbox_get(9)__lpfc_mbox_cmpl_put(9)lpfc_mbox_cmpl_put(9)lpfc_mbox_cmd_check(9)lpfc_mbox_dev_check(9)lpfc_mbox_tmo_val(9)lpfc_sli4_mbx_sge_set(9)lpfc_sli4_mbx_sge_get(9)lpfc_sli4_mbox_cmd_free(9)lpfc_sli4_config(9)lpfc_sli4_mbox_rsrc_extent(9)lpfc_sli_config_mbox_subsys_get(9)lpfc_sli_config_mbox_opcode_get(9)lpfc_sli4_mbx_read_fcf_rec(9)lpfc_request_features(9)lpfc_init_vfi(9)lpfc_reg_vfi(9)lpfc_init_vpi(9)lpfc_unreg_vfi(9)lpfc_sli4_dump_cfg_rg23(9)lpfc_reg_fcfi(9)lpfc_reg_fcfi_mrq(9)lpfc_unreg_fcfi(9)lpfc_resume_rpi(9)
ngl that's a LOT of cross-references, but you're gonna read them all because that's the kind of person you are. main character energy fr fr ππ
okay that's the whole page, ily, go configure some ports π«Άβ¨ β this one came from the source tree at ./drivers/scsi/lpfc and the version/date stamp on it is October 2026. 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