Lines Matching refs:wr
355 static int rxe_post_srq_recv(struct ib_srq *ibsrq, const struct ib_recv_wr *wr, in rxe_post_srq_recv() argument
364 while (wr) { in rxe_post_srq_recv()
365 err = post_one_recv(&srq->rq, wr); in rxe_post_srq_recv()
368 wr = wr->next; in rxe_post_srq_recv()
374 *bad_wr = wr; in rxe_post_srq_recv()
498 static void init_send_wr(struct rxe_qp *qp, struct rxe_send_wr *wr, in init_send_wr() argument
501 wr->wr_id = ibwr->wr_id; in init_send_wr()
502 wr->num_sge = ibwr->num_sge; in init_send_wr()
503 wr->opcode = ibwr->opcode; in init_send_wr()
504 wr->send_flags = ibwr->send_flags; in init_send_wr()
509 wr->wr.ud.remote_qpn = ud_wr(ibwr)->remote_qpn; in init_send_wr()
510 wr->wr.ud.remote_qkey = ud_wr(ibwr)->remote_qkey; in init_send_wr()
512 wr->wr.ud.pkey_index = ud_wr(ibwr)->pkey_index; in init_send_wr()
513 if (wr->opcode == IB_WR_SEND_WITH_IMM) in init_send_wr()
514 wr->ex.imm_data = ibwr->ex.imm_data; in init_send_wr()
516 switch (wr->opcode) { in init_send_wr()
518 wr->ex.imm_data = ibwr->ex.imm_data; in init_send_wr()
522 wr->wr.rdma.remote_addr = rdma_wr(ibwr)->remote_addr; in init_send_wr()
523 wr->wr.rdma.rkey = rdma_wr(ibwr)->rkey; in init_send_wr()
526 wr->ex.imm_data = ibwr->ex.imm_data; in init_send_wr()
529 wr->ex.invalidate_rkey = ibwr->ex.invalidate_rkey; in init_send_wr()
533 wr->wr.atomic.remote_addr = in init_send_wr()
535 wr->wr.atomic.compare_add = in init_send_wr()
537 wr->wr.atomic.swap = atomic_wr(ibwr)->swap; in init_send_wr()
538 wr->wr.atomic.rkey = atomic_wr(ibwr)->rkey; in init_send_wr()
541 wr->ex.invalidate_rkey = ibwr->ex.invalidate_rkey; in init_send_wr()
544 wr->wr.reg.mr = reg_wr(ibwr)->mr; in init_send_wr()
545 wr->wr.reg.key = reg_wr(ibwr)->key; in init_send_wr()
546 wr->wr.reg.access = reg_wr(ibwr)->access; in init_send_wr()
563 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()
727 *bad_wr = wr; in rxe_post_recv()
734 while (wr) { in rxe_post_recv()
735 err = post_one_recv(rq, wr); in rxe_post_recv()
737 *bad_wr = wr; in rxe_post_recv()
740 wr = wr->next; in rxe_post_recv()