lpfc_sli4_enable_intr(9)
π lpfc_sli4_enable_intr(9) π
okay so this is straight out of the Kernel API Manual and we are THRIVING β¨
πΈ NAME πΈ
lpfc_sli4_enable_intr β enable device interrupt to SLI-4 device π
π SYNOPSIS π
uint32_t lpfc_sli4_enable_intr (struct lpfc_hba *phba , uint32_t
cfg_mode );
π¦ ARGUMENTS π¦
phbaβ pointer to lpfc hba data structure. that's the guy you're turning the interrupts on for, iykyk π«Άcfg_modeβ Interrupt configuration mode (INTx,MSIorMSI-X). the vibe you're asking for, but see below bestie π
π₯ DESCRIPTION π₯
okay so this routine is invoked to enable device interrupt and associate driver's interrupt handler(s) to interrupt vector(s) to device with SLI-4 interface spec. literally that's the whole job π
now here's the part you actually need to remember: it depends on the interrupt mode configured to the driver, and the driver will try to fallback from the configured interrupt mode to an interrupt mode which is supported by the platform, kernel, and device β in this exact order:
MSI-X -> MSI -> IRQ
so like, you ask for MSI-X, the platform says "bestie no", and it slides down the ladder. main character energy, honestly. π
π Return codes β Interrupt mode (2,1,0) means successful, andLPFC_INTR_ERRORmeans error. that's it, that's the whole vibe check.
π SEE ALSO π
Kernel file ./drivers/scsi/lpfc/lpfc_init.c β and now, the friend group. no cap, this is a long list, so buckle up π
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_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_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 π this gem lives in ./drivers/scsi/lpfc, stamped October 2026 β go forth and enable those interrupts, you absolute 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