forked from luck/tmp_suning_uos_patched
tg3: Fix AC131 loopback test errors for 5785
The AC131 does not enable the forced transmit clock settings immediately. The workaround is to read the register again to get the setting to take effect. Signed-off-by: Matt Carlson <mcarlson@broadcom.com> Reviewed-by: Michael Chan <mchan@broadcom.com> Reviewed-by: Benjamin Li <benli@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
c88734054e
commit
1061b7c564
|
@ -10822,8 +10822,12 @@ static int tg3_run_loopback(struct tg3 *tp, int loopback_mode)
|
|||
|
||||
mac_mode = tp->mac_mode & ~MAC_MODE_PORT_MODE_MASK;
|
||||
if (tp->tg3_flags3 & TG3_FLG3_PHY_IS_FET) {
|
||||
if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5906)
|
||||
tg3_writephy(tp, MII_TG3_FET_PTEST, 0x1800);
|
||||
tg3_writephy(tp, MII_TG3_FET_PTEST,
|
||||
MII_TG3_FET_PTEST_FRC_TX_LINK |
|
||||
MII_TG3_FET_PTEST_FRC_TX_LOCK);
|
||||
/* The write needs to be flushed for the AC131 */
|
||||
if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5785)
|
||||
tg3_readphy(tp, MII_TG3_FET_PTEST, &val);
|
||||
mac_mode |= MAC_MODE_PORT_MODE_MII;
|
||||
} else
|
||||
mac_mode |= MAC_MODE_PORT_MODE_GMII;
|
||||
|
|
|
@ -2112,6 +2112,9 @@
|
|||
|
||||
/* Fast Ethernet Tranceiver definitions */
|
||||
#define MII_TG3_FET_PTEST 0x17
|
||||
#define MII_TG3_FET_PTEST_FRC_TX_LINK 0x1000
|
||||
#define MII_TG3_FET_PTEST_FRC_TX_LOCK 0x0800
|
||||
|
||||
#define MII_TG3_FET_TEST 0x1f
|
||||
#define MII_TG3_FET_SHADOW_EN 0x0080
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user