aboutsummaryrefslogtreecommitdiff
path: root/src/northbridge/amd/amdk8/incoherent_ht.c
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2015-02-02 20:07:58 +0200
committerKyösti Mälkki <kyosti.malkki@gmail.com>2015-02-20 07:03:12 +0100
commitfe57eeb5bfe5413ae704f4ca9ab1ec1286c84a9c (patch)
tree5a8e5bc9ea38f8320deeb3cd62400e0b691caf45 /src/northbridge/amd/amdk8/incoherent_ht.c
parentd15bddab57caedf283659c4d644e4696fb0e570e (diff)
AMD K8 fam10: Remove some excessive preprocessor use
Change-Id: Iee51c51b662d1f5e3d918d1e5b961f06c6b99df6 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: http://review.coreboot.org/8346 Tested-by: build bot (Jenkins) Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Diffstat (limited to 'src/northbridge/amd/amdk8/incoherent_ht.c')
-rw-r--r--src/northbridge/amd/amdk8/incoherent_ht.c27
1 files changed, 10 insertions, 17 deletions
diff --git a/src/northbridge/amd/amdk8/incoherent_ht.c b/src/northbridge/amd/amdk8/incoherent_ht.c
index 3c6cf33c9f..40589c475c 100644
--- a/src/northbridge/amd/amdk8/incoherent_ht.c
+++ b/src/northbridge/amd/amdk8/incoherent_ht.c
@@ -532,19 +532,13 @@ static int optimize_link_read_pointers_chain(uint8_t ht_c_num)
reset_needed = 0;
+ /* First one is SB HT chain. */
for (i = 0; i < ht_c_num; i++) {
uint32_t reg;
uint8_t nodeid, linkn;
uint8_t busn;
uint8_t val;
- unsigned devn = 1;
-
- #if ((CONFIG_HT_CHAIN_UNITID_BASE != 1) || (CONFIG_HT_CHAIN_END_UNITID_BASE != 0x20))
- #if CONFIG_SB_HT_CHAIN_UNITID_OFFSET_ONLY
- if(i==0) // to check if it is sb ht chain
- #endif
- devn = CONFIG_HT_CHAIN_UNITID_BASE;
- #endif
+ unsigned devn;
reg = pci_read_config32(PCI_DEV(0,0x18,1), 0xe0 + i * 4);
@@ -552,6 +546,11 @@ static int optimize_link_read_pointers_chain(uint8_t ht_c_num)
linkn = ((reg & 0xf00)>>8); // link n
busn = (reg & 0xff0000)>>16; //busn
+ unsigned offset_unitid = (CONFIG_HT_CHAIN_UNITID_BASE != 1) || (CONFIG_HT_CHAIN_END_UNITID_BASE != 0x20);
+ offset_unitid = offset_unitid && (!CONFIG_SB_HT_CHAIN_UNITID_OFFSET_ONLY || (i == 0));
+
+ devn = offset_unitid ? CONFIG_HT_CHAIN_UNITID_BASE : 1;
+
reg = pci_read_config32( PCI_DEV(busn, devn, 0), PCI_VENDOR_ID); // ? the chain dev maybe offseted
if ( (reg & 0xffff) == PCI_VENDOR_ID_AMD) {
val = 0x25;
@@ -649,14 +648,13 @@ static int ht_setup_chains(uint8_t ht_c_num)
sysinfo->link_pair_num = 0;
#endif
- // first one is SB Chain
+ /* First one is SB HT chain. */
for (i = 0; i < ht_c_num; i++) {
uint32_t reg;
uint8_t devpos;
unsigned regpos;
uint32_t dword;
uint8_t busn;
- unsigned offset_unitid = 0;
reg = pci_read_config32(PCI_DEV(0,0x18,1), 0xe0 + i * 4);
@@ -670,13 +668,8 @@ static int ht_setup_chains(uint8_t ht_c_num)
dword |= (reg & 0xffff0000)>>8;
pci_write_config32( PCI_DEV(0, devpos,0), regpos , dword);
-
- #if ((CONFIG_HT_CHAIN_UNITID_BASE != 1) || (CONFIG_HT_CHAIN_END_UNITID_BASE != 0x20))
- #if CONFIG_SB_HT_CHAIN_UNITID_OFFSET_ONLY
- if(i==0) // to check if it is sb ht chain
- #endif
- offset_unitid = 1;
- #endif
+ unsigned offset_unitid = (CONFIG_HT_CHAIN_UNITID_BASE != 1) || (CONFIG_HT_CHAIN_END_UNITID_BASE != 0x20);
+ offset_unitid = offset_unitid && (!CONFIG_SB_HT_CHAIN_UNITID_OFFSET_ONLY || (i == 0));
/* Make certain the HT bus is not enumerated */
ht_collapse_previous_enumeration(busn, offset_unitid);