mirror of https://gitee.com/openkylin/linux.git
e1000e: Clear ULP configuration register on ULP exit
There have been bugs caused by HW ULP configuration settings not being properly cleared after cable connect in V-Pro capable systems. This caused HW to get out of sync occasionally. The fix ensures that ULP settings are cleared in HW after LAN cable re-connect. Signed-off-by: Raanan Avargil <raanan.avargil@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
c26f40daf4
commit
c5c6d07761
|
@ -1328,6 +1328,8 @@ static s32 e1000_disable_ulp_lpt_lp(struct e1000_hw *hw, bool force)
|
|||
I218_ULP_CONFIG1_RESET_TO_SMBUS |
|
||||
I218_ULP_CONFIG1_WOL_HOST |
|
||||
I218_ULP_CONFIG1_INBAND_EXIT |
|
||||
I218_ULP_CONFIG1_EN_ULP_LANPHYPC |
|
||||
I218_ULP_CONFIG1_DIS_CLR_STICKY_ON_PERST |
|
||||
I218_ULP_CONFIG1_DISABLE_SMB_PERST);
|
||||
e1000_write_phy_reg_hv_locked(hw, I218_ULP_CONFIG1, phy_reg);
|
||||
|
||||
|
|
|
@ -188,6 +188,10 @@
|
|||
#define I218_ULP_CONFIG1_INBAND_EXIT 0x0020 /* Inband on ULP exit */
|
||||
#define I218_ULP_CONFIG1_WOL_HOST 0x0040 /* WoL Host on ULP exit */
|
||||
#define I218_ULP_CONFIG1_RESET_TO_SMBUS 0x0100 /* Reset to SMBus mode */
|
||||
/* enable ULP even if when phy powered down via lanphypc */
|
||||
#define I218_ULP_CONFIG1_EN_ULP_LANPHYPC 0x0400
|
||||
/* disable clear of sticky ULP on PERST */
|
||||
#define I218_ULP_CONFIG1_DIS_CLR_STICKY_ON_PERST 0x0800
|
||||
#define I218_ULP_CONFIG1_DISABLE_SMB_PERST 0x1000 /* Disable on PERST# */
|
||||
|
||||
/* SMBus Address Phy Register */
|
||||
|
|
Loading…
Reference in New Issue