lpfc_sli_enable_msix(9)
π lpfc_sli_enable_msix β a Kernel API Manual moment
okay bestie, gather round, because today we're reading a page from the Kernel API Manual and the star of the show is lpfc_sli_enable_msix(9). yes it's a real function, yes it's a whole vibe, and yes i'm gonna walk you through every single crumb of it. π
β¨ NAME β¨
lpfc_sli_enable_msix β Enable MSI-X interrupt mode on SLI-3 device</p>. that's the whole elevator pitch, she's concise, she's iconic. π
π¦ SYNOPSIS π¦
int lpfc_sli_enable_msix (struct lpfc_hba *phba );
literally one line, one function, one int return. no cap, sometimes the simplest signatures eat the hardest. π₯
πΈ ARGUMENTS πΈ
phbaβ pointer to lpfc hba data structure. that's it, that's the whole parameter list. she takes exactly one pointer tostruct lpfc_hbaand she takes it seriously. π«Ά
π DESCRIPTION π
so the tea is: this routine is invoked to enable the MSI-X interrupt vectors to a device that's rockin' the SLI-3 interface specs. that's her whole job. MSI-X, enabled, SLI-3, periodt. β¨
and the return codes? super simple, iykyk:
0β successful π- other values β error π
bestie pls note: it's not "0 or -1", it's literally "0 - successful, other values - error". so any non-zero number means something went sideways. don't @ me, that's what the page says.
π SEE ALSO π
the girlies she hangs out with π β first up, the kernel file she lives in:
Kernel file ./drivers/scsi/lpfc/lpfc_init.c
and now, the full friend group, alphabetically-adjacent and absolutely massive, no skips, no cuts, we love a complete guest list π:
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_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_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)
and that's the whole page, bestie, truly a main-character reading list. π§
source/version + date moment: this little gem lives under./drivers/scsi/lpfc, stamped October 2026, from the Kernel API Manual, and she's filed underlpfc_sli_enable_msix(9). slay, go enable some MSI-X vectors responsibly πβ¨π
π¦ 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