git: e8e3171d992f - main - e1000: increase timeout for ME ULP exit

Kevin Bowling kbowling at FreeBSD.org
Fri Sep 17 21:37:28 UTC 2021


The branch main has been updated by kbowling (ports committer):

URL: https://cgit.FreeBSD.org/src/commit/?id=e8e3171d992f3255cc8e5a0f59912d07679cc94c

commit e8e3171d992f3255cc8e5a0f59912d07679cc94c
Author:     Guinan Sun <guinanx.sun at intel.com>
AuthorDate: 2020-07-06 08:12:09 +0000
Commit:     Kevin Bowling <kbowling at FreeBSD.org>
CommitDate: 2021-09-17 21:23:07 +0000

    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 at intel.com>
    Signed-off-by: Guinan Sun <guinanx.sun at intel.com>
    Reviewed-by: Wei Zhao <wei.zhao1 at intel.com>
    
    Approved by:    imp
    Obtained from:  DPDK (cf1f3ca45d33e793ca581200b4000c39a798113e)
    MFC after:      1 week
---
 sys/dev/e1000/e1000_ich8lan.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/sys/dev/e1000/e1000_ich8lan.c b/sys/dev/e1000/e1000_ich8lan.c
index 1d15881f047d..8ca0fb392805 100644
--- a/sys/dev/e1000/e1000_ich8lan.c
+++ b/sys/dev/e1000/e1000_ich8lan.c
@@ -1413,6 +1413,7 @@ out:
 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;
 			}


More information about the dev-commits-src-all mailing list