net: dsa: add get_pause_stats support
Add support for pause stats Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> Reviewed-by: Vladimir Oltean <olteanv@gmail.com> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Родитель
702e701432
Коммит
3d410403a5
|
@ -895,6 +895,8 @@ struct dsa_switch_ops {
|
|||
const struct ethtool_rmon_hist_range **ranges);
|
||||
void (*get_stats64)(struct dsa_switch *ds, int port,
|
||||
struct rtnl_link_stats64 *s);
|
||||
void (*get_pause_stats)(struct dsa_switch *ds, int port,
|
||||
struct ethtool_pause_stats *pause_stats);
|
||||
void (*self_test)(struct dsa_switch *ds, int port,
|
||||
struct ethtool_test *etest, u64 *data);
|
||||
|
||||
|
|
|
@ -1109,6 +1109,16 @@ static int dsa_slave_set_link_ksettings(struct net_device *dev,
|
|||
return phylink_ethtool_ksettings_set(dp->pl, cmd);
|
||||
}
|
||||
|
||||
static void dsa_slave_get_pause_stats(struct net_device *dev,
|
||||
struct ethtool_pause_stats *pause_stats)
|
||||
{
|
||||
struct dsa_port *dp = dsa_slave_to_port(dev);
|
||||
struct dsa_switch *ds = dp->ds;
|
||||
|
||||
if (ds->ops->get_pause_stats)
|
||||
ds->ops->get_pause_stats(ds, dp->index, pause_stats);
|
||||
}
|
||||
|
||||
static void dsa_slave_get_pauseparam(struct net_device *dev,
|
||||
struct ethtool_pauseparam *pause)
|
||||
{
|
||||
|
@ -2100,6 +2110,7 @@ static const struct ethtool_ops dsa_slave_ethtool_ops = {
|
|||
.get_eee = dsa_slave_get_eee,
|
||||
.get_link_ksettings = dsa_slave_get_link_ksettings,
|
||||
.set_link_ksettings = dsa_slave_set_link_ksettings,
|
||||
.get_pause_stats = dsa_slave_get_pause_stats,
|
||||
.get_pauseparam = dsa_slave_get_pauseparam,
|
||||
.set_pauseparam = dsa_slave_set_pauseparam,
|
||||
.get_rxnfc = dsa_slave_get_rxnfc,
|
||||
|
|
Загрузка…
Ссылка в новой задаче