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
2 changed files with 8 additions and 5 deletions
|
@ -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)
|
static s32 e1000_reset_hw_82571(struct e1000_hw *hw)
|
||||||
{
|
{
|
||||||
u32 ctrl, ctrl_ext, eecd;
|
u32 ctrl, ctrl_ext, eecd, tctl;
|
||||||
s32 ret_val;
|
s32 ret_val;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1014,7 +1014,9 @@ static s32 e1000_reset_hw_82571(struct e1000_hw *hw)
|
||||||
ew32(IMC, 0xffffffff);
|
ew32(IMC, 0xffffffff);
|
||||||
|
|
||||||
ew32(RCTL, 0);
|
ew32(RCTL, 0);
|
||||||
ew32(TCTL, E1000_TCTL_PSP);
|
tctl = er32(TCTL);
|
||||||
|
tctl &= ~E1000_TCTL_EN;
|
||||||
|
ew32(TCTL, tctl);
|
||||||
e1e_flush();
|
e1e_flush();
|
||||||
|
|
||||||
usleep_range(10000, 20000);
|
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
|
* auto-negotiation in the TXCW register and disable
|
||||||
* forced link in the Device Control register in an
|
* forced link in the Device Control register in an
|
||||||
* attempt to auto-negotiate with our link partner.
|
* 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 */
|
/* Enable autoneg, and unforce link up */
|
||||||
ew32(TXCW, mac->txcw);
|
ew32(TXCW, mac->txcw);
|
||||||
ew32(CTRL, (ctrl & ~E1000_CTRL_SLU));
|
ew32(CTRL, (ctrl & ~E1000_CTRL_SLU));
|
||||||
|
|
|
@ -1498,6 +1498,9 @@ static int igb_integrated_phy_loopback(struct igb_adapter *adapter)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* add small delay to avoid loopback test failure */
|
||||||
|
msleep(50);
|
||||||
|
|
||||||
/* force 1000, set loopback */
|
/* force 1000, set loopback */
|
||||||
igb_write_phy_reg(hw, PHY_CONTROL, 0x4140);
|
igb_write_phy_reg(hw, PHY_CONTROL, 0x4140);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue