diff options
author | Fred Reitberger <reitbergerfred@gmail.com> | 2022-11-03 15:19:51 -0400 |
---|---|---|
committer | Fred Reitberger <reitbergerfred@gmail.com> | 2022-11-04 20:38:55 +0000 |
commit | 1a9ac347212f2fd0bbd80a3449ef486e3d643b64 (patch) | |
tree | e9836abdf406039f09b857588291f106898d2dc1 /src/soc/amd/common/block | |
parent | 63c5a0d5160ad9cb75da99f9521591f5d376e314 (diff) |
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 <reitbergerfred@gmail.com>
Change-Id: I12053389a12081ddd81912a647bb532b31062093
Reviewed-on: https://review.coreboot.org/c/coreboot/+/69173
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
Diffstat (limited to 'src/soc/amd/common/block')
-rw-r--r-- | src/soc/amd/common/block/data_fabric/data_fabric_helper.c | 29 |
1 files changed, 29 insertions, 0 deletions
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 181c71e57f..412daaee64 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 <acpi/acpi_device.h> #include <amdblocks/data_fabric.h> #include <amdblocks/pci_devs.h> #include <arch/hpet.h> @@ -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, +}; |