summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/soc/amd/common/block/data_fabric/domain.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/soc/amd/common/block/data_fabric/domain.c b/src/soc/amd/common/block/data_fabric/domain.c
index 7328fc62da..88b116063b 100644
--- a/src/soc/amd/common/block/data_fabric/domain.c
+++ b/src/soc/amd/common/block/data_fabric/domain.c
@@ -25,13 +25,10 @@ void amd_pci_domain_scan_bus(struct device *domain)
domain->link_list->secondary = bus;
/* subordinate needs to be the same as secondary before pci_domain_scan_bus call. */
domain->link_list->subordinate = bus;
+ /* Tell allocator about maximum PCI bus number in domain */
+ domain->link_list->max_subordinate = limit;
pci_domain_scan_bus(domain);
-
- /* pci_domain_scan_bus will modify subordinate, so change it back to the maximum
- bus number decoded to this PCI root for the acpigen_resource_producer_bus_number
- call to write the correct ACPI code. */
- domain->link_list->subordinate = limit;
}
/* Read the registers and return normalized values */
@@ -246,9 +243,9 @@ void amd_pci_domain_fill_ssdt(const struct device *domain)
/* PCI bus number range in domain */
printk(BIOS_DEBUG, "%s _CRS: adding busses [%x-%x]\n", acpi_device_name(domain),
- domain->link_list->secondary, domain->link_list->subordinate);
+ domain->link_list->secondary, domain->link_list->max_subordinate);
acpigen_resource_producer_bus_number(domain->link_list->secondary,
- domain->link_list->subordinate);
+ domain->link_list->max_subordinate);
if (domain->link_list->secondary == 0) {
/* ACPI 6.4.2.5 I/O Port Descriptor */