Commit dd921fd2 authored by Aya Levin's avatar Aya Levin Committed by Saeed Mahameed

net/mlx5e: Extend tx diagnose function

The following patches in the set enhance the diagnostics info of tx
reporter. Therefore, it is better to pass a pointer to the SQ for
further data extraction.
Signed-off-by: default avatarAya Levin <ayal@mellanox.com>
Reviewed-by: default avatarTariq Toukan <tariqt@mellanox.com>
Acked-by: default avatarJiri Pirko <jiri@mellanox.com>
Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
parent c50de4af
...@@ -146,15 +146,22 @@ static int mlx5e_tx_reporter_recover(struct devlink_health_reporter *reporter, ...@@ -146,15 +146,22 @@ static int mlx5e_tx_reporter_recover(struct devlink_health_reporter *reporter,
static int static int
mlx5e_tx_reporter_build_diagnose_output(struct devlink_fmsg *fmsg, mlx5e_tx_reporter_build_diagnose_output(struct devlink_fmsg *fmsg,
u32 sqn, u8 state, bool stopped) struct mlx5e_txqsq *sq)
{ {
struct mlx5e_priv *priv = sq->channel->priv;
bool stopped = netif_xmit_stopped(sq->txq);
u8 state;
int err; int err;
err = mlx5_core_query_sq_state(priv->mdev, sq->sqn, &state);
if (err)
return err;
err = devlink_fmsg_obj_nest_start(fmsg); err = devlink_fmsg_obj_nest_start(fmsg);
if (err) if (err)
return err; return err;
err = devlink_fmsg_u32_pair_put(fmsg, "sqn", sqn); err = devlink_fmsg_u32_pair_put(fmsg, "sqn", sq->sqn);
if (err) if (err)
return err; return err;
...@@ -191,15 +198,8 @@ static int mlx5e_tx_reporter_diagnose(struct devlink_health_reporter *reporter, ...@@ -191,15 +198,8 @@ static int mlx5e_tx_reporter_diagnose(struct devlink_health_reporter *reporter,
for (i = 0; i < priv->channels.num * priv->channels.params.num_tc; for (i = 0; i < priv->channels.num * priv->channels.params.num_tc;
i++) { i++) {
struct mlx5e_txqsq *sq = priv->txq2sq[i]; struct mlx5e_txqsq *sq = priv->txq2sq[i];
u8 state;
err = mlx5_core_query_sq_state(priv->mdev, sq->sqn, &state);
if (err)
goto unlock;
err = mlx5e_tx_reporter_build_diagnose_output(fmsg, sq->sqn, err = mlx5e_tx_reporter_build_diagnose_output(fmsg, sq);
state,
netif_xmit_stopped(sq->txq));
if (err) if (err)
goto unlock; goto unlock;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment