提交 070f6ffb 编写于 作者: J Jeff Kirsher 提交者: Jeff Garzik

e1000: fix VR powerdown code

On ich systems during PHY power down to D3, the voltage regulators
were left on.
Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
上级 2ce9047f
...@@ -3942,14 +3942,15 @@ e1000_phy_powerdown_workaround(struct e1000_hw *hw) ...@@ -3942,14 +3942,15 @@ e1000_phy_powerdown_workaround(struct e1000_hw *hw)
E1000_WRITE_REG(hw, PHY_CTRL, reg | E1000_PHY_CTRL_GBE_DISABLE | E1000_WRITE_REG(hw, PHY_CTRL, reg | E1000_PHY_CTRL_GBE_DISABLE |
E1000_PHY_CTRL_NOND0A_GBE_DISABLE); E1000_PHY_CTRL_NOND0A_GBE_DISABLE);
/* Write VR power-down enable */ /* Write VR power-down enable - bits 9:8 should be 10b */
e1000_read_phy_reg(hw, IGP3_VR_CTRL, &phy_data); e1000_read_phy_reg(hw, IGP3_VR_CTRL, &phy_data);
e1000_write_phy_reg(hw, IGP3_VR_CTRL, phy_data | phy_data |= (1 << 9);
IGP3_VR_CTRL_MODE_SHUT); phy_data &= ~(1 << 8);
e1000_write_phy_reg(hw, IGP3_VR_CTRL, phy_data);
/* Read it back and test */ /* Read it back and test */
e1000_read_phy_reg(hw, IGP3_VR_CTRL, &phy_data); e1000_read_phy_reg(hw, IGP3_VR_CTRL, &phy_data);
if ((phy_data & IGP3_VR_CTRL_MODE_SHUT) || retry) if (((phy_data & IGP3_VR_CTRL_MODE_MASK) == IGP3_VR_CTRL_MODE_SHUT) || retry)
break; break;
/* Issue PHY reset and repeat at most one more time */ /* Issue PHY reset and repeat at most one more time */
......
...@@ -3173,6 +3173,7 @@ struct e1000_host_command_info { ...@@ -3173,6 +3173,7 @@ struct e1000_host_command_info {
#define IGP3_VR_CTRL \ #define IGP3_VR_CTRL \
PHY_REG(776, 18) /* Voltage regulator control register */ PHY_REG(776, 18) /* Voltage regulator control register */
#define IGP3_VR_CTRL_MODE_SHUT 0x0200 /* Enter powerdown, shutdown VRs */ #define IGP3_VR_CTRL_MODE_SHUT 0x0200 /* Enter powerdown, shutdown VRs */
#define IGP3_VR_CTRL_MODE_MASK 0x0300 /* Shutdown VR Mask */
#define IGP3_CAPABILITY \ #define IGP3_CAPABILITY \
PHY_REG(776, 19) /* IGP3 Capability Register */ PHY_REG(776, 19) /* IGP3 Capability Register */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册