soc/amd/genoa/domain: generate SSDT entries for domains
Signed-off-by: Felix Held <felix-coreboot@felixheld.de>
Change-Id: Iadc37f2724a9be43cad1f1934403ebabd5cca245
Reviewed-on: https://review.coreboot.org/c/coreboot/+/79469
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin L Roth <gaumless@gmail.com>
diff --git a/src/soc/amd/genoa/domain.c b/src/soc/amd/genoa/domain.c
index 1a6115f..8ed95ab 100644
--- a/src/soc/amd/genoa/domain.c
+++ b/src/soc/amd/genoa/domain.c
@@ -57,9 +57,26 @@
register_new_ioapic((void *)(uintptr_t)res->base);
}
+static const char *genoa_domain_acpi_name(const struct device *domain)
+{
+ const char *domain_acpi_names[4] = {
+ "S0B0",
+ "S0B1",
+ "S0B2",
+ "S0B3",
+ };
+
+ if (domain->path.domain.domain < ARRAY_SIZE(domain_acpi_names))
+ return domain_acpi_names[domain->path.domain.domain];
+
+ return NULL;
+}
+
struct device_operations genoa_pci_domain_ops = {
.read_resources = genoa_domain_read_resources,
.set_resources = genoa_domain_set_resources,
.scan_bus = amd_pci_domain_scan_bus,
.init = genoa_domain_init,
+ .acpi_name = genoa_domain_acpi_name,
+ .acpi_fill_ssdt = amd_pci_domain_fill_ssdt,
};