diff options
Diffstat (limited to 'drivers/net/ethernet/intel/igb/igb_ethtool.c')
-rw-r--r-- | drivers/net/ethernet/intel/igb/igb_ethtool.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/igb/igb_ethtool.c b/drivers/net/ethernet/intel/igb/igb_ethtool.c index e2288b5a9caa..bfe9208c4b18 100644 --- a/drivers/net/ethernet/intel/igb/igb_ethtool.c +++ b/drivers/net/ethernet/intel/igb/igb_ethtool.c | |||
@@ -1624,6 +1624,20 @@ static int igb_setup_loopback_test(struct igb_adapter *adapter) | |||
1624 | reg &= ~E1000_CONNSW_ENRGSRC; | 1624 | reg &= ~E1000_CONNSW_ENRGSRC; |
1625 | wr32(E1000_CONNSW, reg); | 1625 | wr32(E1000_CONNSW, reg); |
1626 | 1626 | ||
1627 | /* Unset sigdetect for SERDES loopback on | ||
1628 | * 82580 and i350 devices. | ||
1629 | */ | ||
1630 | switch (hw->mac.type) { | ||
1631 | case e1000_82580: | ||
1632 | case e1000_i350: | ||
1633 | reg = rd32(E1000_PCS_CFG0); | ||
1634 | reg |= E1000_PCS_CFG_IGN_SD; | ||
1635 | wr32(E1000_PCS_CFG0, reg); | ||
1636 | break; | ||
1637 | default: | ||
1638 | break; | ||
1639 | } | ||
1640 | |||
1627 | /* Set PCS register for forced speed */ | 1641 | /* Set PCS register for forced speed */ |
1628 | reg = rd32(E1000_PCS_LCTL); | 1642 | reg = rd32(E1000_PCS_LCTL); |
1629 | reg &= ~E1000_PCS_LCTL_AN_ENABLE; /* Disable Autoneg*/ | 1643 | reg &= ~E1000_PCS_LCTL_AN_ENABLE; /* Disable Autoneg*/ |