[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200910074315.59771a9a@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com>
Date: Thu, 10 Sep 2020 07:43:15 -0700
From: Jakub Kicinski <kuba@...nel.org>
To: Yangbo Lu <yangbo.lu@....com>
Cc: netdev@...r.kernel.org, "David S . Miller" <davem@...emloft.net>,
Ioana Ciornei <ioana.ciornei@....com>,
Ioana Radulescu <ruxandra.radulescu@....com>,
Richard Cochran <richardcochran@...il.com>
Subject: Re: [PATCH 5/5] dpaa2-eth: support PTP Sync packet one-step
timestamping
On Thu, 10 Sep 2020 17:38:35 +0800 Yangbo Lu wrote:
> This patch is to add PTP sync packet one-step timestamping support.
> Before egress, one-step timestamping enablement needs,
>
> - Enabling timestamp and FAS (Frame Annotation Status) in
> dpni buffer layout.
>
> - Write timestamp to frame annotation and set PTP bit in
> FAS to mark as one-step timestamping event.
>
> - Enabling one-step timestamping by dpni_set_single_step_cfg()
> API, with offset provided to insert correction time on frame.
> The offset must respect all MAC headers, VLAN tags and other
> protocol headers accordingly. The correction field update can
> consider delays up to one second. So PTP frame needs to be
> filtered and parsed, and written timestamp into Sync frame
> originTimestamp field.
>
> The operation of API dpni_set_single_step_cfg() has to be done
> when no one-step timestamping frames are in flight. So we have
> to make sure the last one-step timestamping frame has already
> been transmitted on hardware before starting to send the current
> one. The resolution is,
>
> - Utilize skb->cb[0] to mark timestamping request per packet.
> If it is one-step timestamping PTP sync packet, queue to skb queue.
> If not, transmit immediately.
>
> - Schedule a work to transmit skbs in skb queue.
>
> - mutex lock is used to ensure the last one-step timestamping packet
> has already been transmitted on hardware through TX confirmation queue
> before transmitting current packet.
>
> Signed-off-by: Yangbo Lu <yangbo.lu@....com>
This doesn't build on 32bit:
ERROR: modpost: "__udivdi3" [drivers/net/ethernet/freescale/dpaa2/fsl-dpaa2-eth.ko] undefined!
ERROR: modpost: "__umoddi3" [drivers/net/ethernet/freescale/dpaa2/fsl-dpaa2-eth.ko] undefined!
Powered by blists - more mailing lists