mirror of
https://github.com/torvalds/linux.git
synced 2026-05-31 10:33:41 +02:00
net: mvpp2: 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. As this also introduces software timestamping support, report those capabilities via the .get_ts_info() method. Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> Link: https://patch.msgid.link/E1uy82E-00000005Sll-0SSy@rmk-PC.armlinux.org.uk Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
5ed994dd0b
commit
3ea308da69
|
|
@ -4439,6 +4439,8 @@ static netdev_tx_t mvpp2_tx(struct sk_buff *skb, struct net_device *dev)
|
|||
txq_pcpu->count += frags;
|
||||
aggr_txq->count += frags;
|
||||
|
||||
skb_tx_timestamp(skb);
|
||||
|
||||
/* Enable transmit */
|
||||
wmb();
|
||||
mvpp2_aggr_txq_pend_desc_add(port, frags);
|
||||
|
|
@ -5252,14 +5254,14 @@ static int mvpp2_ethtool_get_ts_info(struct net_device *dev,
|
|||
{
|
||||
struct mvpp2_port *port = netdev_priv(dev);
|
||||
|
||||
ethtool_op_get_ts_info(dev, info);
|
||||
if (!port->hwtstamp)
|
||||
return -EOPNOTSUPP;
|
||||
return 0;
|
||||
|
||||
info->phc_index = mvpp22_tai_ptp_clock_index(port->priv->tai);
|
||||
info->so_timestamping = SOF_TIMESTAMPING_TX_SOFTWARE |
|
||||
SOF_TIMESTAMPING_TX_HARDWARE |
|
||||
SOF_TIMESTAMPING_RX_HARDWARE |
|
||||
SOF_TIMESTAMPING_RAW_HARDWARE;
|
||||
info->so_timestamping |= SOF_TIMESTAMPING_TX_HARDWARE |
|
||||
SOF_TIMESTAMPING_RX_HARDWARE |
|
||||
SOF_TIMESTAMPING_RAW_HARDWARE;
|
||||
info->tx_types = BIT(HWTSTAMP_TX_OFF) |
|
||||
BIT(HWTSTAMP_TX_ON);
|
||||
info->rx_filters = BIT(HWTSTAMP_FILTER_NONE) |
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user