Attention is currently required from: Angel Pons, Arthur Heymans, Iru Cai, Maxim, Name of user not set #1001638, Nico Huber, Paul Menzel.
Nicholas Chin has posted comments on this change by Iru Cai. ( https://review.coreboot.org/c/coreboot/+/30890?usp=email )
Change subject: autoport: Add support for Haswell-Lynx Point platform ......................................................................
Patch Set 36:
(1 comment)
File util/autoport/haswell.go:
https://review.coreboot.org/c/coreboot/+/30890/comment/db877fc8_78bf3490?usp... : PS36, Line 132: 0x0d16, 0x0d22, 0x0d26, 0x0d36, /* Mobile 4+3, GT3e */
And I tell everyone to drop the `VGA_BIOS_ID` Kconfig because it makes no sense in 99% of the cases. […]
Spent some time reading through autoport's code to figure out what is actually happening. The only time calls to `RegisterPCI()` are actually necessary are to install special handling for certain devices through a `Scan()` method. Otherwise, all it does is explicitly map PCI IDs to `PCISlot` entries declared in the `Scan()` function of things like the host bridge (refer to `Scan()` in `sandybridge.go`) or the chipset (refer to `Scan()` in `bd82x6x.go`). Otherwise autoport states that it is an "Unsupported PCI Device", but it still is able to match the detected PCI devices to `PCISlot` entries through the bus/dev/function addresses. So I think only the host bridge, chipset, and any devices needing special handling need to be explicitly registered, and letting everything else get matched by their fixed address should be able to handle everything else.
I'll probably just add any missing IDs here for now, and then drop the VGA_BIOS_ID handling in a separate patch. I'll probably also drop the conditional inclusion of libgfxinit because I think it pretty much just works for all variants of supported architectures. The only case I can think of where it might be useful to conditionally include libgfxinit based on PCI IDs is systems that physically do not have an iGPU and where that isn't something that can be changed by a CPU swap, such as systems using the PM45 variant of GM45, which doesn't have an iGPU. But even then I don't think having a device enabled in the devicetree when it doesn't exist causes any issues in practice.