amdgpu_acpi_vfct_match(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– amdgpu_acpi_vfct_match πŸ’–

okay so bestie, welcome to amdgpu_acpi_vfct_match(9) from the Kernel API Manual β€” yes, that's the whole title, we're not skipping the intro, it's giving "full government name" energy ✨


🌸 NAME 🌸

amdgpu_acpi_vfct_match β€” check if a VFCT entry matches the device πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

int amdgpu_acpi_vfct_match (struct amdgpu_device *adev ,
VFCT_IMAGE_HEADER *vhdr );

πŸ’… ARGUMENTS πŸ’…

  • adev β€” the AMDGPU device, our main character 🫢
  • vhdr β€” the VFCT image header we're checking, like the vibe check but for headers πŸ’€

✨ DESCRIPTION ✨

ok so here's the tea β˜• β€” VFCT entries contain the PCI bus number as recorded during BIOS POST. literally baked in at POST time, no cap.

but here's the plot twist 😭 on systems where the kernel renumbers PCI buses β€” think pci=realloc or resource conflicts β€” the runtime bus number may differ from the POST value. so the number you thought you knew? not the same number anymore. iconic of the kernel honestly πŸ™ˆ

so instead of just trusting the bus number, this function matches by device identity (vendor + device + function) and uses the bus number as a preference:

  • exact bus match? preferred, slay πŸ’–
  • bus numbers disagree? still accept the entry if the device identity matches πŸ‘‘

like, identity stays the same even when the bus number switches up its whole look. periodt.


πŸ”₯ RETURN πŸ”₯

  • 0 β€” on match πŸŽ‰
  • -ENODEV β€” on no match πŸ’€

🌈 SEE ALSO 🌈


ok that's the whole page, go be amazing with your VFCT matching bestie πŸ‘‘πŸ’œ

and for the cute lil sign-off: this whole thing lives in ./drivers/gpu/drm/amd/amdgpu, dated October 2026 β€” mark your calendars, the future is now 🧚✨🌸

πŸ“¦ where this page comes from