Lines Matching refs:wr
51 struct mlx5_ib_gsi_wr *wr;
56 wr = &gsi->outstanding_wrs[index % gsi->cap.max_send_wr];
58 if (!wr->completed)
61 WARN_ON_ONCE(mlx5_ib_generate_wc(gsi_cq, &wr->wc));
62 wr->completed = false;
71 struct mlx5_ib_gsi_wr *wr =
78 wr->completed = true;
79 wr_id = wr->wc.wr_id;
80 wr->wc = *wc;
81 wr->wc.wr_id = wr_id;
82 wr->wc.qp = &mqp->ibqp;
389 struct ib_ud_wr *wr, struct ib_wc *wc)
406 gsi_wr->wc.pkey_index = wr->pkey_index;
407 gsi_wr->wc.wr_id = wr->wr.wr_id;
414 wr->wr.wr_cqe = &gsi_wr->cqe;
420 static int mlx5_ib_gsi_silent_drop(struct mlx5_ib_qp *mqp, struct ib_ud_wr *wr)
423 { .wr_id = wr->wr.wr_id },
430 ret = mlx5_ib_add_outstanding_wr(mqp, wr, &wc);
440 static struct ib_qp *get_tx_qp(struct mlx5_ib_gsi_qp *gsi, struct ib_ud_wr *wr)
443 struct mlx5_ib_ah *ah = to_mah(wr->ah);
444 int qp_index = wr->pkey_index;
458 int mlx5_ib_gsi_post_send(struct ib_qp *qp, const struct ib_send_wr *wr,
467 for (; wr; wr = wr->next) {
468 struct ib_ud_wr cur_wr = *ud_wr(wr);
470 cur_wr.wr.next = NULL;
486 ret = ib_post_send(tx_qp, &cur_wr.wr, bad_wr);
488 /* Undo the effect of adding the outstanding wr */
499 *bad_wr = wr;
503 int mlx5_ib_gsi_post_recv(struct ib_qp *qp, const struct ib_recv_wr *wr,
509 return ib_post_recv(gsi->rx_qp, wr, bad_wr);