Lines Matching refs:ib_wr
2989 fill_wqe_sg_send(struct nes_hw_qp_wqe *wqe, const struct ib_send_wr *ib_wr, in fill_wqe_sg_send() argument
2994 for (sge_index = 0; sge_index < ib_wr->num_sge; sge_index++) { in fill_wqe_sg_send()
2996 ib_wr->sg_list[sge_index].addr); in fill_wqe_sg_send()
2998 ib_wr->sg_list[sge_index].length); in fill_wqe_sg_send()
3001 (ib_wr->sg_list[sge_index].lkey)); in fill_wqe_sg_send()
3005 total_payload_length += ib_wr->sg_list[sge_index].length; in fill_wqe_sg_send()
3016 static int nes_post_send(struct ib_qp *ibqp, const struct ib_send_wr *ib_wr, in nes_post_send() argument
3041 while (ib_wr) { in nes_post_send()
3058 u64temp = (u64)(ib_wr->wr_id); in nes_post_send()
3061 switch (ib_wr->opcode) { in nes_post_send()
3064 if (IB_WR_SEND == ib_wr->opcode) { in nes_post_send()
3065 if (ib_wr->send_flags & IB_SEND_SOLICITED) in nes_post_send()
3070 if (ib_wr->send_flags & IB_SEND_SOLICITED) in nes_post_send()
3076 ib_wr->ex.invalidate_rkey); in nes_post_send()
3079 if (ib_wr->num_sge > nesdev->nesadapter->max_sge) { in nes_post_send()
3084 if (ib_wr->send_flags & IB_SEND_FENCE) in nes_post_send()
3087 if ((ib_wr->send_flags & IB_SEND_INLINE) && in nes_post_send()
3089 (ib_wr->sg_list[0].length <= 64)) { in nes_post_send()
3091 (void *)(unsigned long)ib_wr->sg_list[0].addr, ib_wr->sg_list[0].length); in nes_post_send()
3093 ib_wr->sg_list[0].length); in nes_post_send()
3096 fill_wqe_sg_send(wqe, ib_wr, 1); in nes_post_send()
3102 if (ib_wr->num_sge > nesdev->nesadapter->max_sge) { in nes_post_send()
3104 ib_wr->num_sge, nesdev->nesadapter->max_sge); in nes_post_send()
3109 if (ib_wr->send_flags & IB_SEND_FENCE) in nes_post_send()
3113 rdma_wr(ib_wr)->rkey); in nes_post_send()
3115 rdma_wr(ib_wr)->remote_addr); in nes_post_send()
3117 if ((ib_wr->send_flags & IB_SEND_INLINE) && in nes_post_send()
3119 (ib_wr->sg_list[0].length <= 64)) { in nes_post_send()
3121 (void *)(unsigned long)ib_wr->sg_list[0].addr, ib_wr->sg_list[0].length); in nes_post_send()
3123 ib_wr->sg_list[0].length); in nes_post_send()
3126 fill_wqe_sg_send(wqe, ib_wr, 1); in nes_post_send()
3135 if (ib_wr->num_sge > 1) { in nes_post_send()
3137 ib_wr->num_sge); in nes_post_send()
3141 if (ib_wr->opcode == IB_WR_RDMA_READ) { in nes_post_send()
3146 ib_wr->ex.invalidate_rkey); in nes_post_send()
3150 rdma_wr(ib_wr)->remote_addr); in nes_post_send()
3152 rdma_wr(ib_wr)->rkey); in nes_post_send()
3154 ib_wr->sg_list->length); in nes_post_send()
3156 ib_wr->sg_list->addr); in nes_post_send()
3158 ib_wr->sg_list->lkey); in nes_post_send()
3164 ib_wr->ex.invalidate_rkey); in nes_post_send()
3168 struct nes_mr *mr = to_nesmr(reg_wr(ib_wr)->mr); in nes_post_send()
3169 int page_shift = ilog2(reg_wr(ib_wr)->mr->page_size); in nes_post_send()
3170 int flags = reg_wr(ib_wr)->access; in nes_post_send()
3188 reg_wr(ib_wr)->key); in nes_post_send()
3196 " ib_wr=%u, max=1\n", ib_wr->num_sge); in nes_post_send()
3229 reg_wr(ib_wr)->key, in nes_post_send()
3244 if ((ib_wr->send_flags & IB_SEND_SIGNALED) || nesqp->sig_all) in nes_post_send()
3249 ib_wr = ib_wr->next; in nes_post_send()
3270 *bad_wr = ib_wr; in nes_post_send()
3278 static int nes_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *ib_wr, in nes_post_recv() argument
3304 while (ib_wr) { in nes_post_recv()
3311 if (ib_wr->num_sge > nesdev->nesadapter->max_sge) { in nes_post_recv()
3321 nes_debug(NES_DBG_IW_RX, "ibwr sge count = %u.\n", ib_wr->num_sge); in nes_post_recv()
3327 u64temp = (u64)(ib_wr->wr_id); in nes_post_recv()
3331 for (sge_index=0; sge_index < ib_wr->num_sge; sge_index++) { in nes_post_recv()
3333 ib_wr->sg_list[sge_index].addr); in nes_post_recv()
3335 ib_wr->sg_list[sge_index].length); in nes_post_recv()
3337 ib_wr->sg_list[sge_index].lkey); in nes_post_recv()
3339 total_payload_length += ib_wr->sg_list[sge_index].length; in nes_post_recv()
3344 ib_wr = ib_wr->next; in nes_post_recv()
3363 *bad_wr = ib_wr; in nes_post_recv()