amdgpu_acpi_vfct_match(9)
π 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 π
- Kernel file
./drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c amdgpu_atrm_call(9)
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
- 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