It seems read DMA mode register requires both IPv4 TSO and IPv6 TSO

configuration to get IPv4 TSO work on BCM57780. While I'm here
apply the same fix to BCM5785 which shares similar hardware feature
of BCM57780. This change makes TSO work on BCM57780.

Tested by:	Tong Liu <nemoliu <> gmail dot com>
This commit is contained in:
Pyun YongHyeon 2010-07-06 02:07:59 +00:00
parent 5f195aa32e
commit 55a24a0597
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=209714

View File

@ -1834,8 +1834,12 @@ bge_blockinit(struct bge_softc *sc)
BGE_RDMAMODE_MBUF_SBD_CRPT_ATTN;
if (sc->bge_flags & BGE_FLAG_PCIE)
val |= BGE_RDMAMODE_FIFO_LONG_BURST;
if (sc->bge_flags & BGE_FLAG_TSO)
if (sc->bge_flags & BGE_FLAG_TSO) {
val |= BGE_RDMAMODE_TSO4_ENABLE;
if (sc->bge_asicrev == BGE_ASICREV_BCM5785 ||
sc->bge_asicrev == BGE_ASICREV_BCM57780)
val |= BGE_RDMAMODE_TSO6_ENABLE;
}
CSR_WRITE_4(sc, BGE_RDMA_MODE, val);
DELAY(40);