Celistica with AMD chip-set

From: Richard B. Johnson
Date: Mon Aug 30 2004 - 09:03:42 EST



Hello all,

The Celistica server with the AMD chip-set has very poor
PCI performance with Linux (and probably W$ too).

The problem was traced to incorrect bridge configuration
in the HyperTransport(tm) chips that connect up pairs
of slots.

I don't know how to make a generic chip-set bug-fix, and
probably a new BIOS will come out with the correct values
in the registers. But right now, the following initialization
code will fix the box.



//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
//
// Some kind of problem, here. If the HyperTransport(tm) bridge
// is found, one of the register values needs to be changed to
// fix the bus performance. Need to turn back on prefetch.
//

while((pdev = pci_find_device(0x1022, 0x7450, pdev)) != NULL)
pci_write_config_dword(pdev, 0x4c, 0x2ec1);



Cheers,
Dick Johnson
Penguin : Linux version 2.4.26 on an i686 machine (5570.56 BogoMips).
"DMA used to run at 180 Mb/s. With the new hardware it's only
30 Mb/s. Must be a software problem......." -actual complaint.
Note 96.31% of all statistics are fiction.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/