aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/tg3.c
diff options
context:
space:
mode:
authorMatt Carlson <mcarlson@broadcom.com>2008-05-02 19:48:59 -0400
committerDavid S. Miller <davem@davemloft.net>2008-05-02 19:48:59 -0400
commit109115e1991824b88306b374b763d6857b292aeb (patch)
tree2ecbe856fd030ffb6b9a34fca80924bdfddb3713 /drivers/net/tg3.c
parentfd1122a2593d0bbe19856e3943c859ebfe563583 (diff)
tg3: Fix ethtool loopback test for 5761 BX devices
A CPMU related loopback test bug existed for AX revisions of the 5761. While that errata has been fixed, the CPMU still slows down the core clock too far to run the loopback test successfully. This patch disables the CPMU LINK_SPEED mode just like we do with the AX revisions of the 5761 and all revisions of the 5784. Signed-off-by: Matt Carlson <mcarlson@broadcom.com> Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/tg3.c')
-rw-r--r--drivers/net/tg3.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c
index b17812491b8a..bf376b32450e 100644
--- a/drivers/net/tg3.c
+++ b/drivers/net/tg3.c
@@ -9570,14 +9570,9 @@ static int tg3_test_loopback(struct tg3 *tp)
9570 9570
9571 /* Turn off link-based power management. */ 9571 /* Turn off link-based power management. */
9572 cpmuctrl = tr32(TG3_CPMU_CTRL); 9572 cpmuctrl = tr32(TG3_CPMU_CTRL);
9573 if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5784 || 9573 tw32(TG3_CPMU_CTRL,
9574 GET_CHIP_REV(tp->pci_chip_rev_id) == CHIPREV_5761_AX) 9574 cpmuctrl & ~(CPMU_CTRL_LINK_SPEED_MODE |
9575 tw32(TG3_CPMU_CTRL, 9575 CPMU_CTRL_LINK_AWARE_MODE));
9576 cpmuctrl & ~(CPMU_CTRL_LINK_SPEED_MODE |
9577 CPMU_CTRL_LINK_AWARE_MODE));
9578 else
9579 tw32(TG3_CPMU_CTRL,
9580 cpmuctrl & ~CPMU_CTRL_LINK_AWARE_MODE);
9581 } 9576 }
9582 9577
9583 if (tg3_run_loopback(tp, TG3_MAC_LOOPBACK)) 9578 if (tg3_run_loopback(tp, TG3_MAC_LOOPBACK))