summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPatrick Rudolph <patrick.rudolph@9elements.com>2024-01-19 08:27:13 +0100
committerLean Sheng Tan <sheng.tan@9elements.com>2024-01-22 12:07:07 +0000
commitee0a2f9473de426a21cd1b0c139b0ac50ffe02ec (patch)
treec3c0c231b6c16992b673c32eee135dbec9fba3cb /src
parentd7062425d35aa76e9921fcdb9d4bb874174a4509 (diff)
downloadcoreboot-ee0a2f9473de426a21cd1b0c139b0ac50ffe02ec.tar.gz
coreboot-ee0a2f9473de426a21cd1b0c139b0ac50ffe02ec.tar.bz2
coreboot-ee0a2f9473de426a21cd1b0c139b0ac50ffe02ec.zip
soc/intel/xeon_sp: Fix devicetree walking up
Connect the PCI domain to the bus to allow walking the devicetree up. This is required to figure out which PCI domain a device belongs to. Change-Id: I8cc50cabf7ad540c52498e1ffe7f9246550ed87b Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/80089 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-by: Nico Huber <nico.h@gmx.de> Reviewed-by: Shuo Liu <shuo.liu@intel.com>
Diffstat (limited to 'src')
-rw-r--r--src/soc/intel/xeon_sp/chip_common.c1
-rw-r--r--src/soc/intel/xeon_sp/spr/ioat.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/src/soc/intel/xeon_sp/chip_common.c b/src/soc/intel/xeon_sp/chip_common.c
index c1b331bc6663..0411a0326c22 100644
--- a/src/soc/intel/xeon_sp/chip_common.c
+++ b/src/soc/intel/xeon_sp/chip_common.c
@@ -77,6 +77,7 @@ void iio_pci_domain_scan_bus(struct device *dev)
}
struct bus *bus = dev->link_list;
+ bus->dev = dev;
bus->secondary = sr->BusBase;
bus->subordinate = sr->BusBase;
bus->max_subordinate = sr->BusLimit;
diff --git a/src/soc/intel/xeon_sp/spr/ioat.c b/src/soc/intel/xeon_sp/spr/ioat.c
index f10863a60768..38bbd93199bf 100644
--- a/src/soc/intel/xeon_sp/spr/ioat.c
+++ b/src/soc/intel/xeon_sp/spr/ioat.c
@@ -45,6 +45,7 @@ static void create_ioat_domain(struct bus *const upstream, const unsigned int do
die("%s: out of memory.\n", __func__);
struct bus *const bus = domain->link_list;
+ bus->dev = domain;
bus->secondary = bus_base;
bus->subordinate = bus->secondary;
bus->max_subordinate = bus_limit;