amdgpu_device_reset_sriov(9)
π amdgpu_device_reset_sriov β from the Kernel API Manual, bestie
Okay so real talk, this page lives in the Kernel API Manual and it's the whole amdgpu_device_reset_sriov moment. It's short, it's iconic, and it does exactly one thing. Let's get into it π
β¨ NAME β¨
amdgpu_device_reset_sriov β reset ASIC for SR-IOV vf, no cap π¦
πΈ SYNOPSIS πΈ
int amdgpu_device_reset_sriov (struct amdgpu_device *adev , struct
amdgpu_reset_context *reset_context );
That's the whole vibe, honestly. Two args, one int coming back at you π
π«Ά ARGUMENTS π«Ά
adevβ theamdgpu_devicepointer, aka your main character. It's the device you're doing all of this to πreset_contextβ theamdgpu reset contextpointer. This is the reset-context receipt that tags along so everyone knows what kind of reset we're on π
π₯ DESCRIPTION π₯
It does VF FLR and reinitialize Asic β literally that's the job, and it ate β¨
And because the return value matters, let's spell it out for the group chat: return 0 means it succeeded. Anything otherwise = failed, and you and me are gonna have a little talk about it π
Nothing else. No secret extra steps, no hidden lore. Periodt. π
Lowkey the most important thing here:0= good, not-0= not good. That's the vibe check you cannot skip, bestie π§
β SEE ALSO β
The kernel file this whole situation lives in: ./drivers/gpu/drm/amd/amdgpu/amdgpu_device.c β go read it, it's giving main character energy π
And here's the extended friend group, all of them, in the order the page serves them to us. Obsessed with how long this list is π
pcie_replay_count(9),board_info(9),uma/carveout_options(9),uma/carveout(9)- The supports crowd:
amdgpu_device_supports_px(9),amdgpu_device_supports_boco(9),amdgpu_device_supports_baco(9),amdgpu_device_supports_smart_shift(9) - Access + identity:
amdgpu_device_mm_access(9),amdgpu_device_aper_access(9),amdgpu_device_vram_access(9),amdgpu_device_get_rev_id(9) - Init-y, reset-y, register-y things:
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) - The checkers:
amdgpu_device_check_block_size(9),amdgpu_device_check_vm_size(9),amdgpu_device_check_arguments(9) - Switchy stuff + displays + fw:
amdgpu_switcheroo_set_state(9),amdgpu_switcheroo_can_switch(9),amdgpu_device_enable_virtual_display(9),amdgpu_device_parse_gpu_info_fw(9) - The whole IP lifecycle saga β¨:
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) - SR-IOV / DC / IOMMU besties:
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) - Lifecycle & power crew:
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) - Recovery, bandwidth, PCI, and the rest of the gang π:
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)
And that's the whole page, bestie!! πβ¨ Sourced straight outta ./drivers/gpu/drm/amd/amdgpu, dated October 2026 β go forth and reset that ASIC 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