mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-14 01:49:20 -04:00
eth: fbnic: add software TX timestamping support
Add software TX timestamping support. RX software timestamping is implemented in the core and there is no need to provide special flag in the driver anymore. Signed-off-by: Vadim Fedorenko <vadfed@meta.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
committed by
Paolo Abeni
parent
9e542ff8b7
commit
be65bfc957
@@ -6,6 +6,16 @@
|
||||
#include "fbnic_netdev.h"
|
||||
#include "fbnic_tlv.h"
|
||||
|
||||
static int
|
||||
fbnic_get_ts_info(struct net_device *netdev,
|
||||
struct kernel_ethtool_ts_info *tsinfo)
|
||||
{
|
||||
tsinfo->so_timestamping =
|
||||
SOF_TIMESTAMPING_TX_SOFTWARE;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void
|
||||
fbnic_get_drvinfo(struct net_device *netdev, struct ethtool_drvinfo *drvinfo)
|
||||
{
|
||||
@@ -66,6 +76,7 @@ fbnic_get_eth_mac_stats(struct net_device *netdev,
|
||||
|
||||
static const struct ethtool_ops fbnic_ethtool_ops = {
|
||||
.get_drvinfo = fbnic_get_drvinfo,
|
||||
.get_ts_info = fbnic_get_ts_info,
|
||||
.get_eth_mac_stats = fbnic_get_eth_mac_stats,
|
||||
};
|
||||
|
||||
|
||||
@@ -205,6 +205,9 @@ fbnic_tx_map(struct fbnic_ring *ring, struct sk_buff *skb, __le64 *meta)
|
||||
|
||||
ring->tail = tail;
|
||||
|
||||
/* Record SW timestamp */
|
||||
skb_tx_timestamp(skb);
|
||||
|
||||
/* Verify there is room for another packet */
|
||||
fbnic_maybe_stop_tx(skb->dev, ring, FBNIC_MAX_SKB_DESC);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user