mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
synced 2025-04-19 20:58:31 +09:00
net: dsa: implement get_ts_stats ethtool operation for user ports
Integrate with the standard infrastructure for reporting hardware packet timestamping statistics. Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Jakub Kicinski <kuba@kernel.org> Link: https://patch.msgid.link/20250116104628.123555-3-vladimir.oltean@nxp.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
6a128cdf19
commit
4b0a3ffa79
@ -906,6 +906,8 @@ struct dsa_switch_ops {
|
||||
void (*get_rmon_stats)(struct dsa_switch *ds, int port,
|
||||
struct ethtool_rmon_stats *rmon_stats,
|
||||
const struct ethtool_rmon_hist_range **ranges);
|
||||
void (*get_ts_stats)(struct dsa_switch *ds, int port,
|
||||
struct ethtool_ts_stats *ts_stats);
|
||||
void (*get_stats64)(struct dsa_switch *ds, int port,
|
||||
struct rtnl_link_stats64 *s);
|
||||
void (*get_pause_stats)(struct dsa_switch *ds, int port,
|
||||
|
@ -1150,6 +1150,16 @@ dsa_user_get_rmon_stats(struct net_device *dev,
|
||||
ds->ops->get_rmon_stats(ds, dp->index, rmon_stats, ranges);
|
||||
}
|
||||
|
||||
static void dsa_user_get_ts_stats(struct net_device *dev,
|
||||
struct ethtool_ts_stats *ts_stats)
|
||||
{
|
||||
struct dsa_port *dp = dsa_user_to_port(dev);
|
||||
struct dsa_switch *ds = dp->ds;
|
||||
|
||||
if (ds->ops->get_ts_stats)
|
||||
ds->ops->get_ts_stats(ds, dp->index, ts_stats);
|
||||
}
|
||||
|
||||
static void dsa_user_net_selftest(struct net_device *ndev,
|
||||
struct ethtool_test *etest, u64 *buf)
|
||||
{
|
||||
@ -2501,6 +2511,7 @@ static const struct ethtool_ops dsa_user_ethtool_ops = {
|
||||
.get_eth_mac_stats = dsa_user_get_eth_mac_stats,
|
||||
.get_eth_ctrl_stats = dsa_user_get_eth_ctrl_stats,
|
||||
.get_rmon_stats = dsa_user_get_rmon_stats,
|
||||
.get_ts_stats = dsa_user_get_ts_stats,
|
||||
.set_wol = dsa_user_set_wol,
|
||||
.get_wol = dsa_user_get_wol,
|
||||
.set_eee = dsa_user_set_eee,
|
||||
|
Loading…
x
Reference in New Issue
Block a user