Lines Matching refs:cap
378 static int set_rq_size(struct mlx4_ib_dev *dev, struct ib_qp_cap *cap, in set_rq_size() argument
382 if (cap->max_recv_wr > dev->dev->caps.max_wqes - MLX4_IB_SQ_MAX_SPARE || in set_rq_size()
383 cap->max_recv_sge > min(dev->dev->caps.max_sq_sg, dev->dev->caps.max_rq_sg)) in set_rq_size()
387 if (cap->max_recv_wr) in set_rq_size()
393 if (is_user && (!cap->max_recv_wr || !cap->max_recv_sge)) in set_rq_size()
396 qp->rq.wqe_cnt = roundup_pow_of_two(max(1U, cap->max_recv_wr)); in set_rq_size()
397 qp->rq.max_gs = roundup_pow_of_two(max(1U, cap->max_recv_sge)); in set_rq_size()
403 cap->max_recv_wr = qp->rq.max_post = qp->rq.wqe_cnt; in set_rq_size()
404 cap->max_recv_sge = qp->rq.max_gs; in set_rq_size()
406 cap->max_recv_wr = qp->rq.max_post = in set_rq_size()
408 cap->max_recv_sge = min(qp->rq.max_gs, in set_rq_size()
416 static int set_kernel_sq_size(struct mlx4_ib_dev *dev, struct ib_qp_cap *cap, in set_kernel_sq_size() argument
422 if (cap->max_send_wr > (dev->dev->caps.max_wqes - MLX4_IB_SQ_MAX_SPARE) || in set_kernel_sq_size()
423 cap->max_send_sge > min(dev->dev->caps.max_sq_sg, dev->dev->caps.max_rq_sg) || in set_kernel_sq_size()
424 cap->max_inline_data + send_wqe_overhead(type, qp->flags) + in set_kernel_sq_size()
434 cap->max_send_sge + 2 > dev->dev->caps.max_sq_sg) in set_kernel_sq_size()
437 s = max(cap->max_send_sge * sizeof (struct mlx4_wqe_data_seg), in set_kernel_sq_size()
438 cap->max_inline_data + sizeof (struct mlx4_wqe_inline_seg)) + in set_kernel_sq_size()
492 qp->sq.wqe_cnt = roundup_pow_of_two(cap->max_send_wr * in set_kernel_sq_size()
520 cap->max_send_wr = qp->sq.max_post = in set_kernel_sq_size()
522 cap->max_send_sge = min(qp->sq.max_gs, in set_kernel_sq_size()
526 cap->max_inline_data = 0; in set_kernel_sq_size()
663 init_attr->cap.max_recv_sge++; in create_qp_common()
719 err = set_rq_size(dev, &init_attr->cap, !!pd->uobject, qp_has_rq(init_attr), qp); in create_qp_common()
773 err = set_kernel_sq_size(dev, &init_attr->cap, qp_type, qp); in create_qp_common()
827 (init_attr->cap.max_send_wr ? in create_qp_common()
829 (init_attr->cap.max_recv_wr ? in create_qp_common()
3294 qp_attr->cap.max_recv_wr = qp->rq.wqe_cnt; in mlx4_ib_query_qp()
3295 qp_attr->cap.max_recv_sge = qp->rq.max_gs; in mlx4_ib_query_qp()
3298 qp_attr->cap.max_send_wr = qp->sq.wqe_cnt; in mlx4_ib_query_qp()
3299 qp_attr->cap.max_send_sge = qp->sq.max_gs; in mlx4_ib_query_qp()
3301 qp_attr->cap.max_send_wr = 0; in mlx4_ib_query_qp()
3302 qp_attr->cap.max_send_sge = 0; in mlx4_ib_query_qp()
3309 qp_attr->cap.max_inline_data = 0; in mlx4_ib_query_qp()
3311 qp_init_attr->cap = qp_attr->cap; in mlx4_ib_query_qp()