mirror of https://gitee.com/openkylin/linux.git
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/ppwaskie/net
Peter P Waskiewicz Jr says: ==================== This series contains fixes to the e1000e and igb drivers. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
b9ad2baf91
|
@ -999,7 +999,7 @@ static s32 e1000_set_d0_lplu_state_82571(struct e1000_hw *hw, bool active)
|
|||
**/
|
||||
static s32 e1000_reset_hw_82571(struct e1000_hw *hw)
|
||||
{
|
||||
u32 ctrl, ctrl_ext, eecd;
|
||||
u32 ctrl, ctrl_ext, eecd, tctl;
|
||||
s32 ret_val;
|
||||
|
||||
/*
|
||||
|
@ -1014,7 +1014,9 @@ static s32 e1000_reset_hw_82571(struct e1000_hw *hw)
|
|||
ew32(IMC, 0xffffffff);
|
||||
|
||||
ew32(RCTL, 0);
|
||||
ew32(TCTL, E1000_TCTL_PSP);
|
||||
tctl = er32(TCTL);
|
||||
tctl &= ~E1000_TCTL_EN;
|
||||
ew32(TCTL, tctl);
|
||||
e1e_flush();
|
||||
|
||||
usleep_range(10000, 20000);
|
||||
|
@ -1601,10 +1603,8 @@ static s32 e1000_check_for_serdes_link_82571(struct e1000_hw *hw)
|
|||
* auto-negotiation in the TXCW register and disable
|
||||
* forced link in the Device Control register in an
|
||||
* attempt to auto-negotiate with our link partner.
|
||||
* If the partner code word is null, stop forcing
|
||||
* and restart auto negotiation.
|
||||
*/
|
||||
if ((rxcw & E1000_RXCW_C) || !(rxcw & E1000_RXCW_CW)) {
|
||||
if (rxcw & E1000_RXCW_C) {
|
||||
/* Enable autoneg, and unforce link up */
|
||||
ew32(TXCW, mac->txcw);
|
||||
ew32(CTRL, (ctrl & ~E1000_CTRL_SLU));
|
||||
|
|
|
@ -1498,6 +1498,9 @@ static int igb_integrated_phy_loopback(struct igb_adapter *adapter)
|
|||
break;
|
||||
}
|
||||
|
||||
/* add small delay to avoid loopback test failure */
|
||||
msleep(50);
|
||||
|
||||
/* force 1000, set loopback */
|
||||
igb_write_phy_reg(hw, PHY_CONTROL, 0x4140);
|
||||
|
||||
|
|
Loading…
Reference in New Issue