On 9/29/2025 10:09 AM, Timo Teras wrote:
On Sun, 28 Sep 2025 11:00:40 +0300
Vitaly Lifshits <[email protected]> wrote:
The K1 state reduces power consumption on ICH family network controllers
during idle periods, similarly to L1 state on PCI Express NICs. Therefore,
it is recommended and enabled by default.
However, on some systems it has been observed to have adverse side
effects, such as packet loss. It has been established through debug that
the problem may be due to firmware misconfiguration of specific systems,
interoperability with certain link partners, or marginal electrical
conditions of specific units.
These problems typically cannot be fixed in the field, and generic
workarounds to resolve the side effects on all systems, while keeping K1
enabled, were found infeasible.
Therefore, add the option for users to globally disable K1 idle state on
the adapter.
Additionally, disable K1 by default for MTL and later platforms, due to
issues reported with the current configuration.
Link:
https://lore.kernel.org/intel-wired-lan/camqyjg3lvqfgqmctxeapur_jq0oqh7ggdxruvtrx_6tth2m...@mail.gmail.com/
Link:
https://lore.kernel.org/intel-wired-lan/[email protected]/
Link: https://lore.kernel.org/intel-wired-lan/Z_z9EjcKtwHCQcZR@mail-itl/
Link: https://github.com/QubesOS/qubes-issues/issues/9896
Link: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2115393
Signed-off-by: Vitaly Lifshits <[email protected]>
---
v4: Revert changing the reconfiguring function from static
v3: Removed disabling K1 in watchdog_task and change the private flag setting
v2: Add a missing semaphore acquiring and disable K1 on MTL by default
---
...
Reviewed-by: Timo Teräs <[email protected]>
Tested-by: Timo Teräs <[email protected]>
Tested-by: Avraham Koren <[email protected]>