From: Richard Cochran <richardcochran@gmail.com>
To: Vladimir Oltean <olteanv@gmail.com>
Cc: Florian Fainelli <f.fainelli@gmail.com>,
Vivien Didelot <vivien.didelot@gmail.com>,
Andrew Lunn <andrew@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
John Stultz <john.stultz@linaro.org>,
Thomas Gleixner <tglx@linutronix.de>,
Stephen Boyd <sboyd@kernel.org>,
lkml <linux-kernel@vger.kernel.org>,
netdev <netdev@vger.kernel.org>
Subject: Re: [PATCH net-next 0/5] PTP support for the SJA1105 DSA driver
Date: Fri, 31 May 2019 08:11:51 -0700 [thread overview]
Message-ID: <20190531151151.k3a2wdf5f334qmqh@localhost> (raw)
In-Reply-To: <CA+h21hroywaij3gyO0u6v+GFVO2Fv_dP_a+L3oMGpQH8mQgJ5g@mail.gmail.com>
On Fri, May 31, 2019 at 05:27:15PM +0300, Vladimir Oltean wrote:
> On Fri, 31 May 2019 at 17:08, Richard Cochran <richardcochran@gmail.com> wrote:
> > This can be done simply using a data structure in the driver with an
> > appropriate locking mechanism. Then you don't have to worry which
> > core the driver code runs on.
> >
>
> Actually you do. DSA is special because it is not the first net device
> in the RX path that processes the frames. Something needs to be done
> on the master port.
Before you said,
the switch in its great wisdom mangles bytes 01-1B-19-xx-xx-00
of the DMAC to place the switch id and source port there (a
rudimentary tagging mechanism).
So why not simply save each frame in a per-switch/port data structure?
Now I'm starting to understand your series. I think it can be done in
simpler way...
sja1105_rcv_meta_state_machine - can and should be at the driver level
and not at the port level.
sja1105_port_rxtstamp_work - isn't needed at all.
How about this?
1. When the driver receives a deferred PTP frame, save it into a
per-switch,port slot at the driver (not port) level.
2. When the driver receives a META frame, match it to the
per-switch,port slot. If there is a PTP frame in that slot, then
deliver it with the time stamp from the META frame.
Thanks,
Richard
next prev parent reply other threads:[~2019-05-31 15:11 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-28 23:56 [PATCH net-next 0/5] PTP support for the SJA1105 DSA driver Vladimir Oltean
2019-05-28 23:56 ` [PATCH net-next 1/5] timecounter: Add helper for reconstructing partial timestamps Vladimir Oltean
2019-05-29 2:14 ` John Stultz
2019-05-29 4:40 ` Richard Cochran
2019-05-29 20:23 ` Vladimir Oltean
2019-05-28 23:56 ` [PATCH net-next 2/5] net: dsa: sja1105: Add support for the PTP clock Vladimir Oltean
2019-05-28 23:56 ` [PATCH net-next 3/5] net: dsa: mv88e6xxx: Let taggers specify a can_timestamp function Vladimir Oltean
2019-05-29 4:49 ` Richard Cochran
2019-05-29 20:33 ` Vladimir Oltean
2019-05-30 3:51 ` Richard Cochran
2019-05-30 7:42 ` Vladimir Oltean
2019-05-30 14:23 ` Richard Cochran
2019-05-30 14:40 ` Richard Cochran
2019-05-30 14:47 ` Vladimir Oltean
2019-05-30 15:01 ` Richard Cochran
2019-11-19 11:35 ` Design issue in DSA RX timestamping (Was "Re: [PATCH net-next 3/5] net: dsa: mv88e6xxx: Let taggers specify a can_timestamp function") Vladimir Oltean
2019-11-19 14:03 ` Richard Cochran
2019-05-28 23:56 ` [PATCH net-next 4/5] net: dsa: sja1105: Add support for PTP timestamping Vladimir Oltean
2019-05-28 23:56 ` [PATCH net-next 5/5] net: dsa: sja1105: Increase priority of CPU-trapped frames Vladimir Oltean
2019-05-29 4:52 ` [PATCH net-next 0/5] PTP support for the SJA1105 DSA driver Richard Cochran
2019-05-29 20:41 ` Vladimir Oltean
2019-05-30 3:45 ` Richard Cochran
2019-05-30 9:01 ` Vladimir Oltean
2019-05-30 14:30 ` Richard Cochran
2019-05-30 14:57 ` Vladimir Oltean
2019-05-30 15:05 ` Richard Cochran
2019-05-30 15:23 ` Vladimir Oltean
2019-05-31 4:34 ` Richard Cochran
2019-05-31 13:23 ` Vladimir Oltean
2019-05-31 14:08 ` Richard Cochran
2019-05-31 14:27 ` Vladimir Oltean
2019-05-31 15:11 ` Richard Cochran [this message]
2019-05-31 15:21 ` Richard Cochran
2019-05-31 15:23 ` Vladimir Oltean
2019-05-31 16:09 ` Richard Cochran
2019-05-31 16:16 ` Vladimir Oltean
2019-05-31 18:12 ` Vladimir Oltean
2019-06-01 5:07 ` Richard Cochran
2019-06-01 10:31 ` Vladimir Oltean
2019-06-01 12:06 ` Vladimir Oltean
2019-06-02 2:18 ` Richard Cochran
2019-06-02 2:17 ` Richard Cochran
2019-06-01 5:03 ` Richard Cochran
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190531151151.k3a2wdf5f334qmqh@localhost \
--to=richardcochran@gmail.com \
--cc=andrew@lunn.ch \
--cc=davem@davemloft.net \
--cc=f.fainelli@gmail.com \
--cc=john.stultz@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=sboyd@kernel.org \
--cc=tglx@linutronix.de \
--cc=vivien.didelot@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.