Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 24 Sep 2021 01:41:41 GMT
From:      Kevin Bowling <kbowling@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: c2e24a65659e - stable/12 - e1000: increase timeout for ME ULP exit
Message-ID:  <202109240141.18O1ff7h039510@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch stable/12 has been updated by kbowling (ports committer):

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

commit c2e24a65659ea09cafb093465f61f3708e237dbb
Author:     Guinan Sun <guinanx.sun@intel.com>
AuthorDate: 2020-07-06 08:12:09 +0000
Commit:     Kevin Bowling <kbowling@FreeBSD.org>
CommitDate: 2021-09-24 01:39:38 +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@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
    
    (cherry picked from commit e8e3171d992f3255cc8e5a0f59912d07679cc94c)
---
 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 4074eb68198c..0311fdb3fef6 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;
 			}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202109240141.18O1ff7h039510>