nb/amd/amdfam10: Fix incorrect channel buffer count configuration

The secondary bus number set code incorrectly overwrote the link
buffer settings in F0x[F4,D4,B4,94].  Constrain the secondary
bus number set to the appropriate bits of the registers.

Change-Id: If70825449f298aa66f7f8b76dbd7367455a6deb1
Signed-off-by: Timothy Pearson <tpearson@raptorengineeringinc.com>
Reviewed-on: https://review.coreboot.org/12068
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martinroth@google.com>
This commit is contained in:
Timothy Pearson 2015-09-07 03:39:15 -05:00 committed by Martin Roth
parent f1436e58d2
commit 93107bebf6
1 changed files with 5 additions and 8 deletions

View File

@ -184,17 +184,14 @@ static void ht_route_link(struct bus *link, scan_state mode)
* not correctly configured
*/
busses = pci_read_config32(link->dev, link->cap + 0x14);
busses &= 0xff000000;
busses &= ~(0xff << 8);
busses |= parent->secondary & 0xff;
if (mode == HT_ROUTE_CLOSE) {
busses |= 0xfeff << 8;
} else if (mode == HT_ROUTE_SCAN) {
if (mode == HT_ROUTE_CLOSE)
busses |= 0xff << 8;
else if (mode == HT_ROUTE_SCAN)
busses |= ((u32) link->secondary & 0xff) << 8;
busses |= 0xfc << 16;
} else if (mode == HT_ROUTE_FINAL) {
else if (mode == HT_ROUTE_FINAL)
busses |= ((u32) link->secondary & 0xff) << 8;
busses |= ((u32) link->subordinate & 0xff) << 16;
}
pci_write_config32(link->dev, link->cap + 0x14, busses);
if (mode == HT_ROUTE_FINAL) {