Hey Stefan,
Thanks man.
Incidentally, does anyone have an example of how to represent 2 southbridges on an HT chain?.. ie:
CPU0 <---HT---> SB1 <---HT---> SB2
having issues figuring it out...
thanks ;)
-san
On 10/21/05, Stefan Reinauer stepan@openbios.org wrote:
Hi San,
this is good stuff, it should go in the tree. If nobody objects, I'll put it in by the end of this weekend. Same for the other patch (gotta check if the last lnxi mega patch doesn't do that one already though)
Stefan
- San Mehat san@google.com [051021 17:19]:
*****BEGIN CUT***** Index: hypertransport.c =================================================================== --- hypertransport.c (revision 2064) +++ hypertransport.c (working copy) @@ -345,12 +345,25 @@ /* Wait until the link initialization is complete */ do { ctrl = pci_read_config16(prev.dev, prev.pos + prev.ctrl_off);
- /* Is this the end of the hypertransport chain?
- Has the link failed?
- If so further scanning is pointless.
- */
- if (ctrl & ((1 << 6) | (1 << 4))) {
- goto end_of_chain;
- if (ctrl & (1 << 6))
- goto end_of_chain; // End of chain
- if (ctrl & ((1 << 4) | (1 << 8))) {
- /*
- Either the link has failed, or we have
- a CRC error.
- Sometimes this can happen due to link
- retrain, so lets knock it down and see
- if its transient
- */
- ctrl |= ((1 << 6) | (1 <<8)); // Link fail +
Crc
- pci_write_config16(prev.dev, prev.pos +
prev.ctrl_off, ctrl);
- ctrl = pci_read_config16(prev.dev, prev.pos +
prev.ctrl_off);
- if (ctrl & ((1 << 4) | (1 << 8))) {
- printk_alert("Detected error on
Hypertransport Link\n");
- goto end_of_chain;
- }
} } while((ctrl & (1 << 5)) == 0);
****END CUT*****
-- LinuxBIOS mailing list LinuxBIOS@openbios.org http://www.openbios.org/mailman/listinfo/linuxbios
-- LinuxBIOS mailing list LinuxBIOS@openbios.org http://www.openbios.org/mailman/listinfo/linuxbios