From: Jacob Keller <jacob.e.keller@intel.com>
To: "Loktionov, Aleksandr" <aleksandr.loktionov@intel.com>,
Mina Almasry <almasrymina@google.com>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Cc: "Nguyen, Anthony L" <anthony.l.nguyen@intel.com>,
"Kitszel, Przemyslaw" <przemyslaw.kitszel@intel.com>,
Andrew Lunn <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
"Jakub Kicinski" <kuba@kernel.org>,
Paolo Abeni <pabeni@redhat.com>,
Richard Cochran <richardcochran@gmail.com>,
"Rizzo, Luigi" <lrizzo@google.com>,
"namangulati@google.com" <namangulati@google.com>,
"willemb@google.com" <willemb@google.com>,
"intel-wired-lan@lists.osuosl.org"
<intel-wired-lan@lists.osuosl.org>,
"Olech, Milena" <milena.olech@intel.com>,
Shachar Raindel <shacharr@google.com>
Subject: Re: [Intel-wired-lan] [PATCH net v1] idpf: read lower clock bits inside the time sandwich
Date: Thu, 11 Dec 2025 14:06:27 -0800 [thread overview]
Message-ID: <25a83e83-46d1-4a16-9383-6d492cb37c7a@intel.com> (raw)
In-Reply-To: <IA3PR11MB8986D6D6FEB5B8D443E6F087E5A1A@IA3PR11MB8986.namprd11.prod.outlook.com>
[-- Attachment #1.1: Type: text/plain, Size: 3222 bytes --]
On 12/11/2025 2:37 AM, Loktionov, Aleksandr wrote:
>
>
>> -----Original Message-----
>> From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf
>> Of Mina Almasry
>> Sent: Thursday, December 11, 2025 11:19 AM
>> To: netdev@vger.kernel.org; linux-kernel@vger.kernel.org
>> Cc: Mina Almasry <almasrymina@google.com>; Nguyen, Anthony L
>> <anthony.l.nguyen@intel.com>; Kitszel, Przemyslaw
>> <przemyslaw.kitszel@intel.com>; Andrew Lunn <andrew+netdev@lunn.ch>;
>> David S. Miller <davem@davemloft.net>; Eric Dumazet
>> <edumazet@google.com>; Jakub Kicinski <kuba@kernel.org>; Paolo Abeni
>> <pabeni@redhat.com>; Richard Cochran <richardcochran@gmail.com>;
>> Rizzo, Luigi <lrizzo@google.com>; namangulati@google.com;
>> willemb@google.com; intel-wired-lan@lists.osuosl.org; Olech, Milena
>> <milena.olech@intel.com>; Keller, Jacob E <jacob.e.keller@intel.com>;
>> Shachar Raindel <shacharr@google.com>
>> Subject: [Intel-wired-lan] [PATCH net v1] idpf: read lower clock bits
>> inside the time sandwich
>>
>> PCIe reads need to be done inside the time sandwich because PCIe
>> writes may get buffered in the PCIe fabric and posted to the device
>> after the _postts completes. Doing the PCIe read inside the time
>> sandwich guarantees that the write gets flushed before the _postts
>> timestamp is taken.
>>
>> Cc: lrizzo@google.com
>> Cc: namangulati@google.com
>> Cc: willemb@google.com
>> Cc: intel-wired-lan@lists.osuosl.org
>> Cc: milena.olech@intel.com
>> Cc: jacob.e.keller@intel.com
>>
>> Fixes: 5cb8805d2366 ("idpf: negotiate PTP capabilities and get PTP
>> clock")
>> Suggested-by: Shachar Raindel <shacharr@google.com>
>> Signed-off-by: Mina Almasry <almasrymina@google.com>
>> ---
>> drivers/net/ethernet/intel/idpf/idpf_ptp.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/net/ethernet/intel/idpf/idpf_ptp.c
>> b/drivers/net/ethernet/intel/idpf/idpf_ptp.c
>> index 3e1052d070cf..0a8b50350b86 100644
>> --- a/drivers/net/ethernet/intel/idpf/idpf_ptp.c
>> +++ b/drivers/net/ethernet/intel/idpf/idpf_ptp.c
>> @@ -108,11 +108,11 @@ static u64
>> idpf_ptp_read_src_clk_reg_direct(struct idpf_adapter *adapter,
>> ptp_read_system_prets(sts);
>>
>> idpf_ptp_enable_shtime(adapter);
>> + lo = readl(ptp->dev_clk_regs.dev_clk_ns_l);
> The high 32 bits (hi) are still read outside the time sandwich (after ptp_read_system_postts()),
> which defeats the stated purpose of ensuring PCIe write flush before timestamp capture.
> /* I think he "time sandwich" is defined by the region between ptp_read_system_prets(sts) and ptp_read_system_postts(sts) */ Isn't it?
>
>
Any read will cause writes to flush, so we don't need to move both
registers.
The point here is that we write to the shadow register to snapshot time,
and it won't guarantee to be flushed to the device until a read. By
moving a single read in side the time sandwhich, we ensure that its
actually complete before the time snapshot is taken. We don't need to
wait for both registers because of the snapshot behavior.
I think the patch is fine-as-is.
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Thanks,
Jake
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]
next prev parent reply other threads:[~2025-12-11 22:06 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-11 10:19 Mina Almasry
2025-12-11 10:37 ` [Intel-wired-lan] " Loktionov, Aleksandr
2025-12-11 22:06 ` Jacob Keller [this message]
2025-12-12 7:57 ` Przemek Kitszel
2025-12-12 19:43 ` Jacob Keller
2025-12-12 21:08 ` Loktionov, Aleksandr
2026-01-16 18:31 ` Salin, Samuel
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=25a83e83-46d1-4a16-9383-6d492cb37c7a@intel.com \
--to=jacob.e.keller@intel.com \
--cc=aleksandr.loktionov@intel.com \
--cc=almasrymina@google.com \
--cc=andrew+netdev@lunn.ch \
--cc=anthony.l.nguyen@intel.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=intel-wired-lan@lists.osuosl.org \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lrizzo@google.com \
--cc=milena.olech@intel.com \
--cc=namangulati@google.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=przemyslaw.kitszel@intel.com \
--cc=richardcochran@gmail.com \
--cc=shacharr@google.com \
--cc=willemb@google.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®