Lines Matching refs:wr

363 static int rxe_post_srq_recv(struct ib_srq *ibsrq, const struct ib_recv_wr *wr,  in rxe_post_srq_recv()  argument
372 while (wr) { in rxe_post_srq_recv()
373 err = post_one_recv(&srq->rq, wr); in rxe_post_srq_recv()
376 wr = wr->next; in rxe_post_srq_recv()
382 *bad_wr = wr; in rxe_post_srq_recv()
508 static void init_send_wr(struct rxe_qp *qp, struct rxe_send_wr *wr, in init_send_wr() argument
511 wr->wr_id = ibwr->wr_id; in init_send_wr()
512 wr->opcode = ibwr->opcode; in init_send_wr()
513 wr->send_flags = ibwr->send_flags; in init_send_wr()
519 wr->wr.ud.remote_qpn = ud_wr(ibwr)->remote_qpn; in init_send_wr()
520 wr->wr.ud.remote_qkey = ud_wr(ibwr)->remote_qkey; in init_send_wr()
521 wr->wr.ud.ah_num = to_rah(ibah)->ah_num; in init_send_wr()
523 wr->wr.ud.pkey_index = ud_wr(ibwr)->pkey_index; in init_send_wr()
524 if (wr->opcode == IB_WR_SEND_WITH_IMM) in init_send_wr()
525 wr->ex.imm_data = ibwr->ex.imm_data; in init_send_wr()
527 switch (wr->opcode) { in init_send_wr()
529 wr->ex.imm_data = ibwr->ex.imm_data; in init_send_wr()
533 wr->wr.rdma.remote_addr = rdma_wr(ibwr)->remote_addr; in init_send_wr()
534 wr->wr.rdma.rkey = rdma_wr(ibwr)->rkey; in init_send_wr()
537 wr->ex.imm_data = ibwr->ex.imm_data; in init_send_wr()
540 wr->ex.invalidate_rkey = ibwr->ex.invalidate_rkey; in init_send_wr()
544 wr->wr.atomic.remote_addr = in init_send_wr()
546 wr->wr.atomic.compare_add = in init_send_wr()
548 wr->wr.atomic.swap = atomic_wr(ibwr)->swap; in init_send_wr()
549 wr->wr.atomic.rkey = atomic_wr(ibwr)->rkey; in init_send_wr()
552 wr->ex.invalidate_rkey = ibwr->ex.invalidate_rkey; in init_send_wr()
555 wr->wr.reg.mr = reg_wr(ibwr)->mr; in init_send_wr()
556 wr->wr.reg.key = reg_wr(ibwr)->key; in init_send_wr()
557 wr->wr.reg.access = reg_wr(ibwr)->access; in init_send_wr()
584 init_send_wr(qp, &wqe->wr, ibwr); in init_send_wqe()
643 static int rxe_post_send_kernel(struct rxe_qp *qp, const struct ib_send_wr *wr, in rxe_post_send_kernel() argument
652 while (wr) { in rxe_post_send_kernel()
653 mask = wr_opcode_mask(wr->opcode, qp); in rxe_post_send_kernel()
656 *bad_wr = wr; in rxe_post_send_kernel()
660 if (unlikely((wr->send_flags & IB_SEND_INLINE) && in rxe_post_send_kernel()
663 *bad_wr = wr; in rxe_post_send_kernel()
667 next = wr->next; in rxe_post_send_kernel()
670 for (i = 0; i < wr->num_sge; i++) in rxe_post_send_kernel()
671 length += wr->sg_list[i].length; in rxe_post_send_kernel()
673 err = post_one_send(qp, wr, mask, length); in rxe_post_send_kernel()
676 *bad_wr = wr; in rxe_post_send_kernel()
679 wr = next; in rxe_post_send_kernel()
689 static int rxe_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr, in rxe_post_send() argument
695 *bad_wr = wr; in rxe_post_send()
700 *bad_wr = wr; in rxe_post_send()
709 return rxe_post_send_kernel(qp, wr, bad_wr); in rxe_post_send()
712 static int rxe_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *wr, in rxe_post_recv() argument
721 *bad_wr = wr; in rxe_post_recv()
726 *bad_wr = wr; in rxe_post_recv()
732 while (wr) { in rxe_post_recv()
733 err = post_one_recv(rq, wr); in rxe_post_recv()
735 *bad_wr = wr; in rxe_post_recv()
738 wr = wr->next; in rxe_post_recv()