]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net: dpaa_eth: add ndo_hwtstamp_get() implementation
authorVladimir Oltean <vladimir.oltean@nxp.com>
Thu, 8 May 2025 12:47:52 +0000 (15:47 +0300)
committerJakub Kicinski <kuba@kernel.org>
Fri, 9 May 2025 23:40:22 +0000 (16:40 -0700)
Allow SIOCGHWTSTAMP to retrieve the current timestamping settings
on DPAA1 interfaces. This reflects what has been done in
dpaa_hwtstamp_set().

Tested with hwstamp_ctl -i fm1-mac9.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Vadim Fedorenko <vadim.fedorenko@linux.dev>
Acked-by: Madalin Bucur <madalin.bucur@oss.nxp.com>
Link: https://patch.msgid.link/20250508124753.1492742-3-vladimir.oltean@nxp.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c

index d5458a5fb9714faf809e5dfa7ed090ea7b59a76e..5b8d87a0bf82c1623e2bb9cfee6639cb78e7b38a 100644 (file)
@@ -3089,6 +3089,18 @@ static int dpaa_xdp_xmit(struct net_device *net_dev, int n,
        return nxmit;
 }
 
+static int dpaa_hwtstamp_get(struct net_device *dev,
+                            struct kernel_hwtstamp_config *config)
+{
+       struct dpaa_priv *priv = netdev_priv(dev);
+
+       config->tx_type = priv->tx_tstamp ? HWTSTAMP_TX_ON : HWTSTAMP_TX_OFF;
+       config->rx_filter = priv->rx_tstamp ? HWTSTAMP_FILTER_ALL :
+                           HWTSTAMP_FILTER_NONE;
+
+       return 0;
+}
+
 static int dpaa_hwtstamp_set(struct net_device *dev,
                             struct kernel_hwtstamp_config *config,
                             struct netlink_ext_ack *extack)
@@ -3154,6 +3166,7 @@ static const struct net_device_ops dpaa_ops = {
        .ndo_change_mtu = dpaa_change_mtu,
        .ndo_bpf = dpaa_xdp,
        .ndo_xdp_xmit = dpaa_xdp_xmit,
+       .ndo_hwtstamp_get = dpaa_hwtstamp_get,
        .ndo_hwtstamp_set = dpaa_hwtstamp_set,
 };