From 26482cf2d23b6b2b0e3f9fc0177afc4a20ced723 Mon Sep 17 00:00:00 2001 From: Jeff Kirsher Date: Wed, 1 Nov 2006 08:47:44 -0800 Subject: [PATCH] --- yaml --- r: 41482 b: refs/heads/master c: 070f6ffbb8ed5c398e84f1508752b8fd15b05cf2 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/net/e1000/e1000_hw.c | 9 +++++---- trunk/drivers/net/e1000/e1000_hw.h | 1 + 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index c80224edbfcd..6f8c2f7fe281 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2ce9047f5d8464039da8ff986e71be5546e229c0 +refs/heads/master: 070f6ffbb8ed5c398e84f1508752b8fd15b05cf2 diff --git a/trunk/drivers/net/e1000/e1000_hw.c b/trunk/drivers/net/e1000/e1000_hw.c index 29e6f6aba9e2..0e2ccf50d4d7 100644 --- a/trunk/drivers/net/e1000/e1000_hw.c +++ b/trunk/drivers/net/e1000/e1000_hw.c @@ -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_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_write_phy_reg(hw, IGP3_VR_CTRL, phy_data | - IGP3_VR_CTRL_MODE_SHUT); + phy_data |= (1 << 9); + phy_data &= ~(1 << 8); + e1000_write_phy_reg(hw, IGP3_VR_CTRL, phy_data); /* Read it back and test */ 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; /* Issue PHY reset and repeat at most one more time */ diff --git a/trunk/drivers/net/e1000/e1000_hw.h b/trunk/drivers/net/e1000/e1000_hw.h index b32a0c3cfd10..31bea3215841 100644 --- a/trunk/drivers/net/e1000/e1000_hw.h +++ b/trunk/drivers/net/e1000/e1000_hw.h @@ -3173,6 +3173,7 @@ struct e1000_host_command_info { #define IGP3_VR_CTRL \ PHY_REG(776, 18) /* Voltage regulator control register */ #define IGP3_VR_CTRL_MODE_SHUT 0x0200 /* Enter powerdown, shutdown VRs */ +#define IGP3_VR_CTRL_MODE_MASK 0x0300 /* Shutdown VR Mask */ #define IGP3_CAPABILITY \ PHY_REG(776, 19) /* IGP3 Capability Register */