提交 e875093c 编写于 作者: M Matt Carlson 提交者: David S. Miller

[TG3]: CPMU adjustments for loopback tests

This patch adds the LINK_SPEED mode to the list of CPMU modes that can
cause the loopback tests to fail.  These bugs are planned to be fixed in
future revisions of the chip, so the patch qualifies the fixes as such.
Signed-off-by: NMatt Carlson <mcarlson@broadcom.com>
Signed-off-by: NMichael Chan <mchan@broadcom.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 a5767dec
...@@ -9354,7 +9354,8 @@ static int tg3_test_loopback(struct tg3 *tp) ...@@ -9354,7 +9354,8 @@ static int tg3_test_loopback(struct tg3 *tp)
if (err) if (err)
return TG3_LOOPBACK_FAILED; return TG3_LOOPBACK_FAILED;
if (tp->tg3_flags & TG3_FLAG_CPMU_PRESENT) { if (tp->pci_chip_rev_id == CHIPREV_ID_5784_A0 ||
tp->pci_chip_rev_id == CHIPREV_ID_5761_A0) {
int i; int i;
u32 status; u32 status;
...@@ -9371,17 +9372,18 @@ static int tg3_test_loopback(struct tg3 *tp) ...@@ -9371,17 +9372,18 @@ static int tg3_test_loopback(struct tg3 *tp)
if (status != CPMU_MUTEX_GNT_DRIVER) if (status != CPMU_MUTEX_GNT_DRIVER)
return TG3_LOOPBACK_FAILED; return TG3_LOOPBACK_FAILED;
cpmuctrl = tr32(TG3_CPMU_CTRL);
/* Turn off power management based on link speed. */ /* Turn off power management based on link speed. */
cpmuctrl = tr32(TG3_CPMU_CTRL);
tw32(TG3_CPMU_CTRL, tw32(TG3_CPMU_CTRL,
cpmuctrl & ~CPMU_CTRL_LINK_SPEED_MODE); cpmuctrl & ~(CPMU_CTRL_LINK_SPEED_MODE |
CPMU_CTRL_LINK_AWARE_MODE));
} }
if (tg3_run_loopback(tp, TG3_MAC_LOOPBACK)) if (tg3_run_loopback(tp, TG3_MAC_LOOPBACK))
err |= TG3_MAC_LOOPBACK_FAILED; err |= TG3_MAC_LOOPBACK_FAILED;
if (tp->tg3_flags & TG3_FLAG_CPMU_PRESENT) { if (tp->pci_chip_rev_id == CHIPREV_ID_5784_A0 ||
tp->pci_chip_rev_id == CHIPREV_ID_5761_A0) {
tw32(TG3_CPMU_CTRL, cpmuctrl); tw32(TG3_CPMU_CTRL, cpmuctrl);
/* Release the mutex */ /* Release the mutex */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册