diff options
-rw-r--r-- | src/northbridge/amd/agesa/family15/northbridge.c | 9 | ||||
-rw-r--r-- | src/northbridge/amd/agesa/family15/northbridge.h | 1 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/northbridge/amd/agesa/family15/northbridge.c b/src/northbridge/amd/agesa/family15/northbridge.c index f297fc0a8c..12a211f697 100644 --- a/src/northbridge/amd/agesa/family15/northbridge.c +++ b/src/northbridge/amd/agesa/family15/northbridge.c @@ -846,7 +846,7 @@ static struct device_operations pci_domain_ops = { .set_resources = domain_set_resources, .enable_resources = domain_enable_resources, .init = NULL, - .scan_bus = pci_domain_scan_bus, + .scan_bus = f15_pci_domain_scan_bus, #if CONFIG_MMCONF_SUPPORT_DEFAULT .ops_pci_bus = &pci_ops_mmconf, @@ -1143,3 +1143,10 @@ struct chip_operations northbridge_amd_agesa_family15_root_complex_ops = { CHIP_NAME("AMD FAM15 Root Complex") .enable_dev = root_complex_enable_dev, }; + +/* all family15's pci devices are under 0x18.0, so we search from dev 0x18 fun 0 */ +static unsigned int f15_pci_domain_scan_bus(device_t dev, unsigned int max) +{ + max = pci_scan_bus(dev->link_list, PCI_DEVFN(0x18, 0), 0xff, max); + return max; +} diff --git a/src/northbridge/amd/agesa/family15/northbridge.h b/src/northbridge/amd/agesa/family15/northbridge.h index 7606b32892..cd9f83c048 100644 --- a/src/northbridge/amd/agesa/family15/northbridge.h +++ b/src/northbridge/amd/agesa/family15/northbridge.h @@ -22,5 +22,6 @@ static struct device_operations pci_domain_ops; static struct device_operations cpu_bus_ops; +static unsigned int f15_pci_domain_scan_bus(device_t dev, unsigned int max); #endif /* NORTHBRIDGE_AMD_AGESA_FAM15_H */ |