mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-17 10:26:15 +00:00
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
696fe9ddcd
commit
822f63fc94
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=118733
@ -1310,15 +1310,23 @@ 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);
|
||||
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);
|
||||
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);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user