Lines Matching refs:wqe

44  * i40iw_nop_1 - insert a nop wqe and move head. no post work
49 u64 header, *wqe;
58 wqe = qp->sq_base[wqe_idx].elem;
69 set_64bit_val(wqe, 0, 0);
70 set_64bit_val(wqe, 8, 0);
71 set_64bit_val(wqe, 16, 0);
79 set_64bit_val(wqe, 24, header);
120 * @wqe_idx: wqe index
129 * i40iw_qp_get_next_send_wqe - return next wqe ptr
131 * @wqe_idx: return wqe index
132 * @wqe_size: size of sq wqe
141 u64 *wqe = NULL;
183 wqe = qp->sq_base[*wqe_idx].elem;
196 return wqe;
200 * i40iw_set_fragment - set fragment in wqe
201 * @wqe: wqe for setting fragment
205 static void i40iw_set_fragment(u64 *wqe, u32 offset, struct i40iw_sge *sge)
208 set_64bit_val(wqe, offset, LS_64(sge->tag_off, I40IWQPSQ_FRAG_TO));
209 set_64bit_val(wqe, (offset + 8),
216 * i40iw_qp_get_next_recv_wqe - get next qp's rcv wqe
218 * @wqe_idx: return wqe index
222 u64 *wqe = NULL;
233 /* rq_wqe_size_multiplier is no of qwords in one rq wqe */
234 wqe = qp->rq_base[*wqe_idx * (qp->rq_wqe_size_multiplier >> 2)].elem;
236 return wqe;
250 u64 *wqe;
274 wqe = i40iw_qp_get_next_send_wqe(qp, &wqe_idx, wqe_size, total_size, info->wr_id);
275 if (!wqe)
277 set_64bit_val(wqe, 16,
290 i40iw_set_fragment(wqe, 0, op_info->lo_sg_list);
293 i40iw_set_fragment(wqe, byte_off, &op_info->lo_sg_list[i]);
299 set_64bit_val(wqe, 24, header);
319 u64 *wqe;
331 wqe = i40iw_qp_get_next_send_wqe(qp, &wqe_idx, wqe_size, op_info->lo_addr.len, info->wr_id);
332 if (!wqe)
336 set_64bit_val(wqe, 16, LS_64(op_info->rem_addr.tag_off, I40IWQPSQ_FRAG_TO));
344 i40iw_set_fragment(wqe, 0, &op_info->lo_addr);
348 set_64bit_val(wqe, 24, header);
367 u64 *wqe;
385 wqe = i40iw_qp_get_next_send_wqe(qp, &wqe_idx, wqe_size, total_size, info->wr_id);
386 if (!wqe)
390 set_64bit_val(wqe, 16, 0);
400 i40iw_set_fragment(wqe, 0, op_info->sg_list);
403 i40iw_set_fragment(wqe, byte_off, &op_info->sg_list[i]);
409 set_64bit_val(wqe, 24, header);
426 u64 *wqe;
444 wqe = i40iw_qp_get_next_send_wqe(qp, &wqe_idx, wqe_size, op_info->len, info->wr_id);
445 if (!wqe)
449 set_64bit_val(wqe, 16,
462 dest = (u8 *)wqe;
470 dest = (u8 *)wqe + 32;
476 set_64bit_val(wqe, 24, header);
480 memcpy(push, wqe, (op_info->len > 16) ? op_info->len + 16 : 32);
502 u64 *wqe;
520 wqe = i40iw_qp_get_next_send_wqe(qp, &wqe_idx, wqe_size, op_info->len, info->wr_id);
521 if (!wqe)
535 dest = (u8 *)wqe;
543 dest = (u8 *)wqe + 32;
549 set_64bit_val(wqe, 24, header);
553 memcpy(push, wqe, (op_info->len > 16) ? op_info->len + 16 : 32);
573 u64 *wqe;
582 wqe = i40iw_qp_get_next_send_wqe(qp, &wqe_idx, I40IW_QP_WQE_MIN_SIZE, 0, info->wr_id);
583 if (!wqe)
585 set_64bit_val(wqe, 0, 0);
586 set_64bit_val(wqe, 8,
588 set_64bit_val(wqe, 16, 0);
597 set_64bit_val(wqe, 24, header);
615 u64 *wqe;
624 wqe = i40iw_qp_get_next_send_wqe(qp, &wqe_idx, I40IW_QP_WQE_MIN_SIZE, 0, info->wr_id);
625 if (!wqe)
627 set_64bit_val(wqe, 0, (uintptr_t)op_info->va);
628 set_64bit_val(wqe, 8,
631 set_64bit_val(wqe, 16, op_info->bind_length);
645 set_64bit_val(wqe, 24, header);
654 * i40iw_post_receive - post receive wqe
661 u64 *wqe;
669 wqe = i40iw_qp_get_next_recv_wqe(qp, &wqe_idx);
670 if (!wqe)
674 set_64bit_val(wqe, 16, 0);
680 i40iw_set_fragment(wqe, 0, info->sg_list);
683 i40iw_set_fragment(wqe, byte_off, &info->sg_list[i]);
689 set_64bit_val(wqe, 24, header);
897 * i40iw_get_wqe_shift - get shift count for maximum wqe size
898 * @sge: Maximum Scatter Gather Elements wqe
902 * Shift can be used to left shift the wqe size based on number of SGEs and inlind data size.
903 * For 1 SGE or inline data <= 16, shift = 0 (wqe size of 32 bytes).
904 * For 2 or 3 SGEs or inline data <= 48, shift = 1 (wqe size of 64 bytes).
905 * Shift of 2 otherwise (wqe size of 128 bytes).
984 * size of the wqe depends on numbers of max. fragements
985 * allowed. Then size of wqe * the number of wqes should be the
987 * then rq_base will point to one rq wqe only (not the whole
1132 u64 header, *wqe;
1135 wqe = i40iw_qp_get_next_send_wqe(qp, &wqe_idx, I40IW_QP_WQE_MIN_SIZE, 0, wr_id);
1136 if (!wqe)
1138 set_64bit_val(wqe, 0, 0);
1139 set_64bit_val(wqe, 8, 0);
1140 set_64bit_val(wqe, 16, 0);
1148 set_64bit_val(wqe, 24, header);
1156 * i40iw_fragcnt_to_wqesize_sq - calculate wqe size based on fragment count for SQ
1158 * @wqe_size: size of sq wqe returned
1187 * i40iw_fragcnt_to_wqesize_rq - calculate wqe size based on fragment count for RQ
1189 * @wqe_size: size of rq wqe returned
1216 * i40iw_inline_data_size_to_wqesize - based on inline data, wqe size
1218 * @wqe_size: size of sq wqe returned