mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Ruinskiy, Dima" <dima.ruinskiy@intel.com>
To: Simon Horman <horms@kernel.org>, "Rawda, Tony" <Tony.Rawda@disney.com>
Cc: "anthony.l.nguyen@intel.com" <anthony.l.nguyen@intel.com>,
	"przemyslaw.kitszel@intel.com" <przemyslaw.kitszel@intel.com>,
	"intel-wired-lan@lists.osuosl.org"
	<intel-wired-lan@lists.osuosl.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"richardcochran@gmail.com" <richardcochran@gmail.com>,
	"vitaly.lifshits@intel.com" <vitaly.lifshits@intel.com>,
	"sasha.neftin@intel.com" <sasha.neftin@intel.com>
Subject: Re: [PATCH] e1000e: set fixed clock frequency indication for Alder Point
Date: Sun, 6 Sep 2026 13:41:31 +0300	[thread overview]
Message-ID: <77b21bba-9dc8-4fd6-a703-d6e32447e2e4@intel.com> (raw)
In-Reply-To: <20260906085042.GF40544@horms.kernel.org>

On 06/09/2026 11:50, Simon Horman wrote:
> On Thu, Sep 03, 2026 at 06:06:33PM +0000, Rawda, Tony wrote:
>> On some Alder Point (e1000_pch_adp) platforms the XTAL value reported in
>> the software STRAP is incorrect, so the SYSCFI bit in TSYNCRXCTL selects
>> a 24 MHz base frequency while the SYSTIM counter actually advances at
>> 38.4 MHz. As a result the PTP hardware clock runs ~1.6x too fast
>> (38.4/24), which prevents ptp4l and other PTP-based time sync from
>> disciplining the clock.
>>
>> Commit 688a0d61b2d7 ("e1000e: set fixed clock frequency indication for
>> Nahum 11 and Nahum 13") fixed the same problem for e1000_pch_mtp,
>> e1000_pch_lnp and e1000_pch_ptp. Alder Point silicon likewise always
>> runs at 38.4 MHz, so give it the same fixed-frequency override in both
>> e1000e_get_base_timinca() and e1000e_ptp_init().
>>
>> Observed on an HP Z2 Mini G9 with I219-LM (17) [8086:1a1c]: before the
>> change the PHC advanced 16.0 s per 10.0 s of wall-clock time and
>> /sys/class/ptp/ptpN/max_adjustment read 999999999 (MAX_PPB_24MHZ);
>> afterwards it advances ~10.0 s and max_adjustment reads 230769100
>> (MAX_PPB_38400KHZ).
>>
>> Fixes: 59e466888038 ("e1000e: Add support for Alder Lake")
>> Cc: stable@vger.kernel.org
>> Signed-off-by: Tony Rawda <Tony.Rawda@disney.com>
> 
> Reviewed-by: Simon Horman <horms@kernel.org>
Hi Tony,
Thank you for this patch.

Unfortunately, what we found out is that on Alder Lake platforms (and 
also some Tiger Lake), the clock does not _always_ run at 38.4MHz. 
Depending on platform, it can be 24 or 38.4, but some systems in the 
field have the wrong strap value reflected in the SYSCFI bit, so there 
really is no way to know in advance what the correct clock rate is.

We have been working on a patch that runs a quick check during 
initialization and adjusts the clock rate automatically if it detects a 
drift. The patch is here:
https://patchwork.ozlabs.org/project/intel-wired-lan/patch/20260414065809.3021177-1-dima.ruinskiy@intel.com/
(
also here:
https://sashiko.dev/#/message/20260515182419.1597859-11-anthony.l.nguyen%40intel.com
)

Unfortunately, Sashiko pointed out correctly that the patch is not 
robust enough, because the fix most likely will not survive subsequent 
adjustments from userspace. Here is the review:
https://netdev-ai.bots.linux.dev/sashiko/#/patchset/20260515182419.1597859-1-anthony.l.nguyen%40intel.com?part=10

Could you check whether the current state of the auto-adjust patch works 
on your setup? I expect you will see correct clock, at least immediately 
upon driver load.

If it works for you, we will rework the patch to address the 
aforementioned shortcomings.

I'm afraid that your current patch will simply fix it on some TGL/ADL 
systems, while breaking it on others.

--Dima


      reply	other threads:[~2026-09-06 10:41 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-03 18:06 Rawda, Tony
2026-09-06  8:50 ` Simon Horman
2026-09-06 10:41   ` Ruinskiy, Dima [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=77b21bba-9dc8-4fd6-a703-d6e32447e2e4@intel.com \
    --to=dima.ruinskiy@intel.com \
    --cc=Tony.Rawda@disney.com \
    --cc=anthony.l.nguyen@intel.com \
    --cc=horms@kernel.org \
    --cc=intel-wired-lan@lists.osuosl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=przemyslaw.kitszel@intel.com \
    --cc=richardcochran@gmail.com \
    --cc=sasha.neftin@intel.com \
    --cc=vitaly.lifshits@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®