lpfc_pci_resume_one_s3(9)
π lpfc_pci_resume_one_s3 π
okay so this is the Kernel API Manual page for lpfc_pci_resume_one_s3, and it's all about a PCI function that resumes an SLI-3 device for power management. Bestie, it's giving kernel-level resume energy, and we're keeping every detail. π
β¨ NAME β¨
lpfc_pci_resume_one_s3 β PCI func to resume SLI-3 device for power mgmnt.
πΈ SYNOPSIS πΈ
int lpfc_pci_resume_one_s3 (struct device *dev_d );
π ARGUMENTS π
dev_dβ pointer to device.
π DESCRIPTION π
okay so this routine is the one to be called from the kernel's PCI subsystem to support system Power Management (PM) to a device with the SLI-3 interface spec. When PM invokes this method, it restores the device's PCI config space state and fully reinitializes the device and brings it online. That's the whole arc: config space restored, device reinitialized, online era. β¨
Real talk: the driver implements the minimum PM requirements to a power-aware driver's PM for suspend/resume. That means all the possible PM messages βSUSPEND,HIBERNATE,FREEZEβ sent to the suspend method call will be treated asSUSPEND, and the driver will fully reinitialize its device during the resume method call. The device will be set toPCI_D0directly in PCI config space before restoring the state. Not me being obsessed withPCI_D0, but it's literally in the order of operations. π«Ά
Return code 0 β driver suspended the device; Error otherwise.
π¦ SEE ALSO π¦
Kernel file ./drivers/scsi/lpfc/lpfc_init.c:
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_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_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 tea β β source ./drivers/scsi/lpfc, the lpfc_pci_resume_one_s3(9) page, dated October 2026. bye bestie, go resume 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