diff options
Diffstat (limited to 'src/cpu/amd/family_10h-family_15h/model_10xxx_init.c')
-rw-r--r-- | src/cpu/amd/family_10h-family_15h/model_10xxx_init.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/cpu/amd/family_10h-family_15h/model_10xxx_init.c b/src/cpu/amd/family_10h-family_15h/model_10xxx_init.c index 4009ba19de..abf02a3690 100644 --- a/src/cpu/amd/family_10h-family_15h/model_10xxx_init.c +++ b/src/cpu/amd/family_10h-family_15h/model_10xxx_init.c @@ -142,7 +142,8 @@ static void model_10xxx_init(struct device *dev) uint32_t f5x80; uint8_t enabled; uint8_t compute_unit_count = 0; - f5x80 = pci_read_config32(dev_find_slot(0, PCI_DEVFN(0x18 + id.nodeid, 5)), 0x80); + f5x80 = pci_read_config32(pcidev_on_root(0x18 + id.nodeid, 5), + 0x80); enabled = f5x80 & 0xf; if (enabled == 0x1) compute_unit_count = 1; @@ -161,11 +162,13 @@ static void model_10xxx_init(struct device *dev) uint32_t f0x160; uint8_t core_count = 0; uint8_t node_count = 0; - f0x60 = pci_read_config32(dev_find_slot(0, PCI_DEVFN(0x18 + id.nodeid, 0)), 0x60); + f0x60 = pci_read_config32(pcidev_on_root(0x18 + id.nodeid, 0), + 0x60); core_count = (f0x60 >> 16) & 0x1f; node_count = ((f0x60 >> 4) & 0x7) + 1; if (is_gt_rev_d()) { - f0x160 = pci_read_config32(dev_find_slot(0, PCI_DEVFN(0x18 + id.nodeid, 0)), 0x160); + f0x160 = pci_read_config32( + pcidev_on_root(0x18 + id.nodeid, 0), 0x160); core_count |= ((f0x160 >> 16) & 0x7) << 5; } core_count++; |