[Intel-wired-lan] [PATCH iwl-next v1 1/1] e1000e: introduce private flag to override XTAL clock frequency
Lifshits, Vitaly
vitaly.lifshits at intel.com
Mon Dec 1 12:08:59 UTC 2025
On 11/27/2025 9:01 AM, Loktionov, Aleksandr wrote:
>
>
>> -----Original Message-----
>> From: Intel-wired-lan <intel-wired-lan-bounces at osuosl.org> On Behalf Of
>> Vitaly Lifshits
>> Sent: Thursday, November 27, 2025 5:31 AM
>> To: intel-wired-lan at osuosl.org; netdev at vger.kernel.org;
>> andrew+netdev at lunn.ch; horms at kernel.org; kuba at kernel.org;
>> edumazet at google.com; davem at davemloft.net; pabeni at redhat.com
>> Cc: Lifshits, Vitaly <vitaly.lifshits at intel.com>
>> Subject: [Intel-wired-lan] [PATCH iwl-next v1 1/1] e1000e: introduce private
>> flag to override XTAL clock frequency
>>
>> On some TGP and ADP systems, the hardware XTAL clock is incorrectly set to
> Please expand platform abbreviations ("TGP (Tiger Lake PCH)", "ADP (Alder Lake PCH)") and add minimal test context (kernel ver., device PCI ID, FW, phc_ctl version, and whether CLOCK_REALTIME vs PHC was compared).
>
Thanks, I'll address this in v2.
>> 24MHz instead of the expected 38.4MHz, causing PTP timer inaccuracies. Since
>> affected systems cannot be reliably detected, introduce an ethtool private
>> flag that allows user-space to override the XTAL clock frequency.
>>
>> Tested on an affected system using the phc_ctl tool:
>>
>> Without the flag:
>> sudo phc_ctl enp0s31f6 set 0.0 wait 10 get
>> phc_ctl[...] clock time is 16.000541250 (expected ~10s)
>>
>> With the flag:
>> sudo phc_ctl enp0s31f6 set 0.0 wait 10 get
>> phc_ctl[...] clock time is 9.984407212 (expected ~10s)
>>
> If the XTAL override is applied via a devlink driverinit param, this reset is expected and should be documented.
> If it remains a runtime privflag, I think you should explain why a reset is required.
> I'd recommend documenting the reset requirement and user impact (link flap, timestamp discontinuity).
> /* Add a short comment near the reset logic in code and
> Documentation/networking/devlink/e1000e.rst (if converted to devlink param)
> Or Documentation/networking/ethtool-netlink.rst (if kept as privflag) */
>
Though your comment might become irrelevant if Andrew's detection
approach works, I'll still clarify the reset behavior. e1000e is a
legacy driver and does not support devlink, so the override remains a
runtime privflag. A reset is currently required to reconfigure PTP
parameters with the new timinca value.
>> Signed-off-by: Vitaly Lifshits <vitaly.lifshits at intel.com>
>> ---
>> drivers/net/ethernet/intel/e1000e/e1000.h | 7 ++--
>> drivers/net/ethernet/intel/e1000e/ethtool.c | 39 ++++++++++-----------
>> drivers/net/ethernet/intel/e1000e/ich8lan.c | 4 +--
>> drivers/net/ethernet/intel/e1000e/netdev.c | 18 +++++++---
>> 4 files changed, 39 insertions(+), 29 deletions(-)
>>
>
> ...
>
>> --
>> 2.34.1
>
More information about the Intel-wired-lan
mailing list