Lines Matching refs:ib_wr

3227 fill_wqe_sg_send(struct nes_hw_qp_wqe *wqe, struct ib_send_wr *ib_wr, u32 uselkey)  in fill_wqe_sg_send()  argument
3231 for (sge_index = 0; sge_index < ib_wr->num_sge; sge_index++) { in fill_wqe_sg_send()
3233 ib_wr->sg_list[sge_index].addr); in fill_wqe_sg_send()
3235 ib_wr->sg_list[sge_index].length); in fill_wqe_sg_send()
3238 (ib_wr->sg_list[sge_index].lkey)); in fill_wqe_sg_send()
3242 total_payload_length += ib_wr->sg_list[sge_index].length; in fill_wqe_sg_send()
3253 static int nes_post_send(struct ib_qp *ibqp, struct ib_send_wr *ib_wr, in nes_post_send() argument
3278 while (ib_wr) { in nes_post_send()
3295 u64temp = (u64)(ib_wr->wr_id); in nes_post_send()
3298 switch (ib_wr->opcode) { in nes_post_send()
3301 if (IB_WR_SEND == ib_wr->opcode) { in nes_post_send()
3302 if (ib_wr->send_flags & IB_SEND_SOLICITED) in nes_post_send()
3307 if (ib_wr->send_flags & IB_SEND_SOLICITED) in nes_post_send()
3313 ib_wr->ex.invalidate_rkey); in nes_post_send()
3316 if (ib_wr->num_sge > nesdev->nesadapter->max_sge) { in nes_post_send()
3321 if (ib_wr->send_flags & IB_SEND_FENCE) in nes_post_send()
3324 if ((ib_wr->send_flags & IB_SEND_INLINE) && in nes_post_send()
3326 (ib_wr->sg_list[0].length <= 64)) { in nes_post_send()
3328 (void *)(unsigned long)ib_wr->sg_list[0].addr, ib_wr->sg_list[0].length); in nes_post_send()
3330 ib_wr->sg_list[0].length); in nes_post_send()
3333 fill_wqe_sg_send(wqe, ib_wr, 1); in nes_post_send()
3339 if (ib_wr->num_sge > nesdev->nesadapter->max_sge) { in nes_post_send()
3341 ib_wr->num_sge, nesdev->nesadapter->max_sge); in nes_post_send()
3346 if (ib_wr->send_flags & IB_SEND_FENCE) in nes_post_send()
3350 rdma_wr(ib_wr)->rkey); in nes_post_send()
3352 rdma_wr(ib_wr)->remote_addr); in nes_post_send()
3354 if ((ib_wr->send_flags & IB_SEND_INLINE) && in nes_post_send()
3356 (ib_wr->sg_list[0].length <= 64)) { in nes_post_send()
3358 (void *)(unsigned long)ib_wr->sg_list[0].addr, ib_wr->sg_list[0].length); in nes_post_send()
3360 ib_wr->sg_list[0].length); in nes_post_send()
3363 fill_wqe_sg_send(wqe, ib_wr, 1); in nes_post_send()
3372 if (ib_wr->num_sge > 1) { in nes_post_send()
3374 ib_wr->num_sge); in nes_post_send()
3378 if (ib_wr->opcode == IB_WR_RDMA_READ) { in nes_post_send()
3383 ib_wr->ex.invalidate_rkey); in nes_post_send()
3387 rdma_wr(ib_wr)->remote_addr); in nes_post_send()
3389 rdma_wr(ib_wr)->rkey); in nes_post_send()
3391 ib_wr->sg_list->length); in nes_post_send()
3393 ib_wr->sg_list->addr); in nes_post_send()
3395 ib_wr->sg_list->lkey); in nes_post_send()
3401 ib_wr->ex.invalidate_rkey); in nes_post_send()
3405 struct nes_mr *mr = to_nesmr(reg_wr(ib_wr)->mr); in nes_post_send()
3406 int page_shift = ilog2(reg_wr(ib_wr)->mr->page_size); in nes_post_send()
3407 int flags = reg_wr(ib_wr)->access; in nes_post_send()
3425 reg_wr(ib_wr)->key); in nes_post_send()
3433 " ib_wr=%u, max=1\n", ib_wr->num_sge); in nes_post_send()
3466 reg_wr(ib_wr)->key, in nes_post_send()
3481 if ((ib_wr->send_flags & IB_SEND_SIGNALED) || nesqp->sig_all) in nes_post_send()
3486 ib_wr = ib_wr->next; in nes_post_send()
3507 *bad_wr = ib_wr; in nes_post_send()
3515 static int nes_post_recv(struct ib_qp *ibqp, struct ib_recv_wr *ib_wr, in nes_post_recv() argument
3541 while (ib_wr) { in nes_post_recv()
3548 if (ib_wr->num_sge > nesdev->nesadapter->max_sge) { in nes_post_recv()
3558 nes_debug(NES_DBG_IW_RX, "ibwr sge count = %u.\n", ib_wr->num_sge); in nes_post_recv()
3564 u64temp = (u64)(ib_wr->wr_id); in nes_post_recv()
3568 for (sge_index=0; sge_index < ib_wr->num_sge; sge_index++) { in nes_post_recv()
3570 ib_wr->sg_list[sge_index].addr); in nes_post_recv()
3572 ib_wr->sg_list[sge_index].length); in nes_post_recv()
3574 ib_wr->sg_list[sge_index].lkey); in nes_post_recv()
3576 total_payload_length += ib_wr->sg_list[sge_index].length; in nes_post_recv()
3581 ib_wr = ib_wr->next; in nes_post_recv()
3600 *bad_wr = ib_wr; in nes_post_recv()