git: a603d5679b60 - stable/15 - e1000: Allow more time for PCH ULP exit

From: Kevin Bowling <kbowling_at_FreeBSD.org>
Date: Tue, 25 Aug 2026 00:31:27 UTC
The branch stable/15 has been updated by kbowling:

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

commit a603d5679b60684e586822eb6b35015a6b13374c
Author:     Kevin Bowling <kbowling@FreeBSD.org>
AuthorDate: 2026-08-11 16:19:02 +0000
Commit:     Kevin Bowling <kbowling@FreeBSD.org>
CommitDate: 2026-08-25 00:25:20 +0000

    e1000: Allow more time for PCH ULP exit
    
    Firmware may take up to one second to unconfigure ULP, and affected
    Lenovo systems have required nearly two seconds.  Allow 2.5 seconds
    before treating the transition as a PHY failure.
    
    This extends DPDK commit 7aa4c34581a5 using the field-tested bound
    from Linux commit 3cf31b1a9eff.
    
    (cherry picked from commit e49cb7f757f6db8976b0d247e6a897eab5867634)
---
 sys/dev/e1000/e1000_ich8lan.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/sys/dev/e1000/e1000_ich8lan.c b/sys/dev/e1000/e1000_ich8lan.c
index e7ff5a581ad1..1a3433217682 100644
--- a/sys/dev/e1000/e1000_ich8lan.c
+++ b/sys/dev/e1000/e1000_ich8lan.c
@@ -1504,7 +1504,7 @@ out:
 s32 e1000_disable_ulp_lpt_lp(struct e1000_hw *hw, bool force)
 {
 	s32 ret_val = E1000_SUCCESS;
-	u8 ulp_exit_timeout = 30;
+	u16 ulp_exit_timeout = 250;
 	u32 mac_reg;
 	u32 phy_retries;
 	u16 phy_reg;
@@ -1527,9 +1527,6 @@ s32 e1000_disable_ulp_lpt_lp(struct e1000_hw *hw, bool force)
 			E1000_WRITE_REG(hw, E1000_H2ME, mac_reg);
 		}
 
-		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++ == ulp_exit_timeout) {