1
0
Fork 0
alistair23-linux/drivers/net/ethernet/ti
Grygorii Strashko 0d5f54fec0 net: ethernet: ti: cpts: fix tx timestamping timeout
With the low speed Ethernet connection CPDMA notification about packet
processing can be received before CPTS TX timestamp event, which is set
when packet actually left CPSW while cpdma notification is sent when packet
pushed in CPSW fifo.  As result, when connection is slow and CPU is fast
enough TX timestamping is not working properly.

Fix it, by introducing TX SKB queue to store PTP SKBs for which Ethernet
Transmit Event hasn't been received yet and then re-check this queue
with new Ethernet Transmit Events by scheduling CPTS overflow
work more often (every 1 jiffies) until TX SKB queue is not empty.

Side effect of this change is:
 - User space tools require to take into account possible delay in TX
timestamp processing (for example ptp4l works with tx_timestamp_timeout=400
under net traffic and tx_timestamp_timeout=25 in idle).

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-08-01 15:22:55 -07:00
..
Kconfig cpsw/netcp: refine cpts dependency 2017-04-28 15:55:14 -04:00
Makefile cpsw/netcp: work around reverse cpts dependency 2017-03-22 10:56:42 -07:00
cpmac.c cpmac: remove hopeless #warning 2017-01-16 11:54:36 -05:00
cpsw-common.c drivers: net: cpsw-common: Fix reading of mac address for am43 SoCs 2017-06-22 11:14:47 -04:00
cpsw-phy-sel.c drivers: net: cpsw-phy-sel: Clear RGMII_IDMODE on "rgmii" links 2016-12-07 13:12:17 -05:00
cpsw.c net: ethernet: ti: cpsw: Push the request_irq function to the end of probe 2017-07-20 15:28:54 -07:00
cpsw.h net: ethernet: ti: cpts: move dt props parsing to cpts driver 2016-12-07 11:13:48 -05:00
cpsw_ale.c net: netcp: ale: add proper ale entry mask bits for netcp switch ALE 2017-01-07 21:03:50 -05:00
cpsw_ale.h net: netcp: ale: add proper ale entry mask bits for netcp switch ALE 2017-01-07 21:03:50 -05:00
cpts.c net: ethernet: ti: cpts: fix tx timestamping timeout 2017-08-01 15:22:55 -07:00
cpts.h net: ethernet: ti: cpts: fix tx timestamping timeout 2017-08-01 15:22:55 -07:00
davinci_cpdma.c net: ethernet: ti: cpdma: do not enable host error misc irq 2017-06-10 22:10:13 -04:00
davinci_cpdma.h net: ethernet: ti: cpsw: add support for ringparam configuration 2017-01-07 20:48:14 -05:00
davinci_emac.c drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
davinci_mdio.c drivers: net: davinci_mdio: enable pm runtime auto for ti cpsw-mdio 2016-06-28 08:57:19 -04:00
netcp.h net: netcp: use hw capability to remove FCS word from rx packets 2017-01-07 21:03:50 -05:00
netcp_core.c net: propagate tc filter chain index down the ndo_setup_tc call 2017-06-08 09:55:53 -04:00
netcp_ethss.c net: ethernet: ti: netcp_ethss: use cpts to check if packet needs timestamping 2017-06-29 12:28:57 -04:00
netcp_sgmii.c net: netcp: Fixes SGMII reset on network interface shutdown 2015-07-27 01:14:26 -07:00
netcp_xgbepcsr.c net: netcp: Enhance GBE driver to support 10G Ethernet 2015-01-19 15:07:39 -05:00
tlan.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-10-14 10:00:27 -04:00
tlan.h tlan: Don't scream if no link 2014-07-07 17:06:52 -07:00