public inbox for intel-wired-lan@osuosl.org
 help / color / mirror / Atom feed
* [Intel-wired-lan] [PATCH iwl-net v2 1/1] e1000e: reconfigure PLL clock gate value and re-enable K1 on Meteor Lake
@ 2026-02-02 10:32 Vitaly Lifshits
  2026-02-02 12:09 ` Loktionov, Aleksandr
                   ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Vitaly Lifshits @ 2026-02-02 10:32 UTC (permalink / raw)
  To: intel-wired-lan; +Cc: marmarek, timo.teras, jeremie.wenger, Vitaly Lifshits

Commit 3c7bf5af21960 ("e1000e: Introduce private flag to disable K1")
disabled K1 by default on Meteor Lake and newer systems due to packet
loss observed on various platforms. However, disabling K1 caused an
increase in power consumption due to blocking PC10 state.

To mitigate this, reconfigure the PLL clock gate value so that K1 can
remain enabled without incurring the additional power consumption.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=220954
Fixes: 3c7bf5af21960 ("e1000e: Introduce private flag to disable K1")
Signed-off-by: Vitaly Lifshits <vitaly.lifshits@intel.com>
---
v2: add comment for the PLL timeout value and revisit the commit message
v1: initial version
---
 drivers/net/ethernet/intel/e1000e/ich8lan.c | 6 ++++++
 drivers/net/ethernet/intel/e1000e/netdev.c  | 3 ---
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/intel/e1000e/ich8lan.c b/drivers/net/ethernet/intel/e1000e/ich8lan.c
index 13841daba399..8e88aa9048da 100644
--- a/drivers/net/ethernet/intel/e1000e/ich8lan.c
+++ b/drivers/net/ethernet/intel/e1000e/ich8lan.c
@@ -1594,6 +1594,12 @@ static s32 e1000_check_for_copper_link_ich8lan(struct e1000_hw *hw)
 			phy_reg &= ~I217_PLL_CLOCK_GATE_MASK;
 			if (speed == SPEED_100 || speed == SPEED_10)
 				phy_reg |= 0x3E8;
+			else if (hw->mac.type == e1000_pch_mtp ||
+				 hw->mac.type == e1000_pch_ptp)
+				/* Increase PLL clock gate timeout to avoid
+				 * packet loss
+				 */
+				phy_reg |= 0x1D5;
 			else
 				phy_reg |= 0xFA;
 			e1e_wphy_locked(hw, I217_PLL_CLOCK_GATE_REG, phy_reg);
diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c
index 82d1d5fe51d5..8f0eb822610b 100644
--- a/drivers/net/ethernet/intel/e1000e/netdev.c
+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
@@ -7755,9 +7755,6 @@ static int e1000_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 	/* init PTP hardware clock */
 	e1000e_ptp_init(adapter);
 
-	if (hw->mac.type >= e1000_pch_mtp)
-		adapter->flags2 |= FLAG2_DISABLE_K1;
-
 	/* reset the hardware with the new settings */
 	e1000e_reset(adapter);
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2026-04-19  5:54 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-02 10:32 [Intel-wired-lan] [PATCH iwl-net v2 1/1] e1000e: reconfigure PLL clock gate value and re-enable K1 on Meteor Lake Vitaly Lifshits
2026-02-02 12:09 ` Loktionov, Aleksandr
2026-02-10 10:57 ` Dahan, AvigailX
2026-02-10 11:11 ` Timo Teras
2026-02-11 13:11   ` Ruinskiy, Dima
2026-02-12  9:15     ` Timo Teras
2026-02-22 16:05       ` Ruinskiy, Dima
2026-02-26 12:36         ` Timo Teras
2026-03-25 15:49           ` Ruinskiy, Dima
2026-04-01  7:07             ` Ruinskiy, Dima
2026-04-01  7:25               ` Timo Teras
2026-04-01  8:19                 ` Ruinskiy, Dima
2026-04-19  5:54                   ` Ruinskiy, Dima

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox