Lines Matching refs:wqe

82 static int qib_init_sge(struct qib_qp *qp, struct qib_rwqe *wqe)  in qib_init_sge()  argument
95 for (i = j = 0; i < wqe->num_sge; i++) { in qib_init_sge()
96 if (wqe->sg_list[i].length == 0) in qib_init_sge()
100 &wqe->sg_list[i], IB_ACCESS_LOCAL_WRITE)) in qib_init_sge()
102 qp->r_len += wqe->sg_list[i].length; in qib_init_sge()
118 wc.wr_id = wqe->wr_id; in qib_init_sge()
145 struct qib_rwqe *wqe; in qib_get_rwqe() local
177 wqe = get_rwqe_ptr(rq, tail); in qib_get_rwqe()
186 if (!wr_id_only && !qib_init_sge(qp, wqe)) { in qib_get_rwqe()
190 qp->r_wr_id = wqe->wr_id; in qib_get_rwqe()
360 struct qib_swqe *wqe; in qib_ruc_loopback() local
388 wqe = get_swqe_ptr(sqp, sqp->s_last); in qib_ruc_loopback()
428 sqp->s_sge.sge = wqe->sg_list[0]; in qib_ruc_loopback()
429 sqp->s_sge.sg_list = wqe->sg_list + 1; in qib_ruc_loopback()
430 sqp->s_sge.num_sge = wqe->wr.num_sge; in qib_ruc_loopback()
431 sqp->s_len = wqe->length; in qib_ruc_loopback()
432 switch (wqe->wr.opcode) { in qib_ruc_loopback()
435 wc.ex.imm_data = wqe->wr.ex.imm_data; in qib_ruc_loopback()
449 wc.ex.imm_data = wqe->wr.ex.imm_data; in qib_ruc_loopback()
459 if (wqe->length == 0) in qib_ruc_loopback()
461 if (unlikely(!qib_rkey_ok(qp, &qp->r_sge.sge, wqe->length, in qib_ruc_loopback()
462 wqe->rdma_wr.remote_addr, in qib_ruc_loopback()
463 wqe->rdma_wr.rkey, in qib_ruc_loopback()
468 qp->r_sge.total_len = wqe->length; in qib_ruc_loopback()
474 if (unlikely(!qib_rkey_ok(qp, &sqp->s_sge.sge, wqe->length, in qib_ruc_loopback()
475 wqe->rdma_wr.remote_addr, in qib_ruc_loopback()
476 wqe->rdma_wr.rkey, in qib_ruc_loopback()
482 qp->r_sge.sge = wqe->sg_list[0]; in qib_ruc_loopback()
483 qp->r_sge.sg_list = wqe->sg_list + 1; in qib_ruc_loopback()
484 qp->r_sge.num_sge = wqe->wr.num_sge; in qib_ruc_loopback()
485 qp->r_sge.total_len = wqe->length; in qib_ruc_loopback()
493 wqe->atomic_wr.remote_addr, in qib_ruc_loopback()
494 wqe->atomic_wr.rkey, in qib_ruc_loopback()
499 sdata = wqe->atomic_wr.compare_add; in qib_ruc_loopback()
501 (wqe->atomic_wr.wr.opcode == IB_WR_ATOMIC_FETCH_AND_ADD) ? in qib_ruc_loopback()
504 sdata, wqe->atomic_wr.swap); in qib_ruc_loopback()
551 if (wqe->wr.opcode == IB_WR_RDMA_WRITE_WITH_IMM) in qib_ruc_loopback()
557 wc.byte_len = wqe->length; in qib_ruc_loopback()
565 wqe->wr.send_flags & IB_SEND_SOLICITED); in qib_ruc_loopback()
572 qib_send_complete(sqp, wqe, send_status); in qib_ruc_loopback()
619 qib_send_complete(sqp, wqe, send_status); in qib_ruc_loopback()
771 void qib_send_complete(struct qib_qp *qp, struct qib_swqe *wqe, in qib_send_complete() argument
780 for (i = 0; i < wqe->wr.num_sge; i++) { in qib_send_complete()
781 struct qib_sge *sge = &wqe->sg_list[i]; in qib_send_complete()
788 atomic_dec(&to_iah(wqe->ud_wr.ah)->refcount); in qib_send_complete()
792 (wqe->wr.send_flags & IB_SEND_SIGNALED) || in qib_send_complete()
797 wc.wr_id = wqe->wr.wr_id; in qib_send_complete()
799 wc.opcode = ib_qib_wc_opcode[wqe->wr.opcode]; in qib_send_complete()
802 wc.byte_len = wqe->length; in qib_send_complete()