lpfc_pci_suspend_one_s3(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… lpfc_pci_suspend_one_s3(9) πŸ’…

okay bestie, welcome to the Kernel API Manual page for lpfc_pci_suspend_one_s3(9). this is the SLI-3 suspend-for-power-mgmnt situation, and we're keeping every detail. no cap. ✨


🌸 NAME 🌸

lpfc_pci_suspend_one_s3 β€” PCI func to suspend SLI-3 device for power mgmnt.

✨ SYNOPSIS ✨

int lpfc_pci_suspend_one_s3 (struct device *dev_d );

πŸŽ€ ARGUMENTS πŸŽ€

  • dev_d β€” pointer to device. that's the whole argument, bestie. 🫢

πŸ’… DESCRIPTION πŸ’…

okay so this routine is to be called from the kernel's PCI subsystem to support system Power Management (PM) to device with SLI-3 interface spec. when PM invokes this method, it quiesces the device by:

  • stopping the driver's worker thread for the device,
  • turning off device's interrupt and DMA,
  • and bring the device offline.
πŸ’€ note that as the driver implements the minimum PM requirements to a power-aware driver's PM support for the suspend/resume -- all the possible PM messages (SUSPEND, HIBERNATE, FREEZE) to the suspend method call will be treated as SUSPEND, and the driver will fully reinitialize its device during resume method call. the driver will set device to PCI_D3hot state in PCI config space instead of setting it according to the msg provided by the PM. periodt.

Return code 0 β€” driver suspended the device. Error otherwise. 😭

πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./drivers/scsi/lpfc/lpfc_init.c plus this absolute squad of function pages, all here, none skipped:

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_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)

mwah πŸ’‹ β€” source/version ./drivers/scsi/lpfc, date October 2026, and lpfc_pci_suspend_one_s3(9) is signing off. slay. πŸŽ€βœ¨

πŸ“¦ where this page comes from