回复: [EXT] Re: [net] net: dsa: felix: update base time of time-aware shaper when adjusting PTP time

From: Xiaoliang Yang
Date: Thu Jun 16 2022 - 00:16:11 EST


On Thu, 16 Jun 2022 10:59:10 +0800 Jakub Kicinski wrote:
> On Wed, 15 Jun 2022 11:36:10 +0800 Xiaoliang Yang wrote:
> > When adjusting the PTP clock, the base time of the TAS configuration
> > will become unreliable. We need reset the TAS configuration by using a
> > new base time.
> >
> > For example, if the driver gets a base time 0 of Qbv configuration
> > from user, and current time is 20000. The driver will set the TAS base
> > time to be 20000. After the PTP clock adjustment, the current time
> > becomes 10000. If the TAS base time is still 20000, it will be a
> > future time, and TAS entry list will stop running. Another example, if
> > the current time becomes to be 10000000 after PTP clock adjust, a
> > large time offset can cause the hardware to hang.
> >
> > This patch introduces a tas_clock_adjust() function to reset the TAS
> > module by using a new base time after the PTP clock adjustment. This
> > can avoid issues above.
> >
> > Due to PTP clock adjustment can occur at any time, it may conflict
> > with the TAS configuration. We introduce a new TAS lock to serialize
> > the access to the TAS registers.
> >
> > Signed-off-by: Xiaoliang Yang <xiaoliang.yang_1@xxxxxxx>
>
> You missed some CCs (./scripts/get_maintainer.pl) and there needs to be a
> Fixes tag if you're targeting net.
Thanks, I will check the maintainers list and add them. This patch adds a new
function that reconfigure the basetime of TAS to support the PTP clock
adjustment case. It seems not an obvious bug fix patch, maybe it's better to
send it to net-next.