{
// I want to put sb chain in bus 0 can I?
- printk(BIOS_INFO, "%s: starting...\n", __func__);
u32 link_type;
int i;
link->cap = 0x80 + ((link_num&3) *0x20);
do {
link_type = pci_read_config32(devx, link->cap + 0x18);
- printk(BIOS_INFO, "%s: link_type: 0x%08x\n", __func__, link_type);
} while(link_type & ConnectionPending);
if (!(link_type & LinkConnected)) {
return max;
}
do {
link_type = pci_read_config32(devx, link->cap + 0x18);
- printk(BIOS_INFO, "%s: link_type: 0x%08x\n", __func__, link_type);
} while(!(link_type & InitComplete));
if (!(link_type & NonCoherent)) {
return max;
/* See if there is an available configuration space mapping
* register in function 1.
*/
- printk(BIOS_INFO, "%s: before get_ht_c_index\n", __func__);
ht_c_index = get_ht_c_index(nodeid, link_num, &sysconf);
- printk(BIOS_INFO, "%s: after get_ht_c_index\n", __func__);
#if CONFIG_EXT_CONF_SUPPORT == 0
if(ht_c_index>=4) return max;
/* set the config map space */
- printk(BIOS_INFO, "%s: before set_config_map_reg\n", __func__);
set_config_map_reg(nodeid, link_num, ht_c_index, link->secondary, link->subordinate, sysconf.segbit, sysconf.nodes);
- printk(BIOS_INFO, "%s: after set_config_map_reg\n", __func__);
/* Now we can scan all of the subordinate busses i.e. the
* chain on the hypertranport link
else
max_devfn = (0x1f<<3) | 7;
- printk(BIOS_INFO, "%s: before hypertransport_scan_chain\n", __func__);
- /* HERE. ZOMG */
max = hypertransport_scan_chain(link, 0, max_devfn, max, ht_unitid_base, offset_unitid);
- printk(BIOS_INFO, "%s: after hypertransport_scan_chain\n", __func__);
/* We know the number of busses behind this bridge. Set the
* subordinate bus number to it's real value
*/
if(ht_c_index>3) { // clear the extend reg
- printk(BIOS_INFO, "%s: before clear_config_map_reg\n", __func__);
clear_config_map_reg(nodeid, link_num, ht_c_index, (max+1)>>sysconf.segbit, (link->subordinate)>>sysconf.segbit, sysconf.nodes);
- printk(BIOS_INFO, "%s: after clear_config_map_reg\n", __func__);
}
link->subordinate = max;
- printk(BIOS_INFO, "%s: before set_config_map_reg\n", __func__);
set_config_map_reg(nodeid, link_num, ht_c_index, link->secondary, link->subordinate, sysconf.segbit, sysconf.nodes);
- printk(BIOS_INFO, "%s: after set_config_map_reg\n", __func__);
sysconf.ht_c_num++;
{
sysconf.hcdn_reg[ht_c_index] = temp;
}
- printk(BIOS_INFO, "%s: before store_ht_c_conf_bus\n", __func__);
store_ht_c_conf_bus(nodeid, link_num, ht_c_index, link->secondary, link->subordinate, &sysconf);
- printk(BIOS_INFO, "%s: after store_ht_c_conf_bus\n", __func__);
- printk(BIOS_INFO, "%s: done.\n", __func__);
return max;
}
unsigned sblink = sysconf.sblk;
unsigned offset_unitid = 0;
- printk(BIOS_INFO, "%s: starting...\n", __func__);
-
nodeid = amdfam10_nodeid(dev);
// Put sb chain in bus 0
#if ((CONFIG_HT_CHAIN_UNITID_BASE != 1) || (CONFIG_HT_CHAIN_END_UNITID_BASE != 0x20))
offset_unitid = 1;
#endif
- for (link = dev->link_list; link; link = link->next) {
- printk(BIOS_INFO, "%s: link: %p\n", __func__, link);
+ for (link = dev->link_list; link; link = link->next)
if (link->link_num == sblink)
max = amdfam10_scan_chain(dev, nodeid, link, sblink, sblink, max, offset_unitid ); // do sb ht chain at first, in case s2885 put sb chain (8131/8111) on link2, but put 8151 on link0
- }
}
#endif
#endif
for(link = dev->link_list; link; link = link->next) {
- printk(BIOS_INFO, "%s: link2: %p\n", __func__, link);
#if CONFIG_SB_HT_CHAIN_ON_BUS0 > 0
if( (nodeid == 0) && (sblink == link->link_num) ) continue; //already done
#endif
max = amdfam10_scan_chain(dev, nodeid, link, link->link_num, sblink, max, offset_unitid);
}
- printk(BIOS_INFO, "%s: done.\n", __func__);
return max;
}
int disable_siblings;
unsigned ApicIdCoreIdSize;
- printk(BIOS_INFO, "%s: starting...\n", __func__);
nb_cfg_54 = 0;
ApicIdCoreIdSize = (cpuid_ecx(0x80000008)>>12 & 0xf);
if(ApicIdCoreIdSize) {
} //j
}
- printk(BIOS_INFO, "%s: done.\n", __func__);
return max;
}