Lines Matching refs:ib_wr

3233 fill_wqe_sg_send(struct nes_hw_qp_wqe *wqe, struct ib_send_wr *ib_wr, u32 uselkey)  in fill_wqe_sg_send()  argument
3237 for (sge_index = 0; sge_index < ib_wr->num_sge; sge_index++) { in fill_wqe_sg_send()
3239 ib_wr->sg_list[sge_index].addr); in fill_wqe_sg_send()
3241 ib_wr->sg_list[sge_index].length); in fill_wqe_sg_send()
3244 (ib_wr->sg_list[sge_index].lkey)); in fill_wqe_sg_send()
3248 total_payload_length += ib_wr->sg_list[sge_index].length; in fill_wqe_sg_send()
3259 static int nes_post_send(struct ib_qp *ibqp, struct ib_send_wr *ib_wr, in nes_post_send() argument
3284 while (ib_wr) { in nes_post_send()
3301 u64temp = (u64)(ib_wr->wr_id); in nes_post_send()
3304 switch (ib_wr->opcode) { in nes_post_send()
3307 if (IB_WR_SEND == ib_wr->opcode) { in nes_post_send()
3308 if (ib_wr->send_flags & IB_SEND_SOLICITED) in nes_post_send()
3313 if (ib_wr->send_flags & IB_SEND_SOLICITED) in nes_post_send()
3319 ib_wr->ex.invalidate_rkey); in nes_post_send()
3322 if (ib_wr->num_sge > nesdev->nesadapter->max_sge) { in nes_post_send()
3327 if (ib_wr->send_flags & IB_SEND_FENCE) in nes_post_send()
3330 if ((ib_wr->send_flags & IB_SEND_INLINE) && in nes_post_send()
3332 (ib_wr->sg_list[0].length <= 64)) { in nes_post_send()
3334 (void *)(unsigned long)ib_wr->sg_list[0].addr, ib_wr->sg_list[0].length); in nes_post_send()
3336 ib_wr->sg_list[0].length); in nes_post_send()
3339 fill_wqe_sg_send(wqe, ib_wr, 1); in nes_post_send()
3345 if (ib_wr->num_sge > nesdev->nesadapter->max_sge) { in nes_post_send()
3347 ib_wr->num_sge, nesdev->nesadapter->max_sge); in nes_post_send()
3352 if (ib_wr->send_flags & IB_SEND_FENCE) in nes_post_send()
3356 ib_wr->wr.rdma.rkey); in nes_post_send()
3358 ib_wr->wr.rdma.remote_addr); in nes_post_send()
3360 if ((ib_wr->send_flags & IB_SEND_INLINE) && in nes_post_send()
3362 (ib_wr->sg_list[0].length <= 64)) { in nes_post_send()
3364 (void *)(unsigned long)ib_wr->sg_list[0].addr, ib_wr->sg_list[0].length); in nes_post_send()
3366 ib_wr->sg_list[0].length); in nes_post_send()
3369 fill_wqe_sg_send(wqe, ib_wr, 1); in nes_post_send()
3378 if (ib_wr->num_sge > 1) { in nes_post_send()
3380 ib_wr->num_sge); in nes_post_send()
3384 if (ib_wr->opcode == IB_WR_RDMA_READ) { in nes_post_send()
3389 ib_wr->ex.invalidate_rkey); in nes_post_send()
3393 ib_wr->wr.rdma.remote_addr); in nes_post_send()
3395 ib_wr->wr.rdma.rkey); in nes_post_send()
3397 ib_wr->sg_list->length); in nes_post_send()
3399 ib_wr->sg_list->addr); in nes_post_send()
3401 ib_wr->sg_list->lkey); in nes_post_send()
3407 ib_wr->ex.invalidate_rkey); in nes_post_send()
3412 int flags = ib_wr->wr.fast_reg.access_flags; in nes_post_send()
3414 container_of(ib_wr->wr.fast_reg.page_list, in nes_post_send()
3420 if (ib_wr->wr.fast_reg.page_list_len > in nes_post_send()
3429 ib_wr->wr.fast_reg.iova_start); in nes_post_send()
3432 ib_wr->wr.fast_reg.length); in nes_post_send()
3437 ib_wr->wr.fast_reg.rkey); in nes_post_send()
3439 if (ib_wr->wr.fast_reg.page_shift == 12) { in nes_post_send()
3441 } else if (ib_wr->wr.fast_reg.page_shift == 21) { in nes_post_send()
3445 " ib_wr=%u, max=1\n", ib_wr->num_sge); in nes_post_send()
3464 if (ib_wr->wr.fast_reg.page_list_len > in nes_post_send()
3468 ib_wr, ib_wr->wr.fast_reg.page_list_len, in nes_post_send()
3480 ib_wr->wr.fast_reg.page_list_len * 8); in nes_post_send()
3482 for (i = 0; i < ib_wr->wr.fast_reg.page_list_len; i++) in nes_post_send()
3488 (unsigned long long) ib_wr->wr.fast_reg.iova_start, in nes_post_send()
3489 ib_wr->wr.fast_reg.length, in nes_post_send()
3490 ib_wr->wr.fast_reg.rkey, in nes_post_send()
3492 ib_wr->wr.fast_reg.page_list_len, in nes_post_send()
3505 if ((ib_wr->send_flags & IB_SEND_SIGNALED) || nesqp->sig_all) in nes_post_send()
3510 ib_wr = ib_wr->next; in nes_post_send()
3531 *bad_wr = ib_wr; in nes_post_send()
3539 static int nes_post_recv(struct ib_qp *ibqp, struct ib_recv_wr *ib_wr, in nes_post_recv() argument
3565 while (ib_wr) { in nes_post_recv()
3572 if (ib_wr->num_sge > nesdev->nesadapter->max_sge) { in nes_post_recv()
3582 nes_debug(NES_DBG_IW_RX, "ibwr sge count = %u.\n", ib_wr->num_sge); in nes_post_recv()
3588 u64temp = (u64)(ib_wr->wr_id); in nes_post_recv()
3592 for (sge_index=0; sge_index < ib_wr->num_sge; sge_index++) { in nes_post_recv()
3594 ib_wr->sg_list[sge_index].addr); in nes_post_recv()
3596 ib_wr->sg_list[sge_index].length); in nes_post_recv()
3598 ib_wr->sg_list[sge_index].lkey); in nes_post_recv()
3600 total_payload_length += ib_wr->sg_list[sge_index].length; in nes_post_recv()
3605 ib_wr = ib_wr->next; in nes_post_recv()
3624 *bad_wr = ib_wr; in nes_post_recv()