Lines Matching refs:rq

82 	struct mlx5e_rq *rq;
91 rq = &icosq->channel->rq;
106 mlx5e_deactivate_rq(rq);
116 /* At this point, both the rq and the icosq are disabled */
124 mlx5e_free_rx_missing_descs(rq);
131 mlx5e_activate_rq(rq);
132 rq->stats->recover++;
152 struct mlx5e_rq *rq = ctx;
155 mlx5e_deactivate_rq(rq);
156 err = mlx5e_flush_rq(rq, MLX5_RQC_STATE_ERR);
157 clear_bit(MLX5E_RQ_STATE_RECOVERING, &rq->state);
161 mlx5e_activate_rq(rq);
162 rq->stats->recover++;
163 if (rq->channel)
164 mlx5e_trigger_napi_icosq(rq->channel);
166 mlx5e_trigger_napi_sched(rq->cq.napi);
173 struct mlx5e_rq *rq;
176 rq = ctx;
177 eq = rq->cq.mcq.eq;
179 err = mlx5e_health_channel_eq_recover(rq->netdev, eq, rq->cq.ch_stats);
180 if (err && rq->icosq)
181 clear_bit(MLX5E_SQ_STATE_ENABLED, &rq->icosq->state);
221 static void mlx5e_health_rq_put_sw_state(struct devlink_fmsg *fmsg, struct mlx5e_rq *rq)
231 test_bit(i, &rq->state));
237 mlx5e_rx_reporter_build_diagnose_output_rq_common(struct mlx5e_rq *rq,
246 err = mlx5e_query_rq_state(rq->mdev, rq->rqn, &hw_state);
250 wqes_sz = mlx5e_rqwq_get_cur_sz(rq);
251 wq_head = mlx5e_rqwq_get_head(rq);
252 wqe_counter = mlx5e_rqwq_get_wqe_counter(rq);
254 devlink_fmsg_u32_pair_put(fmsg, "rqn", rq->rqn);
259 mlx5e_health_rq_put_sw_state(fmsg, rq);
260 mlx5e_health_cq_diag_fmsg(&rq->cq, fmsg);
261 mlx5e_health_eq_diag_fmsg(rq->cq.mcq.eq, fmsg);
263 if (rq->icosq) {
264 struct mlx5e_icosq *icosq = rq->icosq;
268 err = mlx5_core_query_sq_state(rq->mdev, icosq->sqn, &icosq_hw_state);
278 static void mlx5e_rx_reporter_build_diagnose_output(struct mlx5e_rq *rq,
282 devlink_fmsg_u32_pair_put(fmsg, "channel ix", rq->ix);
283 mlx5e_rx_reporter_build_diagnose_output_rq_common(rq, fmsg);
287 static void mlx5e_rx_reporter_diagnose_generic_rq(struct mlx5e_rq *rq,
290 struct mlx5e_priv *priv = rq->priv;
296 rq_sz = mlx5e_rqwq_get_size(rq);
297 real_time = mlx5_is_real_time_rq(rq->mdev);
298 rq_stride = BIT(mlx5e_mpwqe_get_log_stride_size(rq->mdev, params, NULL));
305 mlx5e_health_cq_common_diag_fmsg(&rq->cq, fmsg);
315 mlx5e_rx_reporter_diagnose_generic_rq(&ptp_ch->rq, fmsg);
324 struct mlx5e_rq *generic_rq = &priv->channels.c[0]->rq;
334 static void mlx5e_rx_reporter_build_diagnose_output_ptp_rq(struct mlx5e_rq *rq,
339 mlx5e_rx_reporter_build_diagnose_output_rq_common(rq, fmsg);
361 struct mlx5e_rq *rq;
363 rq = test_bit(MLX5E_CHANNEL_STATE_XSK, c->state) ?
364 &c->xskrq : &c->rq;
366 mlx5e_rx_reporter_build_diagnose_output(rq, fmsg);
369 mlx5e_rx_reporter_build_diagnose_output_ptp_rq(&ptp_ch->rq, fmsg);
415 struct mlx5e_rq *rq = ctx;
430 key.index1 = rq->rqn;
463 struct mlx5e_rq *rq = &priv->channels.c[i]->rq;
465 mlx5e_health_queue_dump(priv, fmsg, rq->rqn, "RQ");
469 mlx5e_health_queue_dump(priv, fmsg, ptp_ch->rq.rqn, "PTP RQ");
493 void mlx5e_reporter_rx_timeout(struct mlx5e_rq *rq)
496 struct mlx5e_icosq *icosq = rq->icosq;
497 struct mlx5e_priv *priv = rq->priv;
501 err_ctx.ctx = rq;
509 rq->ix, icosq_str, rq->rqn, rq->cq.mcq.cqn);
514 void mlx5e_reporter_rq_cqe_err(struct mlx5e_rq *rq)
517 struct mlx5e_priv *priv = rq->priv;
520 err_ctx.ctx = rq;
523 snprintf(err_str, sizeof(err_str), "ERR CQE on RQ: 0x%x", rq->rqn);