[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <510652dc-54b4-0e11-657e-e37ee3ca26a9@gmail.com>
Date: Thu, 7 Apr 2022 16:24:02 +0100
From: Edward Cree <ecree.xilinx@...il.com>
To: davem@...emloft.net, kuba@...nel.org, pabeni@...hat.com
Cc: netdev@...r.kernel.org, habetsm.xilinx@...il.com,
ihuguet@...hat.com
Subject: [PATCH net-next] sfc: use hardware tx timestamps for more than PTP
From: Bert Kenward <bkenward@...arflare.com>
The 8000 series and newer NICs all get hardware timestamps from the MAC
and can provide timestamps on a normal TX queue, rather than via a slow
path through the MC. As such we can use this path for any packet where a
hardware timestamp is requested.
This also enables support for PTP over transports other than IPv4+UDP.
Signed-off-by: Bert Kenward <bkenward@...arflare.com>
Signed-off-by: Edward Cree <ecree@...inx.com>
---
drivers/net/ethernet/sfc/tx.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/sfc/tx.c b/drivers/net/ethernet/sfc/tx.c
index d16e031e95f4..35240eb6e903 100644
--- a/drivers/net/ethernet/sfc/tx.c
+++ b/drivers/net/ethernet/sfc/tx.c
@@ -524,7 +524,8 @@ netdev_tx_t efx_hard_start_xmit(struct sk_buff *skb,
/* PTP "event" packet */
if (unlikely(efx_xmit_with_hwtstamp(skb)) &&
- unlikely(efx_ptp_is_ptp_tx(efx, skb))) {
+ ((efx_ptp_use_mac_tx_timestamps(efx) && efx->ptp_data) ||
+ unlikely(efx_ptp_is_ptp_tx(efx, skb)))) {
/* There may be existing transmits on the channel that are
* waiting for this packet to trigger the doorbell write.
* We need to send the packets at this point.
Powered by blists - more mailing lists