On Thu, 18 Jun 2020 08:40:23 +0200 Kurt Kanzenbach wrote:
> From: Kamil Alkhouri <[email protected]>
>
> The switch has internal PTP hardware clocks. Add support for it. There are
> three
> clocks:
>
> * Synchronized
> * Syntonized
> * Free running
>
> Currently the synchronized clock is exported to user space which is a good
> default for the beginning. The free running clock might be exported later
> e.g. for implementing 802.1AS-2011/2020 Time Aware Bridges (TAB). The switch
> also supports cross time stamping for that purpose.
>
> The implementation adds support setting/getting the time as well as offset and
> frequency adjustments. However, the clock only holds a partial timeofday
> timestamp. This is why we track the seconds completely in software (see
> overflow
> work and last_ts).
>
> Furthermore, add the PTP multicast addresses into the FDB to forward that
> packages only to the CPU port where they are processed by a PTP program.
>
> Signed-off-by: Kamil Alkhouri <[email protected]>
> Signed-off-by: Kurt Kanzenbach <[email protected]>
Please make sure each patch in the series builds cleanly with the W=1
C=1 flags. Here we have:
../drivers/net/dsa/hirschmann/hellcreek_ptp.c: In function
‘__hellcreek_ptp_clock_read’:
../drivers/net/dsa/hirschmann/hellcreek_ptp.c:30:28: warning: variable
‘sech’ set but not used [-Wunused-but-set-variable]
30 | u16 nsl, nsh, secl, secm, sech;
| ^~~~
../drivers/net/dsa/hirschmann/hellcreek_ptp.c:30:22: warning: variable
‘secm’ set but not used [-Wunused-but-set-variable]
30 | u16 nsl, nsh, secl, secm, sech;
| ^~~~
../drivers/net/dsa/hirschmann/hellcreek_ptp.c:30:16: warning: variable
‘secl’ set but not used [-Wunused-but-set-variable]
30 | u16 nsl, nsh, secl, secm, sech;
| ^~~~
Next patch adds a few more.