amdgpu_devi...er_bandwidth(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… amdgpu_device_partner_bandwidth(9) β€” like, the Kernel API Manual page, bestie πŸŽ€

okay so you found the amdgpu_device_partner_bandwidth(9) page in the Kernel API Manual and you're sitting there like "what does this even do" β€” don't worry, I got you, let's go ✨


🌸 NAME 🌸

amdgpu_device_partner_bandwidth</p> β€” finds the bandwidth of the appropriate partner. that's it, that's the whole vibe. it goes and finds out how much bandwidth your partner's got πŸ’«


πŸ¦‹ SYNOPSIS πŸ¦‹

void amdgpu_device_partner_bandwidth (struct amdgpu_device *adev , enum
pci_bus_speed *speed , enum pcie_link_width *width );

literally just the prototype, copied exactly, no notes 🫢


✨ ARGUMENTS ✨

  • adev β€” an amdgpu_device pointer. your main character struct, the whole reason we're here πŸ‘‘
  • speed β€” pointer to the speed of the link. we're writing the speed back out here, not reading it, so mind your pointers fr fr
  • width β€” pointer to the width of the link. same deal, it's an output, be normal about it πŸ’…

πŸ’– DESCRIPTION πŸ’–

so what it actually does: it evaluates the hierarchy to find the speed and bandwidth capabilities of the first physical partner to an AMD dGPU. like it walks up the family tree and finds the real one 🧚

and the important part β€” this will exclude any virtual switches and links. no fake friends allowed, only physical partners count πŸ’€


πŸ”₯ SEE ALSO πŸ”₯

the kernel file lives right here: ./drivers/gpu/drm/amd/amdgpu/amdgpu_device.c πŸ“

and because the kernel devs are obsessed with cross-referencing (respectfully), here's the whole squad β€” every single one, no cap:

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_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_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 entire friend group and they're all invited to the function 🌈


real talk though: speed and width are pointers, so pass valid ones. that's not me being dramatic, that's just how it is πŸ™ˆ

mwah, that's the page!! πŸ’œ this icon came straight out of ./drivers/gpu/drm/amd/amdgpu and it's dated October 2026, so go off, future kernel docs 🫢 see you in the next man 9, bestie β€” slay responsibly βœ¨πŸ’…πŸŽ€

πŸ“¦ where this page comes from