git: e49cb7f757f6 - main - e1000: Allow more time for PCH ULP exit
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 11 Aug 2026 20:46:06 UTC
The branch main has been updated by kbowling:
URL: https://cgit.FreeBSD.org/src/commit/?id=e49cb7f757f6db8976b0d247e6a897eab5867634
commit e49cb7f757f6db8976b0d247e6a897eab5867634
Author: Kevin Bowling <kbowling@FreeBSD.org>
AuthorDate: 2026-08-11 16:19:02 +0000
Commit: Kevin Bowling <kbowling@FreeBSD.org>
CommitDate: 2026-08-11 20:45:56 +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.
MFC after: 2 weeks
---
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) {