mirror of
https://github.com/torvalds/linux.git
synced 2026-07-28 10:09:10 +02:00
net: mvneta: add support for hardware timestamps
Add support for hardware timestamps in (e.g.) the PHY by calling skb_tx_timestamp() as close as reasonably possible to the point that the hardware is instructed to send the queued packets. Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> Link: https://patch.msgid.link/E1uwKHe-00000004glk-3nkJ@rmk-PC.armlinux.org.uk Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
dc2f650f7e
commit
903e6d0587
|
|
@ -2984,6 +2984,13 @@ static netdev_tx_t mvneta_tx(struct sk_buff *skb, struct net_device *dev)
|
|||
if (txq->count >= txq->tx_stop_threshold)
|
||||
netif_tx_stop_queue(nq);
|
||||
|
||||
/* This is not really the true transmit point, since we batch
|
||||
* up several before hitting the hardware, but is the best we
|
||||
* can do without more complexity to walk the packets in the
|
||||
* pending section of the transmit queue.
|
||||
*/
|
||||
skb_tx_timestamp(skb);
|
||||
|
||||
if (!netdev_xmit_more() || netif_xmit_stopped(nq) ||
|
||||
txq->pending + frags > MVNETA_TXQ_DEC_SENT_MASK)
|
||||
mvneta_txq_pend_desc_add(pp, txq, frags);
|
||||
|
|
@ -5356,6 +5363,7 @@ static const struct ethtool_ops mvneta_eth_tool_ops = {
|
|||
.set_link_ksettings = mvneta_ethtool_set_link_ksettings,
|
||||
.get_wol = mvneta_ethtool_get_wol,
|
||||
.set_wol = mvneta_ethtool_set_wol,
|
||||
.get_ts_info = ethtool_op_get_ts_info,
|
||||
.get_eee = mvneta_ethtool_get_eee,
|
||||
.set_eee = mvneta_ethtool_set_eee,
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user