Re: [RFC Patch net-next v2 3/8] net: dsa: microchip: Initial hardware time stamping support

From: Arun.Ramadoss
Date: Thu Nov 24 2022 - 05:52:56 EST


On Thu, 2022-11-24 at 12:22 +0200, Vladimir Oltean wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you
> know the content is safe
>
> On Wed, Nov 23, 2022 at 01:57:47PM +0000, Arun.Ramadoss@xxxxxxxxxxxxx
> wrote:
> > > What's your excuse which such a horrible code pattern? What will
> > > happen
> > > so bad with the packet if it's flagged with a TX timestamp
> > > request in
> > > KSZ_SKB_CB(skb) at the same time as REG_PTP_MSG_CONF1 is written
> > > to?
> > >
> > > Also, doesn't dev->ports[port].hwts_tx_en serve as a guard
> > > against
> > > flagging packets for TX timestamps when you shouldn't?
> > >
> >
> > I took this configuration template routine from other driver.

Mistake here. It is carried forwarded from Christian Eggers patch.

>
> Not really a good excuse. The sja1105 driver has more hardware-
> specific
> issues to deal with, not necessarily the same as ksz.
>
> > Can I replace above snippet with
> >
> > tagger_data->hwtstamp_set_state(dev->ds, rx_on);
> > ret = ksz_ptp_enable_mode(dev, rx_on);
> > if (ret)
> > return ret;
>
> Why do you need to call hwtstamp_set_state anyway?

In tag_ksz.c, xmit function query this state, to determine whether to
allocate the 4 PTP timestamp bytes in the skb_buffer or not. Using this
tagger_data set state, ptp enable and disable is communicated between
ksz_ptp.c and tag_ksz.c