* [Intel-wired-lan] [PATCH iwl-net v3] e1000e: Reconfigure PLL clock gate timeout and re-enable K1 on Meteor Lake
@ 2026-04-17 10:43 Dima Ruinskiy
2026-05-06 9:59 ` Thorsten Leemhuis
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Dima Ruinskiy @ 2026-04-17 10:43 UTC (permalink / raw)
To: intel-wired-lan; +Cc: dima.ruinskiy, jacob.e.keller, anthony.l.nguyen
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.
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: 3c7bf5af21960 ("e1000e: Introduce private flag to disable K1")
---
v3: add DMI quirk
v2: add comment for the PLL timeout value and revisit the commit message
v1: initial version
---
drivers/net/ethernet/intel/e1000e/ich8lan.c | 3 +++
drivers/net/ethernet/intel/e1000e/netdev.c | 15 ++++++++++++++-
2 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/intel/e1000e/ich8lan.c b/drivers/net/ethernet/intel/e1000e/ich8lan.c
index dea208db1be5..aa90e0ce8aca 100644
--- a/drivers/net/ethernet/intel/e1000e/ich8lan.c
+++ b/drivers/net/ethernet/intel/e1000e/ich8lan.c
@@ -1594,6 +1594,9 @@ 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)
+ 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 4d553c6edd98..a7605e453382 100644
--- a/drivers/net/ethernet/intel/e1000e/netdev.c
+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
@@ -25,6 +25,7 @@
#include <linux/pm_runtime.h>
#include <linux/prefetch.h>
#include <linux/suspend.h>
+#include <linux/dmi.h>
#include "e1000.h"
#define CREATE_TRACE_POINTS
@@ -58,6 +59,17 @@ static const struct e1000_info *e1000_info_tbl[] = {
[board_pch_ptp] = &e1000_pch_ptp_info,
};
+static const struct dmi_system_id disable_k1_list[] = {
+ {
+ .ident = "Dell Pro 16 Plus PB16250",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
+ DMI_MATCH(DMI_PRODUCT_NAME, "Dell Pro 16 Plus PB16250"),
+ },
+ },
+ {}
+};
+
struct e1000_reg_info {
u32 ofs;
char *name;
@@ -7748,7 +7760,8 @@ 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)
+ /* disable K1 by default on known problematic systems */
+ if (hw->mac.type >= e1000_pch_mtp && dmi_check_system(disable_k1_list))
adapter->flags2 |= FLAG2_DISABLE_K1;
/* reset the hardware with the new settings */
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [Intel-wired-lan] [PATCH iwl-net v3] e1000e: Reconfigure PLL clock gate timeout and re-enable K1 on Meteor Lake
2026-04-17 10:43 [Intel-wired-lan] [PATCH iwl-net v3] e1000e: Reconfigure PLL clock gate timeout and re-enable K1 on Meteor Lake Dima Ruinskiy
@ 2026-05-06 9:59 ` Thorsten Leemhuis
2026-05-06 20:13 ` Jacob Keller
2026-06-07 13:00 ` Kadosh, MoriyaX
2026-06-10 18:22 ` Brandt, Todd E
2 siblings, 1 reply; 8+ messages in thread
From: Thorsten Leemhuis @ 2026-05-06 9:59 UTC (permalink / raw)
To: Dima Ruinskiy, intel-wired-lan
Cc: jacob.e.keller, anthony.l.nguyen, Linux kernel regressions list
On 4/17/26 12:43, Dima Ruinskiy wrote:
> 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.
>
> 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
What happened to this fix for a regression first reported in January? It
looks like it fell through the cracks. Or was some other solution found?
Ciao, Thorsten
> 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: 3c7bf5af21960 ("e1000e: Introduce private flag to disable K1")
> ---
> v3: add DMI quirk
> v2: add comment for the PLL timeout value and revisit the commit message
> v1: initial version
> ---
> drivers/net/ethernet/intel/e1000e/ich8lan.c | 3 +++
> drivers/net/ethernet/intel/e1000e/netdev.c | 15 ++++++++++++++-
> 2 files changed, 17 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/intel/e1000e/ich8lan.c b/drivers/net/ethernet/intel/e1000e/ich8lan.c
> index dea208db1be5..aa90e0ce8aca 100644
> --- a/drivers/net/ethernet/intel/e1000e/ich8lan.c
> +++ b/drivers/net/ethernet/intel/e1000e/ich8lan.c
> @@ -1594,6 +1594,9 @@ 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)
> + 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 4d553c6edd98..a7605e453382 100644
> --- a/drivers/net/ethernet/intel/e1000e/netdev.c
> +++ b/drivers/net/ethernet/intel/e1000e/netdev.c
> @@ -25,6 +25,7 @@
> #include <linux/pm_runtime.h>
> #include <linux/prefetch.h>
> #include <linux/suspend.h>
> +#include <linux/dmi.h>
>
> #include "e1000.h"
> #define CREATE_TRACE_POINTS
> @@ -58,6 +59,17 @@ static const struct e1000_info *e1000_info_tbl[] = {
> [board_pch_ptp] = &e1000_pch_ptp_info,
> };
>
> +static const struct dmi_system_id disable_k1_list[] = {
> + {
> + .ident = "Dell Pro 16 Plus PB16250",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> + DMI_MATCH(DMI_PRODUCT_NAME, "Dell Pro 16 Plus PB16250"),
> + },
> + },
> + {}
> +};
> +
> struct e1000_reg_info {
> u32 ofs;
> char *name;
> @@ -7748,7 +7760,8 @@ 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)
> + /* disable K1 by default on known problematic systems */
> + if (hw->mac.type >= e1000_pch_mtp && dmi_check_system(disable_k1_list))
> adapter->flags2 |= FLAG2_DISABLE_K1;
>
> /* reset the hardware with the new settings */
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Intel-wired-lan] [PATCH iwl-net v3] e1000e: Reconfigure PLL clock gate timeout and re-enable K1 on Meteor Lake
2026-05-06 9:59 ` Thorsten Leemhuis
@ 2026-05-06 20:13 ` Jacob Keller
2026-06-03 10:42 ` Thorsten Leemhuis
0 siblings, 1 reply; 8+ messages in thread
From: Jacob Keller @ 2026-05-06 20:13 UTC (permalink / raw)
To: Thorsten Leemhuis, Dima Ruinskiy, intel-wired-lan
Cc: anthony.l.nguyen, Linux kernel regressions list
On 5/6/2026 2:59 AM, Thorsten Leemhuis wrote:
> On 4/17/26 12:43, Dima Ruinskiy wrote:
>> 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.
>>
>> 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
>
> What happened to this fix for a regression first reported in January? It
> looks like it fell through the cracks. Or was some other solution found?
>
> Ciao, Thorsten
>
There has been a bunch of back and forth discussion and varying versions
of a fix for this. Its still in the Intel Wired LAN queue, and is
currently waiting for one the E1000E team to report testing completed.
Thanks,
Jake
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Intel-wired-lan] [PATCH iwl-net v3] e1000e: Reconfigure PLL clock gate timeout and re-enable K1 on Meteor Lake
2026-05-06 20:13 ` Jacob Keller
@ 2026-06-03 10:42 ` Thorsten Leemhuis
2026-06-03 17:20 ` Jacob Keller
0 siblings, 1 reply; 8+ messages in thread
From: Thorsten Leemhuis @ 2026-06-03 10:42 UTC (permalink / raw)
To: Jacob Keller, Dima Ruinskiy, intel-wired-lan
Cc: anthony.l.nguyen, Linux kernel regressions list, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
netdev
On 5/6/26 22:13, Jacob Keller wrote:
> On 5/6/2026 2:59 AM, Thorsten Leemhuis wrote:
>> On 4/17/26 12:43, Dima Ruinskiy wrote:
>>> 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.
>>>
>>> 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
>>
>> What happened to this fix for a regression first reported in January? It
>> looks like it fell through the cracks. Or was some other solution found?
>>
> There has been a bunch of back and forth discussion and varying versions
> of a fix for this. Its still in the Intel Wired LAN queue, and is
> currently waiting for one the E1000E team to report testing completed.
What's the status? Just wondering, as it looks like this didn't make any
progress, but it's easy to miss things from where I stand.
Ciao, Thorsten
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Intel-wired-lan] [PATCH iwl-net v3] e1000e: Reconfigure PLL clock gate timeout and re-enable K1 on Meteor Lake
2026-06-03 10:42 ` Thorsten Leemhuis
@ 2026-06-03 17:20 ` Jacob Keller
2026-06-03 18:04 ` Tony Nguyen
0 siblings, 1 reply; 8+ messages in thread
From: Jacob Keller @ 2026-06-03 17:20 UTC (permalink / raw)
To: Thorsten Leemhuis, Dima Ruinskiy, intel-wired-lan,
anthony.l.nguyen
Cc: Linux kernel regressions list, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, netdev
On 6/3/2026 3:42 AM, Thorsten Leemhuis wrote:
> On 5/6/26 22:13, Jacob Keller wrote:
>> On 5/6/2026 2:59 AM, Thorsten Leemhuis wrote:
>>> On 4/17/26 12:43, Dima Ruinskiy wrote:
>>>> 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.
>>>>
>>>> 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
>>>
>>> What happened to this fix for a regression first reported in January? It
>>> looks like it fell through the cracks. Or was some other solution found?
>>>
>> There has been a bunch of back and forth discussion and varying versions
>> of a fix for this. Its still in the Intel Wired LAN queue, and is
>> currently waiting for one the E1000E team to report testing completed.
>
> What's the status? Just wondering, as it looks like this didn't make any
> progress, but it's easy to miss things from where I stand.
>
> Ciao, Thorsten
Pushing Tony to the To line so he won't miss it, since he's back running
the queue.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Intel-wired-lan] [PATCH iwl-net v3] e1000e: Reconfigure PLL clock gate timeout and re-enable K1 on Meteor Lake
2026-06-03 17:20 ` Jacob Keller
@ 2026-06-03 18:04 ` Tony Nguyen
0 siblings, 0 replies; 8+ messages in thread
From: Tony Nguyen @ 2026-06-03 18:04 UTC (permalink / raw)
To: Jacob Keller, Thorsten Leemhuis, Dima Ruinskiy, intel-wired-lan
Cc: Linux kernel regressions list, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, netdev
On 6/3/2026 10:20 AM, Jacob Keller wrote:
> On 6/3/2026 3:42 AM, Thorsten Leemhuis wrote:
>> On 5/6/26 22:13, Jacob Keller wrote:
>>> On 5/6/2026 2:59 AM, Thorsten Leemhuis wrote:
>>>> On 4/17/26 12:43, Dima Ruinskiy wrote:
>>>>> 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.
>>>>>
>>>>> 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
>>>>
>>>> What happened to this fix for a regression first reported in January? It
>>>> looks like it fell through the cracks. Or was some other solution found?
>>>>
>>> There has been a bunch of back and forth discussion and varying versions
>>> of a fix for this. Its still in the Intel Wired LAN queue, and is
>>> currently waiting for one the E1000E team to report testing completed.
>>
>> What's the status? Just wondering, as it looks like this didn't make any
>> progress, but it's easy to miss things from where I stand.
>>
>> Ciao, Thorsten
>
> Pushing Tony to the To line so he won't miss it, since he's back running
> the queue.
It's waiting on testing results from our validation; we're checking with
them to see its status.
Thanks,
Tony
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Intel-wired-lan] [PATCH iwl-net v3] e1000e: Reconfigure PLL clock gate timeout and re-enable K1 on Meteor Lake
2026-04-17 10:43 [Intel-wired-lan] [PATCH iwl-net v3] e1000e: Reconfigure PLL clock gate timeout and re-enable K1 on Meteor Lake Dima Ruinskiy
2026-05-06 9:59 ` Thorsten Leemhuis
@ 2026-06-07 13:00 ` Kadosh, MoriyaX
2026-06-10 18:22 ` Brandt, Todd E
2 siblings, 0 replies; 8+ messages in thread
From: Kadosh, MoriyaX @ 2026-06-07 13:00 UTC (permalink / raw)
To: Ruinskiy, Dima, intel-wired-lan@lists.osuosl.org
Cc: Keller, Jacob E, Nguyen, Anthony L
On 17/04/2026 13:43, Ruinskiy, Dima wrote:
> 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.
>
> 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: 3c7bf5af21960 ("e1000e: Introduce private flag to disable K1")
> ---
> v3: add DMI quirk
> v2: add comment for the PLL timeout value and revisit the commit message
> v1: initial version
> ---
> drivers/net/ethernet/intel/e1000e/ich8lan.c | 3 +++
> drivers/net/ethernet/intel/e1000e/netdev.c | 15 ++++++++++++++-
> 2 files changed, 17 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/intel/e1000e/ich8lan.c b/drivers/net/ethernet/intel/e1000e/ich8lan.c
> index dea208db1be5..aa90e0ce8aca 100644
> --- a/drivers/net/ethernet/intel/e1000e/ich8lan.c
> +++ b/drivers/net/ethernet/intel/e1000e/ich8lan.c
> @@ -1594,6 +1594,9 @@ 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)
> + 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 4d553c6edd98..a7605e453382 100644
> --- a/drivers/net/ethernet/intel/e1000e/netdev.c
> +++ b/drivers/net/ethernet/intel/e1000e/netdev.c
> @@ -25,6 +25,7 @@
> #include <linux/pm_runtime.h>
> #include <linux/prefetch.h>
> #include <linux/suspend.h>
> +#include <linux/dmi.h>
>
> #include "e1000.h"
> #define CREATE_TRACE_POINTS
> @@ -58,6 +59,17 @@ static const struct e1000_info *e1000_info_tbl[] = {
> [board_pch_ptp] = &e1000_pch_ptp_info,
> };
>
> +static const struct dmi_system_id disable_k1_list[] = {
> + {
> + .ident = "Dell Pro 16 Plus PB16250",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> + DMI_MATCH(DMI_PRODUCT_NAME, "Dell Pro 16 Plus PB16250"),
> + },
> + },
> + {}
> +};
> +
> struct e1000_reg_info {
> u32 ofs;
> char *name;
> @@ -7748,7 +7760,8 @@ 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)
> + /* disable K1 by default on known problematic systems */
> + if (hw->mac.type >= e1000_pch_mtp && dmi_check_system(disable_k1_list))
> adapter->flags2 |= FLAG2_DISABLE_K1;
>
> /* reset the hardware with the new settings */
> --
> 2.34.1
>
Tested-by: Moriya Kadosh <moriyax.kadosh@intel.com>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Intel-wired-lan] [PATCH iwl-net v3] e1000e: Reconfigure PLL clock gate timeout and re-enable K1 on Meteor Lake
2026-04-17 10:43 [Intel-wired-lan] [PATCH iwl-net v3] e1000e: Reconfigure PLL clock gate timeout and re-enable K1 on Meteor Lake Dima Ruinskiy
2026-05-06 9:59 ` Thorsten Leemhuis
2026-06-07 13:00 ` Kadosh, MoriyaX
@ 2026-06-10 18:22 ` Brandt, Todd E
2 siblings, 0 replies; 8+ messages in thread
From: Brandt, Todd E @ 2026-06-10 18:22 UTC (permalink / raw)
To: Ruinskiy, Dima, intel-wired-lan@lists.osuosl.org
Cc: Keller, Jacob E, Nguyen, Anthony L
On Fri, 2026-04-17 at 13:43 +0300, Dima Ruinskiy wrote:
> 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.
>
> 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: 3c7bf5af21960 ("e1000e: Introduce private flag to disable K1")
> Tested-by: Moriya Kadosh <moriyax.kadosh@intel.com>
> ---
> v3: add DMI quirk
> v2: add comment for the PLL timeout value and revisit the commit
> message
> v1: initial version
> ---
> drivers/net/ethernet/intel/e1000e/ich8lan.c | 3 +++
> drivers/net/ethernet/intel/e1000e/netdev.c | 15 ++++++++++++++-
> 2 files changed, 17 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/intel/e1000e/ich8lan.c
> b/drivers/net/ethernet/intel/e1000e/ich8lan.c
> index dea208db1be5..aa90e0ce8aca 100644
> --- a/drivers/net/ethernet/intel/e1000e/ich8lan.c
> +++ b/drivers/net/ethernet/intel/e1000e/ich8lan.c
> @@ -1594,6 +1594,9 @@ 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)
> + 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 4d553c6edd98..a7605e453382 100644
> --- a/drivers/net/ethernet/intel/e1000e/netdev.c
> +++ b/drivers/net/ethernet/intel/e1000e/netdev.c
> @@ -25,6 +25,7 @@
> #include <linux/pm_runtime.h>
> #include <linux/prefetch.h>
> #include <linux/suspend.h>
> +#include <linux/dmi.h>
>
> #include "e1000.h"
> #define CREATE_TRACE_POINTS
> @@ -58,6 +59,17 @@ static const struct e1000_info *e1000_info_tbl[] =
> {
> [board_pch_ptp] = &e1000_pch_ptp_info,
> };
>
> +static const struct dmi_system_id disable_k1_list[] = {
> + {
> + .ident = "Dell Pro 16 Plus PB16250",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> + DMI_MATCH(DMI_PRODUCT_NAME, "Dell Pro 16 Plus
> PB16250"),
> + },
> + },
> + {}
> +};
> +
> struct e1000_reg_info {
> u32 ofs;
> char *name;
> @@ -7748,7 +7760,8 @@ 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)
> + /* disable K1 by default on known problematic systems */
> + if (hw->mac.type >= e1000_pch_mtp &&
> dmi_check_system(disable_k1_list))
> adapter->flags2 |= FLAG2_DISABLE_K1;
>
> /* reset the hardware with the new settings */
I ran this on two of our new machines and it worked well, thanks! I can
get PC10 in runtime idle now.
Tested-by: Todd Brandt <todd.e.brandt@linux.intel.com>
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2026-06-11 15:59 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-17 10:43 [Intel-wired-lan] [PATCH iwl-net v3] e1000e: Reconfigure PLL clock gate timeout and re-enable K1 on Meteor Lake Dima Ruinskiy
2026-05-06 9:59 ` Thorsten Leemhuis
2026-05-06 20:13 ` Jacob Keller
2026-06-03 10:42 ` Thorsten Leemhuis
2026-06-03 17:20 ` Jacob Keller
2026-06-03 18:04 ` Tony Nguyen
2026-06-07 13:00 ` Kadosh, MoriyaX
2026-06-10 18:22 ` Brandt, Todd E
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.