linux-stable/include/linux/dsa
Christian Eggers ab32f56a41 net: dsa: microchip: ptp: add packet transmission timestamping
This patch adds the routines for transmission of ptp packets. When the
ptp pdelay_req packet to be transmitted, it uses the deferred xmit
worker to schedule the packets.
During irq_setup, interrupt for Sync, Pdelay_req and Pdelay_rsp are
enabled. So interrupt is triggered for all three packets. But for
p2p1step, we require only time stamp of Pdelay_req packet. Hence to
avoid posting of the completion from ISR routine for Sync and
Pdelay_resp packets, ts_en flag is introduced. This controls which
packets need to processed for timestamp.
After the packet is transmitted, ISR is triggered. The time at which
packet transmitted is recorded to separate register.
This value is reconstructed to absolute time and posted to the user
application through socket error queue.

Signed-off-by: Christian Eggers <ceggers@arri.de>
Co-developed-by: Arun Ramadoss <arun.ramadoss@microchip.com>
Signed-off-by: Arun Ramadoss <arun.ramadoss@microchip.com>
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-01-13 08:40:41 +00:00
..
8021q.h net: dsa: move tag_8021q headers to their proper place 2022-11-22 20:41:53 -08:00
brcm.h net: dsa: move the Broadcom tag information in a separate header file 2021-01-07 15:42:07 -08:00
ksz_common.h net: dsa: microchip: ptp: add packet transmission timestamping 2023-01-13 08:40:41 +00:00
lan9303.h net: dsa: lan9303: phy_addr_sel_strap rename and retype 2018-01-04 13:35:07 -05:00
loop.h net: Don't include filter.h from net/sock.h 2021-12-29 08:48:14 -08:00
mv88e6xxx.h net: dsa: mv88e6xxx: isolate the ATU databases of standalone and bridged ports 2021-10-08 15:47:46 -07:00
ocelot.h net: dsa: tag_ocelot: convert to tagger-owned data 2021-12-12 12:51:33 +00:00
sja1105.h net: dsa: sja1105: fix broken connection with the sja1110 tagger 2021-12-14 12:45:16 +00:00
tag_qca.h net: dsa: tag_qca: fix wrong MGMT_DATA2 size 2023-01-01 09:27:12 +00:00