soc/amd/{common,picasso}: Move GFX device from static ASL to SSDT
This change:
1. Adds PCI device for graphics controller in ACPI SSDT tables using
acpi_device_write_pci_dev().
2. Gets rid of IGFX device from picasso acpi/northbridge.asl.
This makes it easier to ensure that we don't accidentally
make the DSDT and SSDT entries inconsistent w.r.t. ACPI name and
scope.
BUG=b:153858769
Change-Id: I3a967cdc43b74f786e645d3fb666506070851a99
Signed-off-by: Furquan Shaikh <furquan@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/40677
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Raul Rangel <rrangel@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
diff --git a/src/soc/amd/common/block/graphics/graphics.c b/src/soc/amd/common/block/graphics/graphics.c
index 880573b..a40aadd 100644
--- a/src/soc/amd/common/block/graphics/graphics.c
+++ b/src/soc/amd/common/block/graphics/graphics.c
@@ -1,9 +1,16 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
/* This file is part of the coreboot project. */
+#include <arch/acpi_device.h>
#include <device/pci.h>
#include <device/pci_ids.h>
+static void graphics_fill_ssdt(struct device *dev)
+{
+ acpi_device_write_pci_dev(dev);
+ pci_rom_ssdt(dev);
+}
+
static const char *graphics_acpi_name(const struct device *dev)
{
return "IGFX";
@@ -16,7 +23,7 @@
.init = pci_dev_init,
.ops_pci = &pci_dev_ops_pci,
.write_acpi_tables = pci_rom_write_acpi_tables,
- .acpi_fill_ssdt = pci_rom_ssdt,
+ .acpi_fill_ssdt = graphics_fill_ssdt,
.acpi_name = graphics_acpi_name,
};
diff --git a/src/soc/amd/picasso/acpi/northbridge.asl b/src/soc/amd/picasso/acpi/northbridge.asl
index c807601..6b6bd7c 100644
--- a/src/soc/amd/picasso/acpi/northbridge.asl
+++ b/src/soc/amd/picasso/acpi/northbridge.asl
@@ -32,11 +32,6 @@
Name(_ADR, 0x00000000)
} /* end AMRT */
-/* Internal Graphics */
-Device(IGFX) {
- Name(_ADR, 0x00010000)
-}
-
/* Gpp 0 */
Device(PBR4) {
Name(_ADR, 0x00020001)