Re: [RFC Patch net-next 0/6] net: dsa: microchip: add gPTP support for LAN937x switch

From: Arun.Ramadoss
Date: Tue Oct 18 2022 - 02:44:13 EST


On Mon, 2022-10-17 at 20:19 +0300, Vladimir Oltean wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you
> know the content is safe
>

Hi Vladimir,
Thanks for the comment.

> Hi Arun,
>
> On Fri, Oct 14, 2022 at 08:58:51PM +0530, Arun Ramadoss wrote:
> > The LAN937x switch has capable for supporting IEEE 1588 PTP
> > protocol. This
> > patch series add gPTP profile support and tested using the ptp4l
> > application.
> > LAN937x has the same PTP register set similar to KSZ9563, hence the
> > implementation has been made common for the ksz switches. But the
> > testing is
> > done only for lan937x switch.
>
> Would it be possible to actually test these patches on KSZ9563?
>
> Christian Eggers tried to add PTP support for this switch a while
> ago,
> and he claims that two-step TX timestamping was de-featured for
> KSZ95xx
> due to hardware errata.
>
https://patchwork.ozlabs.org/project/netdev/patch/20201019172435.4416-8-ceggers@xxxxxxx/

I had developed this patch set to add gPTP support for LAN937x based on
the Christian eggers patch for KSZ9563. Initially I thought of keeping
implementation specific to LAN937x through lan937x_ptp.c files. Since
the register sets are same for LAN937x/KSZ9563, I developed using
ksz_ptp.c so that in future Christain eggers patch can be merged to it
to support the 1 step clock support.
I read the Hardware errata of KSZ95xx on 2 step clock and found that it
was fixed in LAN937x switches. If this is case, Do I need to move this
2 step timestamping specific to LAN937x as LAN937x_ptp.c & not claim
for ksz9563 or common implementation in ksz_ptp.c & export the
functionality based on chip-id in get_ts_info dsa hooks.

--
Arun

>
> >
> > Arun Ramadoss (6):
> > net: dsa: microchip: adding the posix clock support
> > net: dsa: microchip: Initial hardware time stamping support
> > net: dsa: microchip: Manipulating absolute time using ptp hw
> > clock
> > net: dsa: microchip: enable the ptp interrupt for timestamping
> > net: dsa: microchip: Adding the ptp packet reception logic
> > net: dsa: microchip: add the transmission tstamp logic
> >
> > drivers/net/dsa/microchip/Kconfig | 10 +
> > drivers/net/dsa/microchip/Makefile | 1 +
> > drivers/net/dsa/microchip/ksz_common.c | 43 +-
> > drivers/net/dsa/microchip/ksz_common.h | 31 +
> > drivers/net/dsa/microchip/ksz_ptp.c | 755
> > ++++++++++++++++++++++++
> > drivers/net/dsa/microchip/ksz_ptp.h | 84 +++
> > drivers/net/dsa/microchip/ksz_ptp_reg.h | 68 +++
> > include/linux/dsa/ksz_common.h | 53 ++
> > net/dsa/tag_ksz.c | 156 ++++-
> > 9 files changed, 1192 insertions(+), 9 deletions(-)
> > create mode 100644 drivers/net/dsa/microchip/ksz_ptp.c
> > create mode 100644 drivers/net/dsa/microchip/ksz_ptp.h
> > create mode 100644 drivers/net/dsa/microchip/ksz_ptp_reg.h
> > create mode 100644 include/linux/dsa/ksz_common.h
> >
> >
> > base-commit: 66ae04368efbe20eb8951c9a76158f99ce672f25
> > --
> > 2.36.1
> >