Lines Matching refs:wqe
123 int ipath_init_sge(struct ipath_qp *qp, struct ipath_rwqe *wqe, in ipath_init_sge() argument
130 for (i = j = 0; i < wqe->num_sge; i++) { in ipath_init_sge()
131 if (wqe->sg_list[i].length == 0) in ipath_init_sge()
135 &wqe->sg_list[i], IB_ACCESS_LOCAL_WRITE)) in ipath_init_sge()
137 *lengthp += wqe->sg_list[i].length; in ipath_init_sge()
146 wc.wr_id = wqe->wr_id; in ipath_init_sge()
172 struct ipath_rwqe *wqe; in ipath_get_rwqe() local
205 wqe = get_rwqe_ptr(rq, tail); in ipath_get_rwqe()
211 } while (!ipath_init_sge(qp, wqe, &qp->r_len, &qp->r_sge)); in ipath_get_rwqe()
212 qp->r_wr_id = wqe->wr_id; in ipath_get_rwqe()
264 struct ipath_swqe *wqe; in ipath_ruc_loopback() local
290 wqe = get_swqe_ptr(sqp, sqp->s_last); in ipath_ruc_loopback()
328 sqp->s_sge.sge = wqe->sg_list[0]; in ipath_ruc_loopback()
329 sqp->s_sge.sg_list = wqe->sg_list + 1; in ipath_ruc_loopback()
330 sqp->s_sge.num_sge = wqe->wr.num_sge; in ipath_ruc_loopback()
331 sqp->s_len = wqe->length; in ipath_ruc_loopback()
332 switch (wqe->wr.opcode) { in ipath_ruc_loopback()
335 wc.ex.imm_data = wqe->wr.ex.imm_data; in ipath_ruc_loopback()
346 wc.ex.imm_data = wqe->wr.ex.imm_data; in ipath_ruc_loopback()
353 if (wqe->length == 0) in ipath_ruc_loopback()
355 if (unlikely(!ipath_rkey_ok(qp, &qp->r_sge, wqe->length, in ipath_ruc_loopback()
356 wqe->wr.wr.rdma.remote_addr, in ipath_ruc_loopback()
357 wqe->wr.wr.rdma.rkey, in ipath_ruc_loopback()
365 if (unlikely(!ipath_rkey_ok(qp, &sqp->s_sge, wqe->length, in ipath_ruc_loopback()
366 wqe->wr.wr.rdma.remote_addr, in ipath_ruc_loopback()
367 wqe->wr.wr.rdma.rkey, in ipath_ruc_loopback()
370 qp->r_sge.sge = wqe->sg_list[0]; in ipath_ruc_loopback()
371 qp->r_sge.sg_list = wqe->sg_list + 1; in ipath_ruc_loopback()
372 qp->r_sge.num_sge = wqe->wr.num_sge; in ipath_ruc_loopback()
380 wqe->wr.wr.atomic.remote_addr, in ipath_ruc_loopback()
381 wqe->wr.wr.atomic.rkey, in ipath_ruc_loopback()
386 sdata = wqe->wr.wr.atomic.compare_add; in ipath_ruc_loopback()
388 (wqe->wr.opcode == IB_WR_ATOMIC_FETCH_AND_ADD) ? in ipath_ruc_loopback()
391 sdata, wqe->wr.wr.atomic.swap); in ipath_ruc_loopback()
432 if (wqe->wr.opcode == IB_WR_RDMA_WRITE_WITH_IMM) in ipath_ruc_loopback()
438 wc.byte_len = wqe->length; in ipath_ruc_loopback()
446 wqe->wr.send_flags & IB_SEND_SOLICITED); in ipath_ruc_loopback()
452 ipath_send_complete(sqp, wqe, send_status); in ipath_ruc_loopback()
492 ipath_send_complete(sqp, wqe, send_status); in ipath_ruc_loopback()
699 void ipath_send_complete(struct ipath_qp *qp, struct ipath_swqe *wqe, in ipath_send_complete() argument
709 (wqe->wr.send_flags & IB_SEND_SIGNALED) || in ipath_send_complete()
714 wc.wr_id = wqe->wr.wr_id; in ipath_send_complete()
716 wc.opcode = ib_ipath_wc_opcode[wqe->wr.opcode]; in ipath_send_complete()
719 wc.byte_len = wqe->length; in ipath_send_complete()