From 1a9ac347212f2fd0bbd80a3449ef486e3d643b64 Mon Sep 17 00:00:00 2001 From: Fred Reitberger Date: Thu, 3 Nov 2022 15:19:51 -0400 Subject: soc/amd/common/data_fabric: Make common device ops Add the generic data_fabric_acpi_name function and device ops to common code. Signed-off-by: Fred Reitberger Change-Id: I12053389a12081ddd81912a647bb532b31062093 Reviewed-on: https://review.coreboot.org/c/coreboot/+/69173 Tested-by: build bot (Jenkins) Reviewed-by: Felix Held --- .../common/block/data_fabric/data_fabric_helper.c | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'src') diff --git a/src/soc/amd/common/block/data_fabric/data_fabric_helper.c b/src/soc/amd/common/block/data_fabric/data_fabric_helper.c index 181c71e57fe4..412daaee6436 100644 --- a/src/soc/amd/common/block/data_fabric/data_fabric_helper.c +++ b/src/soc/amd/common/block/data_fabric/data_fabric_helper.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0-only */ +#include #include #include #include @@ -169,3 +170,31 @@ void data_fabric_set_mmio_np(void) data_fabric_print_mmio_conf(); } + +static const char *data_fabric_acpi_name(const struct device *dev) +{ + const char *df_acpi_names[8] = { + "DFD0", + "DFD1", + "DFD2", + "DFD3", + "DFD4", + "DFD5", + "DFD6", + "DFD7" + }; + + if (dev->path.type == DEVICE_PATH_PCI && + PCI_SLOT(dev->path.pci.devfn) == DF_DEV) + return df_acpi_names[PCI_FUNC(dev->path.pci.devfn)]; + + printk(BIOS_ERR, "%s: Unhandled device id 0x%x\n", __func__, dev->device); + return NULL; +} + +struct device_operations amd_data_fabric_ops = { + .read_resources = noop_read_resources, + .set_resources = noop_set_resources, + .acpi_name = data_fabric_acpi_name, + .acpi_fill_ssdt = acpi_device_write_pci_dev, +}; -- cgit v1.2.3