igb: No PHPM support in i354 devices
authorAkeem G Abodunrin <akeem.g.abodunrin@intel.com>
Wed, 28 Aug 2013 02:22:53 +0000 (02:22 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Wed, 4 Sep 2013 12:10:55 +0000 (05:10 -0700)
PHY Power Management does not exist for i354 device. So, there is no
need to read and write this register or clear go link Disconnect bit,
which could cause a lot of issues.

Signed-off-by: Akeem G Abodunrin <akeem.g.abodunrin@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/igb/e1000_82575.c

index b0b33a17947b61dac094afa4d8aa253bb51ca332..d796e297e4a7d4e12dee52cf6bfc844f6cb7c434 100644 (file)
@@ -1421,11 +1421,18 @@ static s32 igb_setup_copper_link_82575(struct e1000_hw *hw)
        ctrl &= ~(E1000_CTRL_FRCSPD | E1000_CTRL_FRCDPX);
        wr32(E1000_CTRL, ctrl);
 
-       /* Clear Go Link Disconnect bit */
-       if (hw->mac.type >= e1000_82580) {
+       /* Clear Go Link Disconnect bit on supported devices */
+       switch (hw->mac.type) {
+       case e1000_82580:
+       case e1000_i350:
+       case e1000_i210:
+       case e1000_i211:
                phpm_reg = rd32(E1000_82580_PHY_POWER_MGMT);
                phpm_reg &= ~E1000_82580_PM_GO_LINKD;
                wr32(E1000_82580_PHY_POWER_MGMT, phpm_reg);
+               break;
+       default:
+               break;
        }
 
        ret_val = igb_setup_serdes_link_82575(hw);