Lines Matching refs:sq
66 return qp->buf.buf + qp->sq.offset + (n << qp->sq.wqe_shift); in get_send_wqe()
86 qp->sq.head = 0; in mlx4_init_qp_indices()
87 qp->sq.tail = 0; in mlx4_init_qp_indices()
97 for (i = 0; i < qp->sq.wqe_cnt; ++i) { in mlx4_qp_init_sq_ownership()
100 ctrl->fence_size = 1 << (qp->sq.wqe_shift - 4); in mlx4_qp_init_sq_ownership()
227 pthread_spin_lock(&qp->sq.lock); in mlx4_post_send()
231 ind = qp->sq.head; in mlx4_post_send()
234 if (wq_overflow(&qp->sq, nreq, to_mcq(ibqp->send_cq))) { in mlx4_post_send()
240 if (wr->num_sge > qp->sq.max_gs) { in mlx4_post_send()
252 ctrl = wqe = get_send_wqe(qp, ind & (qp->sq.wqe_cnt - 1)); in mlx4_post_send()
253 qp->sq.wrid[ind & (qp->sq.wqe_cnt - 1)] = wr->wr_id; in mlx4_post_send()
454 (ind & qp->sq.wqe_cnt ? htobe32(1 << 31) : 0); in mlx4_post_send()
463 (qp->sq.wqe_cnt - 1)); in mlx4_post_send()
472 ctrl->owner_opcode |= htobe32((qp->sq.head & 0xffff) << 8); in mlx4_post_send()
475 ++qp->sq.head; in mlx4_post_send()
491 qp->sq.head += nreq; in mlx4_post_send()
505 (qp->sq.wqe_cnt - 1)); in mlx4_post_send()
507 pthread_spin_unlock(&qp->sq.lock); in mlx4_post_send()
648 for (qp->sq.wqe_shift = 6; 1 << qp->sq.wqe_shift < size; in mlx4_calc_sq_wqe_size()
649 qp->sq.wqe_shift++) in mlx4_calc_sq_wqe_size()
658 if (qp->sq.wqe_cnt) { in mlx4_alloc_qp_buf()
659 qp->sq.wrid = malloc(qp->sq.wqe_cnt * sizeof (uint64_t)); in mlx4_alloc_qp_buf()
660 if (!qp->sq.wrid) in mlx4_alloc_qp_buf()
667 free(qp->sq.wrid); in mlx4_alloc_qp_buf()
678 (qp->sq.wqe_cnt << qp->sq.wqe_shift); in mlx4_alloc_qp_buf()
679 if (qp->rq.wqe_shift > qp->sq.wqe_shift) { in mlx4_alloc_qp_buf()
681 qp->sq.offset = qp->rq.wqe_cnt << qp->rq.wqe_shift; in mlx4_alloc_qp_buf()
683 qp->rq.offset = qp->sq.wqe_cnt << qp->sq.wqe_shift; in mlx4_alloc_qp_buf()
684 qp->sq.offset = 0; in mlx4_alloc_qp_buf()
691 free(qp->sq.wrid); in mlx4_alloc_qp_buf()
709 wqe_size = (1 << qp->sq.wqe_shift) - sizeof (struct mlx4_wqe_ctrl_seg); in mlx4_set_sq_sizes()
725 qp->sq.max_gs = wqe_size / sizeof (struct mlx4_wqe_data_seg); in mlx4_set_sq_sizes()
726 cap->max_send_sge = qp->sq.max_gs; in mlx4_set_sq_sizes()
727 qp->sq.max_post = qp->sq.wqe_cnt - qp->sq_spare_wqes; in mlx4_set_sq_sizes()
728 cap->max_send_wr = qp->sq.max_post; in mlx4_set_sq_sizes()