Lines Matching refs:wqe

81 static int qib_init_sge(struct qib_qp *qp, struct qib_rwqe *wqe)  in qib_init_sge()  argument
94 for (i = j = 0; i < wqe->num_sge; i++) { in qib_init_sge()
95 if (wqe->sg_list[i].length == 0) in qib_init_sge()
99 &wqe->sg_list[i], IB_ACCESS_LOCAL_WRITE)) in qib_init_sge()
101 qp->r_len += wqe->sg_list[i].length; in qib_init_sge()
117 wc.wr_id = wqe->wr_id; in qib_init_sge()
144 struct qib_rwqe *wqe; in qib_get_rwqe() local
176 wqe = get_rwqe_ptr(rq, tail); in qib_get_rwqe()
185 if (!wr_id_only && !qib_init_sge(qp, wqe)) { in qib_get_rwqe()
189 qp->r_wr_id = wqe->wr_id; in qib_get_rwqe()
359 struct qib_swqe *wqe; in qib_ruc_loopback() local
387 wqe = get_swqe_ptr(sqp, sqp->s_last); in qib_ruc_loopback()
427 sqp->s_sge.sge = wqe->sg_list[0]; in qib_ruc_loopback()
428 sqp->s_sge.sg_list = wqe->sg_list + 1; in qib_ruc_loopback()
429 sqp->s_sge.num_sge = wqe->wr.num_sge; in qib_ruc_loopback()
430 sqp->s_len = wqe->length; in qib_ruc_loopback()
431 switch (wqe->wr.opcode) { in qib_ruc_loopback()
434 wc.ex.imm_data = wqe->wr.ex.imm_data; in qib_ruc_loopback()
448 wc.ex.imm_data = wqe->wr.ex.imm_data; in qib_ruc_loopback()
458 if (wqe->length == 0) in qib_ruc_loopback()
460 if (unlikely(!qib_rkey_ok(qp, &qp->r_sge.sge, wqe->length, in qib_ruc_loopback()
461 wqe->wr.wr.rdma.remote_addr, in qib_ruc_loopback()
462 wqe->wr.wr.rdma.rkey, in qib_ruc_loopback()
467 qp->r_sge.total_len = wqe->length; in qib_ruc_loopback()
473 if (unlikely(!qib_rkey_ok(qp, &sqp->s_sge.sge, wqe->length, in qib_ruc_loopback()
474 wqe->wr.wr.rdma.remote_addr, in qib_ruc_loopback()
475 wqe->wr.wr.rdma.rkey, in qib_ruc_loopback()
481 qp->r_sge.sge = wqe->sg_list[0]; in qib_ruc_loopback()
482 qp->r_sge.sg_list = wqe->sg_list + 1; in qib_ruc_loopback()
483 qp->r_sge.num_sge = wqe->wr.num_sge; in qib_ruc_loopback()
484 qp->r_sge.total_len = wqe->length; in qib_ruc_loopback()
492 wqe->wr.wr.atomic.remote_addr, in qib_ruc_loopback()
493 wqe->wr.wr.atomic.rkey, in qib_ruc_loopback()
498 sdata = wqe->wr.wr.atomic.compare_add; in qib_ruc_loopback()
500 (wqe->wr.opcode == IB_WR_ATOMIC_FETCH_AND_ADD) ? in qib_ruc_loopback()
503 sdata, wqe->wr.wr.atomic.swap); in qib_ruc_loopback()
550 if (wqe->wr.opcode == IB_WR_RDMA_WRITE_WITH_IMM) in qib_ruc_loopback()
556 wc.byte_len = wqe->length; in qib_ruc_loopback()
564 wqe->wr.send_flags & IB_SEND_SOLICITED); in qib_ruc_loopback()
571 qib_send_complete(sqp, wqe, send_status); in qib_ruc_loopback()
618 qib_send_complete(sqp, wqe, send_status); in qib_ruc_loopback()
770 void qib_send_complete(struct qib_qp *qp, struct qib_swqe *wqe, in qib_send_complete() argument
779 for (i = 0; i < wqe->wr.num_sge; i++) { in qib_send_complete()
780 struct qib_sge *sge = &wqe->sg_list[i]; in qib_send_complete()
787 atomic_dec(&to_iah(wqe->wr.wr.ud.ah)->refcount); in qib_send_complete()
791 (wqe->wr.send_flags & IB_SEND_SIGNALED) || in qib_send_complete()
796 wc.wr_id = wqe->wr.wr_id; in qib_send_complete()
798 wc.opcode = ib_qib_wc_opcode[wqe->wr.opcode]; in qib_send_complete()
801 wc.byte_len = wqe->length; in qib_send_complete()