linux/drivers/net/ethernet/intel/e1000e
Dima Ruinskiy 578294b8b6 e1000e: Reconfigure PLL clock gate timeout and re-enable K1 on Meteor Lake
Commit 3c7bf5af21 ("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.

To mitigate this, reconfigure the PLL clock gate value so that K1 can
remain enabled without incurring the additional power consumption.
Re-enable K1 by default, but keep the private flag to support disabling
it via ethtool. Additionally, introduce a DMI quirk table, so that K1 may
be disabled by default on known problematic systems. Currently, this
includes the Dell Pro 16 Plus, where the issue has been reported to persist
despite the changes to the PLL lock timeout.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=220954
Link: https://lists.osuosl.org/pipermail/intel-wired-lan/Week-of-Mon-20250623/048860.html
Link: https://lists.osuosl.org/pipermail/intel-wired-lan/Week-of-Mon-20260330/054059.html
Signed-off-by: Dima Ruinskiy <dima.ruinskiy@intel.com>
Co-developed-by: Vitaly Lifshits <vitaly.lifshits@intel.com>
Signed-off-by: Vitaly Lifshits <vitaly.lifshits@intel.com>
Fixes: 3c7bf5af21 ("e1000e: Introduce private flag to disable K1")
Tested-by: Moriya Kadosh <moriyax.kadosh@intel.com>
Tested-by: Todd Brandt <todd.e.brandt@linux.intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
2026-06-22 14:44:50 -07:00
..
80003es2lan.c intel: legacy: field get conversion 2023-12-18 11:20:43 -08:00
80003es2lan.h
82571.c intel: legacy: field get conversion 2023-12-18 11:20:43 -08:00
82571.h
defines.h e1000e: clear DPG_EN after reset to avoid autonomous power-gating 2026-02-25 11:43:57 -08:00
e1000.h e1000e: introduce new board type for Panther Lake PCH 2026-02-25 11:43:57 -08:00
e1000e_trace.h e1000e: Add e1000e trace module 2022-11-02 11:08:38 -07:00
ethtool.c e1000e: limit endianness conversion to boundary words 2026-06-13 16:44:06 -07:00
hw.h e1000e: introduce new board type for Panther Lake PCH 2026-02-25 11:43:57 -08:00
ich8lan.c e1000e: Reconfigure PLL clock gate timeout and re-enable K1 on Meteor Lake 2026-06-22 14:44:50 -07:00
ich8lan.h e1000e: change k1 configuration on MTP and later platforms 2025-04-02 08:51:41 -07:00
mac.c e1000e: Fix real-time violations on link up 2025-02-10 10:43:48 -08:00
mac.h net: e1000e: Remove unused declarations 2023-08-15 19:05:17 -07:00
Makefile net: intel: Use *-y instead of *-objs in Makefile 2024-06-10 19:52:44 -07:00
manage.c
manage.h
netdev.c e1000e: Reconfigure PLL clock gate timeout and re-enable K1 on Meteor Lake 2026-06-22 14:44:50 -07:00
nvm.c e1000e: drop unnecessary constant casts to u16 2025-09-03 10:07:27 -07:00
nvm.h
param.c intel: remove unused macros 2022-06-30 09:40:55 -07:00
phy.c e1000e: change usleep_range to udelay in PHY mdic access 2024-04-30 18:40:59 -07:00
phy.h e1000e: Workaround for sporadic MDI error on Meteor Lake systems 2024-03-27 11:44:20 -07:00
ptp.c e1000e: Switch to use %ptSp 2025-11-19 12:26:06 +01:00
regs.h e1000e: Add polling mechanism to indicate CSME DPG exit 2021-07-20 16:11:36 -07:00