> -----Original Message-----
> From: Intel-wired-lan <[email protected]> On Behalf
> Of Vitaly Lifshits
> Sent: Monday, February 2, 2026 11:33 AM
> To: [email protected]
> Cc: [email protected]; [email protected];
> [email protected]; Lifshits, Vitaly <[email protected]>
> Subject: [Intel-wired-lan] [PATCH iwl-net v2 1/1] e1000e: reconfigure
> PLL clock gate value and re-enable K1 on Meteor Lake
>
> 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 <[email protected]>
> ---
> 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
Reviewed-by: Aleksandr Loktionov <[email protected]>