[PATCH net] net: stmmac: ensure PTP time register reads are consistent
Yannick Vignon
yannick.vignon at oss.nxp.com
Thu Feb 3 08:38:10 PST 2022
On 2/3/2022 5:28 PM, Russell King (Oracle) wrote:
> On Thu, Feb 03, 2022 at 05:00:25PM +0100, Yannick Vignon wrote:
>> From: Yannick Vignon <yannick.vignon at nxp.com>
>>
>> Even if protected from preemption and interrupts, a small time window
>> remains when the 2 register reads could return inconsistent values,
>> each time the "seconds" register changes. This could lead to an about
>> 1-second error in the reported time.
>
> Have you checked whether the hardware protects against this (i.o.w. the
> hardware latches the PTP_STSR value when PTP_STNSR is read, or vice
> versa? Several PTP devices I've looked at do this to allow consistent
> reading.
>
It doesn't. I was able to observe inconsistent values doing reads in
either order, and we had already observed the issue with that same IP on
another device (Cortex-M based, not running Linux). It's not easy to
reproduce, the time window is small, but it's there.
More information about the linux-arm-kernel
mailing list