amdgpu_devi...spend_phase1(9)
π
amdgpu_device_ip_suspend_phase1 β NAME πΈ
okay so this is amdgpu_device_ip_suspend_phase1 β the Kernel API Manual's very own "run suspend for hardware IPs (phase 1)" girlie. yes that's literally her whole job and she ate π
β¨ SYNOPSIS β¨
int amdgpu_device_ip_suspend_phase1 (struct amdgpu_device *adev );
like, that's it. one function, one argument, zero drama (well, okay, a little drama, see the return value below π)
π ARGUMENTS π
adevβ anamdgpu_devicepointer. that's the whole description bestie, the manpage didn't elaborate, and honestly? iconic minimalism. it's your GPU's whole personality in one struct π«Ά
π¦ DESCRIPTION π¦
okay so picture this: this is the main suspend function for hardware IPs. like the headliner. the main character energy π
the list of all the hardware IPs that make up the asic gets walked β yes, walked, she's doing a little tour π β and during that stroll, clockgating is disabled and the suspend callbacks are run. no cap, that's the entire vibe.
what suspend actually does: it puts the hardware and the software state in each IP into a state suitable for suspend. every single IP gets tucked in for its nap π΄
and the return? it returns 0 on success, or a negative error code on failure π so if you get a negative number back, something did NOT slay and you should go look at it.
π₯ SEE ALSO π₯
first up, the kernel file itself, go read the source, it's giving lore:
./drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
and then the whole ENTIRE extended friend group, iykyk β actual full list, no gatekeeping, every single one:
pcie_replay_count(9)board_info(9)uma/carveout_options(9)uma/carveout(9)amdgpu_device_supports_px(9)amdgpu_device_supports_boco(9)amdgpu_device_supports_baco(9)amdgpu_device_supports_smart_shift(9)amdgpu_device_mm_access(9)amdgpu_device_aper_access(9)amdgpu_device_vram_access(9)amdgpu_device_get_rev_id(9)amdgpu_device_asic_init(9)amdgpu_device_mem_scratch_init(9)amdgpu_device_mem_scratch_fini(9)amdgpu_device_program_register_sequence(9)amdgpu_device_pci_config_reset(9)amdgpu_device_pci_reset(9)amdgpu_device_resize_fb_bar(9)amdgpu_device_need_post(9)amdgpu_device_should_use_aspm(9)amdgpu_device_vga_set_decode(9)amdgpu_device_check_block_size(9)amdgpu_device_check_vm_size(9)amdgpu_device_check_arguments(9)amdgpu_switcheroo_set_state(9)amdgpu_switcheroo_can_switch(9)amdgpu_device_enable_virtual_display(9)amdgpu_device_parse_gpu_info_fw(9)amdgpu_device_ip_early_init(9)amdgpu_device_ip_init(9)amdgpu_device_fill_reset_magic(9)amdgpu_device_check_vram_lost(9)amdgpu_device_set_cg_state(9)amdgpu_device_ip_late_init(9)amdgpu_device_smu_fini_early(9)amdgpu_device_ip_fini(9)amdgpu_device_delayed_init_work_handler(9)amdgpu_device_ip_suspend_phase2(9)amdgpu_device_ip_suspend(9)amdgpu_device_ip_resume_phase1(9)amdgpu_device_ip_resume_phase2(9)amdgpu_device_ip_resume_phase3(9)amdgpu_device_ip_resume(9)amdgpu_device_detect_sriov_bios(9)amdgpu_device_asic_has_dc_support(9)amdgpu_device_has_dc_support(9)amdgpu_device_check_iommu_direct_map(9)amdgpu_device_check_iommu_remap(9)amdgpu_device_init(9)amdgpu_device_fini_hw(9)amdgpu_device_evict_resources(9)amdgpu_device_pm_notifier(9)amdgpu_device_prepare(9)amdgpu_device_complete(9)amdgpu_device_suspend(9)amdgpu_device_resume(9)amdgpu_device_reset_sriov(9)amdgpu_device_has_job_running(9)amdgpu_device_should_recover_gpu(9)amdgpu_device_gpu_recover(9)amdgpu_device_partner_bandwidth(9)amdgpu_device_gpu_bandwidth(9)amdgpu_device_get_pcie_info(9)amdgpu_device_is_peer_accessible(9)amdgpu_pci_error_detected(9)amdgpu_pci_mmio_enabled(9)amdgpu_pci_slot_reset(9)amdgpu_pci_resume(9)amdgpu_device_halt(9)amdgpu_device_get_gang(9)amdgpu_device_switch_gang(9)amdgpu_device_enforce_isolation(9)
like, that's the whole group chat and they ALL showed up to the hangout ππ
lowkey a lil PSA: phase 1 is only part of the suspend pipeline β her sister amdgpu_device_ip_suspend_phase2(9) exists for a reason, so don't expect her to do everything solo π
and that's the page bestie!! π source lives over in ./drivers/gpu/drm/amd/amdgpu and this whole thing is dated October 2026 β mwah, stan, amdgpu_devi...spend_phase1(9) out π
β¨
π¦ 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