Lines Matching refs:send_wr

113 static void trace_send_wr_ud(const struct ib_send_wr *send_wr)
117 while (send_wr) {
118 struct ib_mad_hdr *mad_hdr = send_wr->wr.ud.mad_hdr;
119 struct ib_sge *sge = send_wr->sg_list;
120 ehca_gen_dbg("send_wr#%x wr_id=%lx num_sge=%x "
121 "send_flags=%x opcode=%x", idx, send_wr->wr_id,
122 send_wr->num_sge, send_wr->send_flags,
123 send_wr->opcode);
125 ehca_gen_dbg("send_wr#%x mad_hdr base_version=%x "
137 for (j = 0; j < send_wr->num_sge; j++) {
139 ehca_gen_dbg("send_wr#%x sge#%x addr=%p length=%x "
143 ehca_dmp(data, sge->length, "send_wr#%x sge#%x",
148 send_wr = send_wr->next;
149 } /* eof while send_wr */
156 const struct ib_send_wr *send_wr,
163 u32 remote_qkey = send_wr->wr.ud.remote_qkey;
166 if (unlikely((send_wr->num_sge < 0) ||
167 (send_wr->num_sge > qp->ipz_squeue.act_nr_of_sg))) {
170 send_wr->num_sge, qp->ipz_squeue.act_nr_of_sg);
177 wqe_p->work_request_id = replace_wr_id(send_wr->wr_id, sq_map_idx);
179 qmap_entry->app_wr_id = get_app_wr_id(send_wr->wr_id);
183 switch (send_wr->opcode) {
196 ehca_gen_err("Invalid opcode=%x", send_wr->opcode);
200 wqe_p->wqef = (send_wr->opcode) & WQEF_HIGH_NIBBLE;
204 if ((send_wr->send_flags & IB_SEND_SIGNALED ||
211 if (send_wr->opcode == IB_WR_SEND_WITH_IMM ||
212 send_wr->opcode == IB_WR_RDMA_WRITE_WITH_IMM) {
214 wqe_p->immediate_data = be32_to_cpu(send_wr->ex.imm_data);
218 wqe_p->nr_of_data_seg = send_wr->num_sge;
226 if (send_wr->wr.ud.remote_qkey & 0x80000000)
229 wqe_p->destination_qp_number = send_wr->wr.ud.remote_qpn << 8;
231 if (unlikely(!send_wr->wr.ud.ah)) {
235 if (unlikely(send_wr->wr.ud.remote_qpn == 0)) {
239 my_av = container_of(send_wr->wr.ud.ah, struct ehca_av, ib_ah);
246 for (idx = 0; idx < send_wr->num_sge; idx++) {
248 send_wr->sg_list[idx].addr;
250 send_wr->sg_list[idx].lkey;
252 send_wr->sg_list[idx].length;
258 wqe_p->pkeyi = send_wr->wr.ud.pkey_index;
260 trace_send_wr_ud(send_wr);
266 if (send_wr->send_flags & IB_SEND_FENCE)
272 send_wr->wr.rdma.remote_addr;
273 wqe_p->u.nud.rkey = send_wr->wr.rdma.rkey;
280 for (idx = 0; idx < send_wr->num_sge; idx++) {
282 send_wr->sg_list[idx].addr;
284 send_wr->sg_list[idx].lkey;
286 send_wr->sg_list[idx].length;
287 dma_length += send_wr->sg_list[idx].length;
292 if (send_wr->opcode == IB_WR_RDMA_READ) {
441 struct ib_send_wr *send_wr,
480 while (send_wr) {
481 ret = post_one_send(my_qp, send_wr, 0);
486 send_wr = send_wr->next;
500 *bad_send_wr = send_wr;