lpfc_cgn_params_parse(9)
β¨ NAME β¨
okay so weβre in the Kernel API Manual, and this little icon is lpfc_cgn_params_parse(9). Its whole name vibe is lpfc_cgn_params_parse β Process a FW cong parm change event. Thatβs the tea, bestie. π«π
πΈ SYNOPSIS πΈ
void lpfc_cgn_params_parse (struct lpfc_hba *phba , struct lpfc_cgn_param *p_cgn_param , uint32_t len );
π ARGUMENTS π
phbaβ pointer to lpfc hba data structure. The main-character hba struct, slay.p_cgn_paramβ pointer to a data buffer with the FW cong params. Itβs giving βthe firmware handed me a little buffer.βlenβ the size of pdata in bytes. Yes, it sayspdata, notp_cgn_paramβ iykyk. π
π DESCRIPTION π
okay so this routine does the full validation arc. First it validates the congestion management buffer signature from the FW, then it validates the contents and makes corrections for valid, in-range values. Very βvibe check, then fix your edges,β no cap. β¨
If the signature magic is correct and after parameter validation, the contents are copied to the driverβs phba structure. If the magic is incorrect, an error message is logged. π¨ So like β magic correct? Copy time, slay. Magic wrong? Error message, bestie, and thatβs the whole story.
π¦ SEE ALSO π¦
bestie, the whole friend group is listed here. The Kernel file is ./drivers/scsi/lpfc/lpfc_init.c, and the SEE ALSO crew is:
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_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_sli4_read_config(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)
π source/version tea: ./drivers/scsi/lpfc, October 2026, page lpfc_cgn_params_parse(9) β bye bestie! π«Ά
π¦ 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