aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/e1000e/ethtool.c
diff options
context:
space:
mode:
authorBruce Allan <bruce.w.allan@intel.com>2010-06-16 09:27:28 -0400
committerDavid S. Miller <davem@davemloft.net>2010-06-19 01:12:16 -0400
commitd3738bb8203acf8552c3ec8b3447133fc0938ddd (patch)
treec466411e6dce52ca422ad524ace68301c6b0d169 /drivers/net/e1000e/ethtool.c
parenteb7700dc0344564b0b9857d1f5e331a0dd629e92 (diff)
e1000e: initial support for 82579 LOMs
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/e1000e/ethtool.c')
-rw-r--r--drivers/net/e1000e/ethtool.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/net/e1000e/ethtool.c b/drivers/net/e1000e/ethtool.c
index 86c6a26c0a3..312c704aec3 100644
--- a/drivers/net/e1000e/ethtool.c
+++ b/drivers/net/e1000e/ethtool.c
@@ -880,6 +880,7 @@ static int e1000_reg_test(struct e1000_adapter *adapter, u64 *data)
880 switch (mac->type) { 880 switch (mac->type) {
881 case e1000_ich10lan: 881 case e1000_ich10lan:
882 case e1000_pchlan: 882 case e1000_pchlan:
883 case e1000_pch2lan:
883 mask |= (1 << 18); 884 mask |= (1 << 18);
884 break; 885 break;
885 default: 886 default:
@@ -1321,6 +1322,17 @@ static int e1000_integrated_phy_loopback(struct e1000_adapter *adapter)
1321 /* Workaround: K1 must be disabled for stable 1Gbps operation */ 1322 /* Workaround: K1 must be disabled for stable 1Gbps operation */
1322 e1000_configure_k1_ich8lan(hw, false); 1323 e1000_configure_k1_ich8lan(hw, false);
1323 break; 1324 break;
1325 case e1000_phy_82579:
1326 /* Disable PHY energy detect power down */
1327 e1e_rphy(hw, PHY_REG(0, 21), &phy_reg);
1328 e1e_wphy(hw, PHY_REG(0, 21), phy_reg & ~(1 << 3));
1329 /* Disable full chip energy detect */
1330 e1e_rphy(hw, PHY_REG(776, 18), &phy_reg);
1331 e1e_wphy(hw, PHY_REG(776, 18), phy_reg | 1);
1332 /* Enable loopback on the PHY */
1333#define I82577_PHY_LBK_CTRL 19
1334 e1e_wphy(hw, I82577_PHY_LBK_CTRL, 0x8001);
1335 break;
1324 default: 1336 default:
1325 break; 1337 break;
1326 } 1338 }
@@ -1878,6 +1890,7 @@ static int e1000_phys_id(struct net_device *netdev, u32 data)
1878 1890
1879 if ((hw->phy.type == e1000_phy_ife) || 1891 if ((hw->phy.type == e1000_phy_ife) ||
1880 (hw->mac.type == e1000_pchlan) || 1892 (hw->mac.type == e1000_pchlan) ||
1893 (hw->mac.type == e1000_pch2lan) ||
1881 (hw->mac.type == e1000_82583) || 1894 (hw->mac.type == e1000_82583) ||
1882 (hw->mac.type == e1000_82574)) { 1895 (hw->mac.type == e1000_82574)) {
1883 INIT_WORK(&adapter->led_blink_task, e1000e_led_blink_task); 1896 INIT_WORK(&adapter->led_blink_task, e1000e_led_blink_task);