aboutsummaryrefslogtreecommitdiff
path: root/src/northbridge/amd/amdk8/incoherent_ht.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/northbridge/amd/amdk8/incoherent_ht.c')
-rw-r--r--src/northbridge/amd/amdk8/incoherent_ht.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/northbridge/amd/amdk8/incoherent_ht.c b/src/northbridge/amd/amdk8/incoherent_ht.c
index d55037c9b7..c8e0770534 100644
--- a/src/northbridge/amd/amdk8/incoherent_ht.c
+++ b/src/northbridge/amd/amdk8/incoherent_ht.c
@@ -246,8 +246,6 @@ static int ht_setup_chain(device_t udev, unsigned upos)
}
struct ht_chain {
- device_t udev;
- unsigned upos;
unsigned devreg;
};
static int ht_setup_chainx(device_t udev, unsigned upos, unsigned bus)
@@ -344,20 +342,24 @@ static int ht_setup_chains(const struct ht_chain *ht_c, int ht_c_num)
dword |= (reg & 0xffff0000)>>8;
pci_write_config32( PCI_DEV(0, devpos,0), regpos , dword);
#if 0
- print_debug("PCI_DEV=(0,0x");
+ print_debug("udev=(0,0x");
print_debug_hex8(devpos);
print_debug(",0) 0x");
print_debug_hex8(regpos);
print_debug("=");
print_debug_hex32(dword);
- print_debug("\r\n");
#endif
/* Make certain the HT bus is not enumerated */
ht_collapse_previous_enumeration(busn);
- upos = ht_c[i].upos;
- udev = ht_c[i].udev;
+ upos = ((reg & 0xf00)>>8) * 0x20 + 0x80;
+ udev = PCI_DEV(0, devpos, 0);
+#if 0
+ print_debug("\tupos=0x");
+ print_debug_hex32(upos);
+ print_debug("\r\n");
+#endif
reset_needed |= ht_setup_chainx(udev,upos,busn );