diff options
author | Nogah Frankel <nogahf@mellanox.com> | 2018-02-28 04:44:59 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-02-28 12:06:00 -0500 |
commit | 2f88047ec42cc0cc8228247033a8f83960ce7f81 (patch) | |
tree | 897098167249c39bc5f1124ddd4afd7f559d066c | |
parent | eed4baeb040aa41323d0091c18d36cc5a895792d (diff) |
mlxsw: spectrum: Add priority counters
Add TX packets and bytes counters per switch priority per port.
Signed-off-by: Nogah Frankel <nogahf@mellanox.com>
Reviewed-by: Yuval Mintz <yuvalm@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 10 | ||||
-rw-r--r-- | drivers/net/ethernet/mellanox/mlxsw/spectrum.h | 2 |
2 files changed, 12 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum.c index 8d2d140d7910..7c6204f701ae 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum.c | |||
@@ -1040,6 +1040,16 @@ mlxsw_sp_port_get_hw_xstats(struct net_device *dev, | |||
1040 | xstats->tail_drop[i] = | 1040 | xstats->tail_drop[i] = |
1041 | mlxsw_reg_ppcnt_tc_no_buffer_discard_uc_get(ppcnt_pl); | 1041 | mlxsw_reg_ppcnt_tc_no_buffer_discard_uc_get(ppcnt_pl); |
1042 | } | 1042 | } |
1043 | |||
1044 | for (i = 0; i < IEEE_8021QAZ_MAX_TCS; i++) { | ||
1045 | err = mlxsw_sp_port_get_stats_raw(dev, MLXSW_REG_PPCNT_PRIO_CNT, | ||
1046 | i, ppcnt_pl); | ||
1047 | if (err) | ||
1048 | continue; | ||
1049 | |||
1050 | xstats->tx_packets[i] = mlxsw_reg_ppcnt_tx_frames_get(ppcnt_pl); | ||
1051 | xstats->tx_bytes[i] = mlxsw_reg_ppcnt_tx_octets_get(ppcnt_pl); | ||
1052 | } | ||
1043 | } | 1053 | } |
1044 | 1054 | ||
1045 | static void update_stats_cache(struct work_struct *work) | 1055 | static void update_stats_cache(struct work_struct *work) |
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum.h b/drivers/net/ethernet/mellanox/mlxsw/spectrum.h index cc9786ff3b05..d5e711d8ad71 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum.h +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum.h | |||
@@ -210,6 +210,8 @@ struct mlxsw_sp_port_xstats { | |||
210 | u64 wred_drop[TC_MAX_QUEUE]; | 210 | u64 wred_drop[TC_MAX_QUEUE]; |
211 | u64 tail_drop[TC_MAX_QUEUE]; | 211 | u64 tail_drop[TC_MAX_QUEUE]; |
212 | u64 backlog[TC_MAX_QUEUE]; | 212 | u64 backlog[TC_MAX_QUEUE]; |
213 | u64 tx_bytes[IEEE_8021QAZ_MAX_TCS]; | ||
214 | u64 tx_packets[IEEE_8021QAZ_MAX_TCS]; | ||
213 | }; | 215 | }; |
214 | 216 | ||
215 | struct mlxsw_sp_port { | 217 | struct mlxsw_sp_port { |