lpfc_sli4_read_config(9)
π lpfc_sli4_read_config(9)
hii so we're in the Kernel API Manual today bestie, and the star of the show is lpfc_sli4_read_config(9) β genuinely one of those little functions that quietly runs the whole vibe check on your HBA's config. let's get into it π
β¨ NAME β¨
lpfc_sli4_read_config β Get the config parameters. that's it, that's the whole job description, icon behavior only π
πΈ SYNOPSIS πΈ
int lpfc_sli4_read_config (struct lpfc_hba *phba );
look at that signature. clean. no notes. π¦
π§ ARGUMENTS π§
phbaβ pointer tolpfc_hbadata structure. that's the hba bestie. the whole struct. hand it over and this function knows what to do with it π«Ά
π DESCRIPTION π
okay so picture this: this routine is invoked to read the configuration parameters from the HBA. not write, not guess, not manifest β read them. like it's pulling the receipts straight from the adapter π₯
and what are those parameters even for? they're used to set the base and maximum values for RPI's, XRI's, VPI's, VFI's and FCFIs. literally the whole acronym friend group. the way that these values also affect the resource allocation for the port?? main character energy for real β everything downstream is riding on these numbers. π
π RETURN CODES (inside the description, but she gets her own moment) π
0β successful β¨ (slay)-ENOMEMβ No available memory π-EIOβ The mailbox failed to complete successfully π
no cap: if you get -EIO back, that mailbox did not complete successfully. it's giving "left you on read". don't ignore it.
π SEE ALSO π
first up β the actual home turf, the Kernel file:
./drivers/scsi/lpfc/lpfc_init.c
and now the entire squad, because this function does not roll alone π β lpfc_config_port_prep(9), lpfc_config_async_cmpl(9), lpfc_dump_wakeup_param_cmpl(9), lpfc_update_vport_wwn(9), lpfc_config_port_post(9), lpfc_sli4_refresh_params(9), lpfc_hba_init_link(9), lpfc_hba_init_link_fc_topology(9), lpfc_hba_down_link(9), lpfc_hba_down_prep(9), lpfc_sli4_free_sp_events(9), lpfc_hba_free_post_buf(9), lpfc_hba_clean_txcmplq(9), lpfc_hba_down_post_s3(9), lpfc_hba_down_post_s4(9), lpfc_hba_down_post(9), lpfc_hb_timeout(9), lpfc_rrq_timeout(9), lpfc_hb_mbox_cmpl(9), lpfc_hb_mxp_handler(9), lpfc_issue_hb_mbox(9), lpfc_issue_hb_tmo(9), lpfc_hb_timeout_handler(9), lpfc_offline_eratt(9), lpfc_sli4_offline_eratt(9), lpfc_handle_deferred_eratt(9), lpfc_handle_eratt_s3(9), lpfc_sli4_port_sta_fn_reset(9), lpfc_handle_eratt_s4(9), lpfc_handle_eratt(9), lpfc_handle_latt(9), lpfc_parse_vpd(9), lpfc_get_atto_model_desc(9), lpfc_get_hba_model_desc(9), lpfc_sli3_post_buffer(9), lpfc_post_rcv_buf(9), lpfc_sha_init(9), lpfc_sha_iterate(9), lpfc_challenge_key(9), lpfc_hba_init(9), lpfc_cleanup(9), lpfc_stop_vport_timers(9), __lpfc_sli4_stop_fcf_redisc_wait_timer(9), lpfc_sli4_stop_fcf_redisc_wait_timer(9), lpfc_cmf_stop(9), lpfc_cmf_start(9), lpfc_stop_hba_timers(9), lpfc_block_mgmt_io(9), lpfc_sli4_node_rpi_restore(9), lpfc_create_expedite_pool(9), lpfc_destroy_expedite_pool(9), lpfc_create_multixri_pools(9), lpfc_destroy_multixri_pools(9), lpfc_online(9), lpfc_unblock_mgmt_io(9), lpfc_offline_prep(9), lpfc_offline(9), lpfc_scsi_free(9), lpfc_io_free(9), lpfc_sli4_els_sgl_update(9), lpfc_sli4_nvmet_sgl_update(9), lpfc_sli4_io_sgl_update(9), lpfc_new_io_buf(9), lpfc_vmid_res_alloc(9), lpfc_create_port(9), destroy_port(9), lpfc_get_instance(9), lpfc_scan_finished(9), lpfc_host_attrib_init(9), lpfc_stop_port_s3(9), lpfc_stop_port_s4(9), lpfc_stop_port(9), lpfc_fcf_redisc_wait_start_timer(9), lpfc_sli4_fcf_redisc_wait_tmo(9), lpfc_vmid_poll(9), lpfc_sli4_parse_latt_fault(9), lpfc_sli4_parse_latt_type(9), lpfc_sli_port_speed_get(9), lpfc_sli4_port_speed_parse(9), lpfc_sli4_async_link_evt(9), lpfc_async_link_speed_to_read_top(9), lpfc_cgn_update_stat(9), lpfc_cgn_update_tstamp(9), lpfc_cmf_stats_timer(9), lpfc_calc_cmf_latency(9), lpfc_cmf_timer(9), lpfc_sli4_async_fc_evt(9), lpfc_sli4_async_sli_evt(9), lpfc_sli4_perform_vport_cvl(9), lpfc_sli4_perform_all_vport_cvl(9), lpfc_sli4_async_fip_evt(9), lpfc_sli4_async_dcbx_evt(9), lpfc_sli4_async_grp5_evt(9), lpfc_sli4_async_cmstat_evt(9), lpfc_cgn_params_val(9), lpfc_cgn_params_parse(9), lpfc_sli4_cgn_params_read(9), lpfc_sli4_cgn_parm_chg_evt(9), lpfc_sli4_async_event_proc(9), lpfc_sli4_fcf_redisc_event_proc(9), lpfc_api_table_setup(9), lpfc_log_intr_mode(9), lpfc_enable_pci_dev(9), lpfc_disable_pci_dev(9), lpfc_reset_hba(9), lpfc_sli_sriov_nr_virtfn_get(9), lpfc_sli_probe_sriov_nr_virtfn(9), lpfc_setup_driver_resource_phase1(9), lpfc_sli_driver_resource_setup(9), lpfc_sli_driver_resource_unset(9), lpfc_sli4_driver_resource_setup(9), lpfc_sli4_driver_resource_unset(9), lpfc_init_api_table_setup(9), lpfc_setup_driver_resource_phase2(9), lpfc_unset_driver_resource_phase2(9), lpfc_free_iocb_list(9), lpfc_init_iocb_list(9), lpfc_free_sgl_list(9), lpfc_free_els_sgl_list(9), lpfc_free_nvmet_sgl_list(9), lpfc_init_active_sgl_array(9), lpfc_free_active_sgl(9), lpfc_init_sgl_list(9), lpfc_sli4_init_rpi_hdrs(9), lpfc_sli4_create_rpi_hdr(9), lpfc_sli4_remove_rpi_hdrs(9), lpfc_hba_alloc(9), lpfc_hba_free(9), lpfc_setup_fdmi_mask(9), lpfc_create_shost(9), lpfc_destroy_shost(9), lpfc_setup_bg(9), lpfc_post_init_setup(9), lpfc_sli_pci_mem_setup(9), lpfc_sli_pci_mem_unset(9), lpfc_sli4_post_status_check(9), lpfc_sli4_bar0_register_memmap(9), lpfc_sli4_bar1_register_memmap(9), lpfc_sli4_bar2_register_memmap(9), lpfc_create_bootstrap_mbox(9), lpfc_destroy_bootstrap_mbox(9), lpfc_map_topology(9), lpfc_setup_endian_order(9), lpfc_sli4_queue_verify(9), lpfc_sli4_queue_create(9), lpfc_sli4_queue_destroy(9), lpfc_setup_cq_lookup(9), lpfc_sli4_queue_setup(9), lpfc_sli4_queue_unset(9), lpfc_sli4_cq_event_pool_create(9), lpfc_sli4_cq_event_pool_destroy(9), __lpfc_sli4_cq_event_alloc(9), lpfc_sli4_cq_event_alloc(9), __lpfc_sli4_cq_event_release(9), lpfc_sli4_cq_event_release(9), lpfc_sli4_cq_event_release_all(9), lpfc_pci_function_reset(9), lpfc_sli4_pci_mem_setup(9), lpfc_sli4_pci_mem_unset(9), lpfc_sli_enable_msix(9), lpfc_sli_enable_msi(9), lpfc_sli_enable_intr(9), lpfc_sli_disable_intr(9), lpfc_find_cpu_handle(9), lpfc_find_hyper(9), lpfc_cpu_map_array_init(9), lpfc_hba_eq_hdl_array_init(9), lpfc_cpu_affinity_check(9), lpfc_cpuhp_get_eq(9), lpfc_irq_set_aff(9), lpfc_irq_clear_aff(9), lpfc_irq_rebalance(9), lpfc_sli4_enable_msix(9), lpfc_sli4_enable_msi(9), lpfc_sli4_enable_intr(9), lpfc_sli4_disable_intr(9), lpfc_unset_hba(9), lpfc_sli4_xri_exchange_busy_wait(9), lpfc_sli4_hba_unset(9), __lpfc_reg_congestion_buf(9), lpfc_get_sli4_parameters(9), lpfc_pci_probe_one_s3(9), lpfc_pci_remove_one_s3(9), lpfc_pci_suspend_one_s3(9), lpfc_pci_resume_one_s3(9), lpfc_sli_prep_dev_for_recover(9), lpfc_sli_prep_dev_for_reset(9), lpfc_sli_prep_dev_for_perm_failure(9), lpfc_io_error_detected_s3(9), lpfc_io_slot_reset_s3(9), lpfc_io_resume_s3(9), lpfc_sli4_get_els_iocb_cnt(9), lpfc_sli4_get_iocb_cnt(9), lpfc_write_firmware(9), lpfc_sli4_request_firmware_update(9), lpfc_pci_probe_one_s4(9), lpfc_pci_remove_one_s4(9), lpfc_pci_suspend_one_s4(9), lpfc_pci_resume_one_s4(9), lpfc_sli4_prep_dev_for_recover(9), lpfc_sli4_prep_dev_for_reset(9), lpfc_sli4_prep_dev_for_perm_failure(9), lpfc_io_error_detected_s4(9), lpfc_io_slot_reset_s4(9), lpfc_io_resume_s4(9), lpfc_pci_probe_one(9), lpfc_pci_remove_one(9), lpfc_pci_suspend_one(9), lpfc_pci_resume_one(9), lpfc_io_error_detected(9), lpfc_io_slot_reset(9), lpfc_io_resume(9), lpfc_sli4_oas_verify(9), lpfc_sli4_ras_init(9), lpfc_init(9), lpfc_exit(9) π
that's the whole page bestie, no crumbs left behind. π
sign-off time π β this beauty lives under./drivers/scsi/lpfc, and she's stamped October 2026. and yeah, she'slpfc_sli4_read_config(9)all the way down. go read your config params, you icon. πβ¨
π¦ 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