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>
This commit is contained in:
Fred Reitberger 2022-11-03 15:19:51 -04:00
parent 63c5a0d516
commit 1a9ac34721
1 changed files with 29 additions and 0 deletions

View File

@ -1,5 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0-only */ /* SPDX-License-Identifier: GPL-2.0-only */
#include <acpi/acpi_device.h>
#include <amdblocks/data_fabric.h> #include <amdblocks/data_fabric.h>
#include <amdblocks/pci_devs.h> #include <amdblocks/pci_devs.h>
#include <arch/hpet.h> #include <arch/hpet.h>
@ -169,3 +170,31 @@ void data_fabric_set_mmio_np(void)
data_fabric_print_mmio_conf(); 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,
};