The BCM5704 ASIC has a smaller mbuf space than the 5700/1/2/3. Failure
to configure this correctly yields many watchdog timeouts even on lightly loaded machines. This is a common complaint from users with Dell 1750 servers with built-in dual 5704 NICs.
This commit is contained in:
parent
2dfbdc6022
commit
4a2cb9ec2f
@ -1310,16 +1310,24 @@ bge_blockinit(sc)
|
||||
*/
|
||||
CSR_WRITE_4(sc, BGE_PCI_MEMWIN_BASEADDR, 0);
|
||||
|
||||
/* Note: the BCM5704 has a smaller mbuf space than other chips. */
|
||||
|
||||
if (sc->bge_asicrev != BGE_ASICREV_BCM5705) {
|
||||
/* Configure mbuf memory pool */
|
||||
if (sc->bge_extram) {
|
||||
CSR_WRITE_4(sc, BGE_BMAN_MBUFPOOL_BASEADDR,
|
||||
BGE_EXT_SSRAM);
|
||||
CSR_WRITE_4(sc, BGE_BMAN_MBUFPOOL_LEN, 0x18000);
|
||||
if (sc->bge_asicrev == BGE_ASICREV_BCM5704)
|
||||
CSR_WRITE_4(sc, BGE_BMAN_MBUFPOOL_LEN, 0x10000);
|
||||
else
|
||||
CSR_WRITE_4(sc, BGE_BMAN_MBUFPOOL_LEN, 0x18000);
|
||||
} else {
|
||||
CSR_WRITE_4(sc, BGE_BMAN_MBUFPOOL_BASEADDR,
|
||||
BGE_BUFFPOOL_1);
|
||||
CSR_WRITE_4(sc, BGE_BMAN_MBUFPOOL_LEN, 0x18000);
|
||||
if (sc->bge_asicrev == BGE_ASICREV_BCM5704)
|
||||
CSR_WRITE_4(sc, BGE_BMAN_MBUFPOOL_LEN, 0x10000);
|
||||
else
|
||||
CSR_WRITE_4(sc, BGE_BMAN_MBUFPOOL_LEN, 0x18000);
|
||||
}
|
||||
|
||||
/* Configure DMA resource pool */
|
||||
|
Loading…
Reference in New Issue
Block a user