diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/e1000e/ich8lan.c | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/drivers/net/e1000e/ich8lan.c b/drivers/net/e1000e/ich8lan.c index 438778fef5ac..bf9b97db76b9 100644 --- a/drivers/net/e1000e/ich8lan.c +++ b/drivers/net/e1000e/ich8lan.c | |||
@@ -977,12 +977,14 @@ static s32 e1000_set_d0_lplu_state_ich8lan(struct e1000_hw *hw, bool active) | |||
977 | phy_ctrl |= E1000_PHY_CTRL_D0A_LPLU; | 977 | phy_ctrl |= E1000_PHY_CTRL_D0A_LPLU; |
978 | ew32(PHY_CTRL, phy_ctrl); | 978 | ew32(PHY_CTRL, phy_ctrl); |
979 | 979 | ||
980 | if (phy->type != e1000_phy_igp_3) | ||
981 | return 0; | ||
982 | |||
980 | /* | 983 | /* |
981 | * Call gig speed drop workaround on LPLU before accessing | 984 | * Call gig speed drop workaround on LPLU before accessing |
982 | * any PHY registers | 985 | * any PHY registers |
983 | */ | 986 | */ |
984 | if ((hw->mac.type == e1000_ich8lan) && | 987 | if (hw->mac.type == e1000_ich8lan) |
985 | (hw->phy.type == e1000_phy_igp_3)) | ||
986 | e1000e_gig_downshift_workaround_ich8lan(hw); | 988 | e1000e_gig_downshift_workaround_ich8lan(hw); |
987 | 989 | ||
988 | /* When LPLU is enabled, we should disable SmartSpeed */ | 990 | /* When LPLU is enabled, we should disable SmartSpeed */ |
@@ -995,6 +997,9 @@ static s32 e1000_set_d0_lplu_state_ich8lan(struct e1000_hw *hw, bool active) | |||
995 | phy_ctrl &= ~E1000_PHY_CTRL_D0A_LPLU; | 997 | phy_ctrl &= ~E1000_PHY_CTRL_D0A_LPLU; |
996 | ew32(PHY_CTRL, phy_ctrl); | 998 | ew32(PHY_CTRL, phy_ctrl); |
997 | 999 | ||
1000 | if (phy->type != e1000_phy_igp_3) | ||
1001 | return 0; | ||
1002 | |||
998 | /* | 1003 | /* |
999 | * LPLU and SmartSpeed are mutually exclusive. LPLU is used | 1004 | * LPLU and SmartSpeed are mutually exclusive. LPLU is used |
1000 | * during Dx states where the power conservation is most | 1005 | * during Dx states where the power conservation is most |
@@ -1054,6 +1059,10 @@ static s32 e1000_set_d3_lplu_state_ich8lan(struct e1000_hw *hw, bool active) | |||
1054 | if (!active) { | 1059 | if (!active) { |
1055 | phy_ctrl &= ~E1000_PHY_CTRL_NOND0A_LPLU; | 1060 | phy_ctrl &= ~E1000_PHY_CTRL_NOND0A_LPLU; |
1056 | ew32(PHY_CTRL, phy_ctrl); | 1061 | ew32(PHY_CTRL, phy_ctrl); |
1062 | |||
1063 | if (phy->type != e1000_phy_igp_3) | ||
1064 | return 0; | ||
1065 | |||
1057 | /* | 1066 | /* |
1058 | * LPLU and SmartSpeed are mutually exclusive. LPLU is used | 1067 | * LPLU and SmartSpeed are mutually exclusive. LPLU is used |
1059 | * during Dx states where the power conservation is most | 1068 | * during Dx states where the power conservation is most |
@@ -1089,12 +1098,14 @@ static s32 e1000_set_d3_lplu_state_ich8lan(struct e1000_hw *hw, bool active) | |||
1089 | phy_ctrl |= E1000_PHY_CTRL_NOND0A_LPLU; | 1098 | phy_ctrl |= E1000_PHY_CTRL_NOND0A_LPLU; |
1090 | ew32(PHY_CTRL, phy_ctrl); | 1099 | ew32(PHY_CTRL, phy_ctrl); |
1091 | 1100 | ||
1101 | if (phy->type != e1000_phy_igp_3) | ||
1102 | return 0; | ||
1103 | |||
1092 | /* | 1104 | /* |
1093 | * Call gig speed drop workaround on LPLU before accessing | 1105 | * Call gig speed drop workaround on LPLU before accessing |
1094 | * any PHY registers | 1106 | * any PHY registers |
1095 | */ | 1107 | */ |
1096 | if ((hw->mac.type == e1000_ich8lan) && | 1108 | if (hw->mac.type == e1000_ich8lan) |
1097 | (hw->phy.type == e1000_phy_igp_3)) | ||
1098 | e1000e_gig_downshift_workaround_ich8lan(hw); | 1109 | e1000e_gig_downshift_workaround_ich8lan(hw); |
1099 | 1110 | ||
1100 | /* When LPLU is enabled, we should disable SmartSpeed */ | 1111 | /* When LPLU is enabled, we should disable SmartSpeed */ |