amdgpu_switcheroo_set_state(9)
π amdgpu_switcheroo_set_state β Kernel API Manual energy β¨
okay so bestie, welcome to the Kernel API Manual entry for amdgpu_switcheroo_set_state(9) β yes the section 9 is doing numbers, she's a kernel function, not one of your little userland commands π
β¨ NAME β¨
amdgpu_switcheroo_set_state β sets the switcheroo state π¦
Like, that's literally her whole job description and she's not sorry about it.
πΈ SYNOPSIS πΈ
void amdgpu_switcheroo_set_state (struct pci_dev *pdev , enum
vga_switcheroo_state state );
No cap, that's the whole signature. She returns void and takes two things. Periodt.
π ARGUMENTS π
pdevβ the pci dev pointer, aka the little handle that says which device we're talking about π«Άstateβ thevga_switcheroostate, i.e. the vibe we're setting it to β¨
π DESCRIPTION π
She's the callback for the switcheroo driver β iconic behavior honestly π
What she does: she suspends or resumes the asics before or after the thing gets powered up using ACPI methods. The way that she's just sitting there, being a callback, waiting for switcheroo to call her upβ¦ main character energy fr fr π₯
So yeah: before/after power-up via ACPI β she handles the suspend/resume of the asics. That's it. That's the whole gig. Lowkey elegant, highkey essential π
π SEE ALSO π
First up, the source file, because obviously:
Kernel file ./drivers/gpu/drm/amd/amdgpu/amdgpu_device.c π¦
And now the full squad β every single one of these, in order, no skipping, we don't do that here:
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_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_phase1(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)
Seventy-three besties. Count them. I did. π§
ngl if you came here looking for the otheramdgpu_switcheroo_*function,amdgpu_switcheroo_can_switch(9)is right up there in the list β she's the one who gets to say yes or no π
π sign-off π
that's the page!! source dir lives at ./drivers/gpu/drm/amd/amdgpu, and the version stamp is dated October 2026 β so yeah, future-coded of her honestly β go forth and switcheroo, bestie, you ate πππ«Ά
π¦ 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