aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorMichael Chan <mchan@broadcom.com>2006-06-29 20:15:13 -0700
committerDavid S. Miller <davem@sunset.davemloft.net>2006-06-30 14:11:55 -0700
commit1661394e78b3b2cc868cd0e89c1066974302aaca (patch)
treebdbbe205062b8bb2ae2edc5aab2d224c58ca862b /drivers
parentf92905deb9bc89834dac247ca1a0d905ebcf629b (diff)
downloadlinux-1661394e78b3b2cc868cd0e89c1066974302aaca.tar.gz
[TG3]: Turn on hw fix for ASF problems
Clear a bit to enable a hardware fix for some ASF related problem. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/tg3.c8
-rw-r--r--drivers/net/tg3.h1
2 files changed, 7 insertions, 2 deletions
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c
index c32655ca3c468..2c36e70e37e58 100644
--- a/drivers/net/tg3.c
+++ b/drivers/net/tg3.c
@@ -6157,8 +6157,12 @@ static int tg3_reset_hw(struct tg3 *tp, int reset_phy)
#endif
/* Receive/send statistics. */
- if ((rdmac_mode & RDMAC_MODE_FIFO_SIZE_128) &&
- (tp->tg3_flags2 & TG3_FLG2_TSO_CAPABLE)) {
+ if (tp->tg3_flags2 & TG3_FLG2_5750_PLUS) {
+ val = tr32(RCVLPC_STATS_ENABLE);
+ val &= ~RCVLPC_STATSENAB_DACK_FIX;
+ tw32(RCVLPC_STATS_ENABLE, val);
+ } else if ((rdmac_mode & RDMAC_MODE_FIFO_SIZE_128) &&
+ (tp->tg3_flags2 & TG3_FLG2_TSO_CAPABLE)) {
val = tr32(RCVLPC_STATS_ENABLE);
val &= ~RCVLPC_STATSENAB_LNGBRST_RFIX;
tw32(RCVLPC_STATS_ENABLE, val);
diff --git a/drivers/net/tg3.h b/drivers/net/tg3.h
index e9177f8521df6..97a860433b50a 100644
--- a/drivers/net/tg3.h
+++ b/drivers/net/tg3.h
@@ -760,6 +760,7 @@
#define RCVLPC_STATSCTRL_ENABLE 0x00000001
#define RCVLPC_STATSCTRL_FASTUPD 0x00000002
#define RCVLPC_STATS_ENABLE 0x00002018
+#define RCVLPC_STATSENAB_DACK_FIX 0x00040000
#define RCVLPC_STATSENAB_LNGBRST_RFIX 0x00400000
#define RCVLPC_STATS_INCMASK 0x0000201c
/* 0x2020 --> 0x2100 unused */