Felix Held has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/85587?usp=email )
Change subject: device/pci_rom: add VFCT table for all AMD display devices ......................................................................
device/pci_rom: add VFCT table for all AMD display devices
Previously pci_rom_write_acpi_tables added a VFCT ACPI table for all AMD GPU PCI devices that have the PCI_CLASS_DISPLAY_VGA subclass. The iGPU PCI device in the AMD Glinda SoC however doesn't support the VGA compatibility mode any more and uses the PCI_CLASS_DISPLAY_OTHER subclass instead. So instead check if the PCI device uses the PCI_BASE_CLASS_DISPLAY class which covers both PCI_CLASS_DISPLAY_VGA and PCI_CLASS_DISPLAY_OTHER subclasses. Since the VFCT is only generated for PCI devices with the PCI_VID_ATI vendor ID, this doesn't affect any non-AMD PCI display output devices aka GPUs.
There are additional changes around the ROM loading mechanism required to make the iGPU on AMD Glinda work, which will be done in follow-up commits.
Change-Id: I1f3c7b899df772fd5b937f9bfd70f70412c4b8db Signed-off-by: Felix Held felix-coreboot@felixheld.de --- M src/device/pci_rom.c 1 file changed, 2 insertions(+), 3 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/87/85587/1
diff --git a/src/device/pci_rom.c b/src/device/pci_rom.c index d60720e..7d6e584 100644 --- a/src/device/pci_rom.c +++ b/src/device/pci_rom.c @@ -259,9 +259,8 @@ pci_rom_write_acpi_tables(const struct device *device, unsigned long current, struct acpi_rsdp *rsdp) { - /* Only handle VGA devices */ - if ((device->class >> 8) != PCI_CLASS_DISPLAY_VGA) - return current; + /* Only handle display devices */ + if ((device->class >> 16) != PCI_BASE_CLASS_DISPLAY)
/* Only handle enabled devices */ if (!device->enabled)