e1000: increase timeout for ME ULP exit
Due timing issues in WHL and since recovery by host is not always supported, increased timeout for Manageability Engine(ME) to finish Ultra Low Power(ULP) exit flow for Nahum before timer expiration. Signed-off-by: Nir Efrati <nir.efrati@intel.com> Signed-off-by: Guinan Sun <guinanx.sun@intel.com> Reviewed-by: Wei Zhao <wei.zhao1@intel.com> Approved by: imp Obtained from: DPDK (cf1f3ca45d33e793ca581200b4000c39a798113e) MFC after: 1 week
This commit is contained in:
parent
09888d4bc1
commit
e8e3171d99
@ -1413,6 +1413,7 @@ s32 e1000_enable_ulp_lpt_lp(struct e1000_hw *hw, bool to_sx)
|
||||
s32 e1000_disable_ulp_lpt_lp(struct e1000_hw *hw, bool force)
|
||||
{
|
||||
s32 ret_val = E1000_SUCCESS;
|
||||
u8 ulp_exit_timeout = 30;
|
||||
u32 mac_reg;
|
||||
u16 phy_reg;
|
||||
int i = 0;
|
||||
@ -1434,10 +1435,12 @@ s32 e1000_disable_ulp_lpt_lp(struct e1000_hw *hw, bool force)
|
||||
E1000_WRITE_REG(hw, E1000_H2ME, mac_reg);
|
||||
}
|
||||
|
||||
/* Poll up to 300msec for ME to clear ULP_CFG_DONE. */
|
||||
if (hw->mac.type == e1000_pch_cnp)
|
||||
ulp_exit_timeout = 100;
|
||||
|
||||
while (E1000_READ_REG(hw, E1000_FWSM) &
|
||||
E1000_FWSM_ULP_CFG_DONE) {
|
||||
if (i++ == 30) {
|
||||
if (i++ == ulp_exit_timeout) {
|
||||
ret_val = -E1000_ERR_PHY;
|
||||
goto out;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user