Commit d27c6e89 authored by Vladimir Oltean's avatar Vladimir Oltean Committed by Jakub Kicinski
Browse files

net: dpaa2-eth: add ndo_hwtstamp_get() implementation



Allow SIOCGHWTSTAMP to retrieve the current timestamping settings on
DPNIs. This reflects what has been done in dpaa2_eth_hwtstamp_set().

Tested with hwstamp_ctl -i endpmac17. Before the change, it prints
"Device driver does not have support for non-destructive SIOCGHWTSTAMP."
After the change, it retrieves the previously set configuration.

Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
Tested-by: Vladimir Oltean <vladimir.oltean@nxp.com> # LX2160A
Reviewed-by: default avatarVadim Fedorenko <vadim.fedorenko@linux.dev>
Link: https://patch.msgid.link/20250508134102.1747075-2-vladimir.oltean@nxp.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent b6e79c5d
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -2618,6 +2618,21 @@ static int dpaa2_eth_hwtstamp_set(struct net_device *dev,
	return 0;
}

static int dpaa2_eth_hwtstamp_get(struct net_device *dev,
				  struct kernel_hwtstamp_config *config)
{
	struct dpaa2_eth_priv *priv = netdev_priv(dev);

	if (!dpaa2_ptp)
		return -EINVAL;

	config->tx_type = priv->tx_tstamp_type;
	config->rx_filter = priv->rx_tstamp ? HWTSTAMP_FILTER_ALL :
			    HWTSTAMP_FILTER_NONE;

	return 0;
}

static int dpaa2_eth_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
{
	struct dpaa2_eth_priv *priv = netdev_priv(dev);
@@ -3029,6 +3044,7 @@ static const struct net_device_ops dpaa2_eth_ops = {
	.ndo_setup_tc = dpaa2_eth_setup_tc,
	.ndo_vlan_rx_add_vid = dpaa2_eth_rx_add_vid,
	.ndo_vlan_rx_kill_vid = dpaa2_eth_rx_kill_vid,
	.ndo_hwtstamp_get = dpaa2_eth_hwtstamp_get,
	.ndo_hwtstamp_set = dpaa2_eth_hwtstamp_set,
};