Lines Matching refs:cap
377 static int set_rq_size(struct mlx4_ib_dev *dev, struct ib_qp_cap *cap, in set_rq_size() argument
381 if (cap->max_recv_wr > dev->dev->caps.max_wqes - MLX4_IB_SQ_MAX_SPARE || in set_rq_size()
382 cap->max_recv_sge > min(dev->dev->caps.max_sq_sg, dev->dev->caps.max_rq_sg)) in set_rq_size()
386 if (cap->max_recv_wr) in set_rq_size()
392 if (is_user && (!cap->max_recv_wr || !cap->max_recv_sge)) in set_rq_size()
395 qp->rq.wqe_cnt = roundup_pow_of_two(max(1U, cap->max_recv_wr)); in set_rq_size()
396 qp->rq.max_gs = roundup_pow_of_two(max(1U, cap->max_recv_sge)); in set_rq_size()
402 cap->max_recv_wr = qp->rq.max_post = qp->rq.wqe_cnt; in set_rq_size()
403 cap->max_recv_sge = qp->rq.max_gs; in set_rq_size()
405 cap->max_recv_wr = qp->rq.max_post = in set_rq_size()
407 cap->max_recv_sge = min(qp->rq.max_gs, in set_rq_size()
415 static int set_kernel_sq_size(struct mlx4_ib_dev *dev, struct ib_qp_cap *cap, in set_kernel_sq_size() argument
421 if (cap->max_send_wr > (dev->dev->caps.max_wqes - MLX4_IB_SQ_MAX_SPARE) || in set_kernel_sq_size()
422 cap->max_send_sge > min(dev->dev->caps.max_sq_sg, dev->dev->caps.max_rq_sg) || in set_kernel_sq_size()
423 cap->max_inline_data + send_wqe_overhead(type, qp->flags) + in set_kernel_sq_size()
433 cap->max_send_sge + 2 > dev->dev->caps.max_sq_sg) in set_kernel_sq_size()
436 s = max(cap->max_send_sge * sizeof (struct mlx4_wqe_data_seg), in set_kernel_sq_size()
437 cap->max_inline_data + sizeof (struct mlx4_wqe_inline_seg)) + in set_kernel_sq_size()
491 qp->sq.wqe_cnt = roundup_pow_of_two(cap->max_send_wr * in set_kernel_sq_size()
519 cap->max_send_wr = qp->sq.max_post = in set_kernel_sq_size()
521 cap->max_send_sge = min(qp->sq.max_gs, in set_kernel_sq_size()
525 cap->max_inline_data = 0; in set_kernel_sq_size()
650 init_attr->cap.max_recv_sge++; in create_qp_common()
706 err = set_rq_size(dev, &init_attr->cap, !!pd->uobject, qp_has_rq(init_attr), qp); in create_qp_common()
763 err = set_kernel_sq_size(dev, &init_attr->cap, qp_type, qp); in create_qp_common()
811 (init_attr->cap.max_send_wr ? in create_qp_common()
813 (init_attr->cap.max_recv_wr ? in create_qp_common()
3180 qp_attr->cap.max_recv_wr = qp->rq.wqe_cnt; in mlx4_ib_query_qp()
3181 qp_attr->cap.max_recv_sge = qp->rq.max_gs; in mlx4_ib_query_qp()
3184 qp_attr->cap.max_send_wr = qp->sq.wqe_cnt; in mlx4_ib_query_qp()
3185 qp_attr->cap.max_send_sge = qp->sq.max_gs; in mlx4_ib_query_qp()
3187 qp_attr->cap.max_send_wr = 0; in mlx4_ib_query_qp()
3188 qp_attr->cap.max_send_sge = 0; in mlx4_ib_query_qp()
3195 qp_attr->cap.max_inline_data = 0; in mlx4_ib_query_qp()
3197 qp_init_attr->cap = qp_attr->cap; in mlx4_ib_query_qp()