Attention is currently required from: Jason Glenesk, Raul Rangel, Matt DeVillier, Fred Reitberger, Felix Held.
Arthur Heymans has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/68141 )
Change subject: soc/amd/mendocino: Use devicetree ops over pci driver ......................................................................
soc/amd/mendocino: Use devicetree ops over pci driver
Picasso is a SoC so it makes sense to statically use ops instead of matching them to PCI DID/VID at runtime.
Change-Id: I5619c8ad42cdeb019cb7294da884909df64a2211 Signed-off-by: Arthur Heymans arthur@aheymans.xyz --- M src/soc/amd/mendocino/chipset_mendocino.cb M src/soc/amd/mendocino/chipset_rembrandt.cb M src/soc/amd/mendocino/data_fabric.c M src/soc/amd/mendocino/root_complex.c 4 files changed, 33 insertions(+), 46 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/41/68141/1
diff --git a/src/soc/amd/mendocino/chipset_mendocino.cb b/src/soc/amd/mendocino/chipset_mendocino.cb index 3f0d2f2..06c5db2 100644 --- a/src/soc/amd/mendocino/chipset_mendocino.cb +++ b/src/soc/amd/mendocino/chipset_mendocino.cb @@ -4,7 +4,7 @@ end device domain 0 on ops mendocino_pci_domain_ops - device pci 00.0 alias gnb on end + device pci 00.0 alias gnb on mendocino_root_complex_operations end device pci 00.2 alias iommu off end
device pci 01.0 on end # Dummy Host Bridge @@ -72,14 +72,14 @@ device pci 14.0 alias smbus on ops amd_smbus_ops end # primary FCH function device pci 14.3 alias lpc_bridge on end
- device pci 18.0 alias data_fabric_0 on end - device pci 18.1 alias data_fabric_1 on end - device pci 18.2 alias data_fabric_2 on end - device pci 18.3 alias data_fabric_3 on end - device pci 18.4 alias data_fabric_4 on end - device pci 18.5 alias data_fabric_5 on end - device pci 18.6 alias data_fabric_6 on end - device pci 18.7 alias data_fabric_7 on end + device pci 18.0 alias data_fabric_0 on ops mendocino_data_fabric_ops end + device pci 18.1 alias data_fabric_1 on ops mendocino_data_fabric_ops end + device pci 18.2 alias data_fabric_2 on ops mendocino_data_fabric_ops end + device pci 18.3 alias data_fabric_3 on ops mendocino_data_fabric_ops end + device pci 18.4 alias data_fabric_4 on ops mendocino_data_fabric_ops end + device pci 18.5 alias data_fabric_5 on ops mendocino_data_fabric_ops end + device pci 18.6 alias data_fabric_6 on ops mendocino_data_fabric_ops end + device pci 18.7 alias data_fabric_7 on ops mendocino_data_fabric_ops end end
device mmio 0xfedc2000 alias i2c_0 off ops soc_amd_i2c_mmio_ops end diff --git a/src/soc/amd/mendocino/chipset_rembrandt.cb b/src/soc/amd/mendocino/chipset_rembrandt.cb index 31499b8..441db75 100644 --- a/src/soc/amd/mendocino/chipset_rembrandt.cb +++ b/src/soc/amd/mendocino/chipset_rembrandt.cb @@ -4,7 +4,7 @@ end device domain 0 on ops mendocino_pci_domain_ops - device pci 00.0 alias gnb on end + device pci 00.0 alias gnb on ops mendocino_root_complex_operations end device pci 00.2 alias iommu off end
device pci 01.0 on end # Dummy Host Bridge @@ -72,14 +72,14 @@ device pci 14.0 alias smbus on ops amd_smbus_ops end # primary FCH function device pci 14.3 alias lpc_bridge on end
- device pci 18.0 alias data_fabric_0 on end - device pci 18.1 alias data_fabric_1 on end - device pci 18.2 alias data_fabric_2 on end - device pci 18.3 alias data_fabric_3 on end - device pci 18.4 alias data_fabric_4 on end - device pci 18.5 alias data_fabric_5 on end - device pci 18.6 alias data_fabric_6 on end - device pci 18.7 alias data_fabric_7 on end + device pci 18.0 alias data_fabric_0 on ops mendocino_data_fabric_ops end + device pci 18.1 alias data_fabric_1 on ops mendocino_data_fabric_ops end + device pci 18.2 alias data_fabric_2 on ops mendocino_data_fabric_ops end + device pci 18.3 alias data_fabric_3 on ops mendocino_data_fabric_ops end + device pci 18.4 alias data_fabric_4 on ops mendocino_data_fabric_ops end + device pci 18.5 alias data_fabric_5 on ops mendocino_data_fabric_ops end + device pci 18.6 alias data_fabric_6 on ops mendocino_data_fabric_ops end + device pci 18.7 alias data_fabric_7 on ops mendocino_data_fabric_ops end end
device mmio 0xfedc2000 alias i2c_0 off ops soc_amd_i2c_mmio_ops end diff --git a/src/soc/amd/mendocino/data_fabric.c b/src/soc/amd/mendocino/data_fabric.c index 0a39959..4195ac0 100644 --- a/src/soc/amd/mendocino/data_fabric.c +++ b/src/soc/amd/mendocino/data_fabric.c @@ -9,7 +9,6 @@ #include <cpu/x86/lapic_def.h> #include <device/device.h> #include <device/pci.h> -#include <device/pci_ids.h> #include <soc/data_fabric.h> #include <soc/iomap.h> #include <types.h> @@ -127,27 +126,9 @@ return NULL; }
-static struct device_operations data_fabric_ops = { +struct device_operations mendocino_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, }; - -static const unsigned short pci_device_ids[] = { - PCI_DID_AMD_FAM17H_MODELA0H_DF0, - PCI_DID_AMD_FAM17H_MODELA0H_DF1, - PCI_DID_AMD_FAM17H_MODELA0H_DF2, - PCI_DID_AMD_FAM17H_MODELA0H_DF3, - PCI_DID_AMD_FAM17H_MODELA0H_DF4, - PCI_DID_AMD_FAM17H_MODELA0H_DF5, - PCI_DID_AMD_FAM17H_MODELA0H_DF6, - PCI_DID_AMD_FAM17H_MODELA0H_DF7, - 0 -}; - -static const struct pci_driver data_fabric_driver __pci_driver = { - .ops = &data_fabric_ops, - .vendor = PCI_VID_AMD, - .devices = pci_device_ids, -}; diff --git a/src/soc/amd/mendocino/root_complex.c b/src/soc/amd/mendocino/root_complex.c index 7f54bde..6768613 100644 --- a/src/soc/amd/mendocino/root_complex.c +++ b/src/soc/amd/mendocino/root_complex.c @@ -13,7 +13,6 @@ #include <cpu/amd/msr.h> #include <device/device.h> #include <device/pci.h> -#include <device/pci_ids.h> #include <fsp/util.h> #include <soc/iomap.h> #include <stdint.h> @@ -236,7 +235,7 @@ return "GNB"; }
-static struct device_operations root_complex_operations = { +struct device_operations mendocino_root_complex_operations = { .read_resources = read_resources, .set_resources = noop_set_resources, .enable_resources = pci_dev_enable_resources, @@ -244,9 +243,3 @@ .acpi_name = gnb_acpi_name, .acpi_fill_ssdt = root_complex_fill_ssdt, }; - -static const struct pci_driver family17_root_complex __pci_driver = { - .ops = &root_complex_operations, - .vendor = PCI_VID_AMD, - .device = PCI_DID_AMD_17H_MODEL_A0AF_NB, -};