igb: Unset sigdetect for SERDES loopback on 82580 and i350
[deliverable/linux.git] / drivers / net / ethernet / intel / igb / igb_ethtool.c
index e2288b5a9caa9755b19bdc41cacce71fc12cead1..bfe9208c4b1879db6a52695328d1640a7f3e2064 100644 (file)
@@ -1624,6 +1624,20 @@ static int igb_setup_loopback_test(struct igb_adapter *adapter)
                reg &= ~E1000_CONNSW_ENRGSRC;
                wr32(E1000_CONNSW, reg);
 
+               /* Unset sigdetect for SERDES loopback on
+                * 82580 and i350 devices.
+                */
+               switch (hw->mac.type) {
+               case e1000_82580:
+               case e1000_i350:
+                       reg = rd32(E1000_PCS_CFG0);
+                       reg |= E1000_PCS_CFG_IGN_SD;
+                       wr32(E1000_PCS_CFG0, reg);
+                       break;
+               default:
+                       break;
+               }
+
                /* Set PCS register for forced speed */
                reg = rd32(E1000_PCS_LCTL);
                reg &= ~E1000_PCS_LCTL_AN_ENABLE;     /* Disable Autoneg*/
This page took 0.027305 seconds and 5 git commands to generate.