[Intel-wired-lan] [PATCH iwl-net v3 2/2] e1000e: clear DPG_EN after reset to avoid autonomous power-gating

Vitaly Lifshits vitaly.lifshits at intel.com
Tue Jan 6 10:21:53 UTC 2026


Panther-lake systems introduced autonmous power gating feature for
supporting low power state in shutdown state. As part of it, the
reset value of DPG_EN bit was changed to 1. Therefore to avoid
errors such as Tx/Rx hangs, packet loss and packet corruption
clear this bit after performing hardware reset.

Fixes: 0c9183ce61bc ("e1000e: Add support for the next LOM generation")
Signed-off-by: Vitaly Lifshits <vitaly.lifshits at intel.com>
---
v3: rephrase a comment in the code
v2: fix a typo in a macro
v1: initial version
---
 drivers/net/ethernet/intel/e1000e/ich8lan.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/net/ethernet/intel/e1000e/ich8lan.c b/drivers/net/ethernet/intel/e1000e/ich8lan.c
index eead80bba6f4..9509157cadd6 100644
--- a/drivers/net/ethernet/intel/e1000e/ich8lan.c
+++ b/drivers/net/ethernet/intel/e1000e/ich8lan.c
@@ -4932,6 +4932,16 @@ static s32 e1000_reset_hw_ich8lan(struct e1000_hw *hw)
 	reg |= E1000_KABGTXD_BGSQLBIAS;
 	ew32(KABGTXD, reg);
 
+	/*
+	 * The hardware reset value of the DPG_EN bit is 1.
+	 * Clear DPG_EN to prevent unexpected autonomous power gating.
+	 */
+	if (hw->mac.type >= e1000_pch_ptp) {
+		reg = er32(CTRL_EXT);
+		reg &= ~E1000_CTRL_EXT;
+		ew32(CTRL_EXT, reg);
+	}
+
 	return 0;
 }
 
-- 
2.34.1



More information about the Intel-wired-lan mailing list