From 7d6f4eb8e9c83205f7fa9b3d414bfbea6c1653fb Mon Sep 17 00:00:00 2001 From: Roland Dreier Date: Tue, 17 Jul 2007 20:59:02 -0700 Subject: [PATCH] --- yaml --- r: 61435 b: refs/heads/master c: 7f5eb9bb8c7fb3bd411674b856872d7ab4a7b1a3 h: refs/heads/master i: 61433: 647594f575013cacb3f9411a0572d6b669a5ba5d 61431: f1b5e0d253f5ae0633e073630f69a10ea98040bf v: v3 --- [refs] | 2 +- trunk/drivers/infiniband/hw/mlx4/qp.c | 24 ++++++++++++++++-------- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/[refs] b/[refs] index fd166a38fc41..ab931970d078 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c9f2ba5ed26a204a78bf23aa08a4f528f11a18f4 +refs/heads/master: 7f5eb9bb8c7fb3bd411674b856872d7ab4a7b1a3 diff --git a/trunk/drivers/infiniband/hw/mlx4/qp.c b/trunk/drivers/infiniband/hw/mlx4/qp.c index 0793059b753a..8d09aa38fc83 100644 --- a/trunk/drivers/infiniband/hw/mlx4/qp.c +++ b/trunk/drivers/infiniband/hw/mlx4/qp.c @@ -1581,17 +1581,25 @@ int mlx4_ib_query_qp(struct ib_qp *ibqp, struct ib_qp_attr *qp_attr, int qp_attr done: qp_attr->cur_qp_state = qp_attr->qp_state; + qp_attr->cap.max_recv_wr = qp->rq.wqe_cnt; + qp_attr->cap.max_recv_sge = qp->rq.max_gs; + if (!ibqp->uobject) { - qp_attr->cap.max_send_wr = qp->sq.wqe_cnt; - qp_attr->cap.max_recv_wr = qp->rq.wqe_cnt; - qp_attr->cap.max_send_sge = qp->sq.max_gs; - qp_attr->cap.max_recv_sge = qp->rq.max_gs; - qp_attr->cap.max_inline_data = (1 << qp->sq.wqe_shift) - - send_wqe_overhead(qp->ibqp.qp_type) - - sizeof (struct mlx4_wqe_inline_seg); - qp_init_attr->cap = qp_attr->cap; + qp_attr->cap.max_send_wr = qp->sq.wqe_cnt; + qp_attr->cap.max_send_sge = qp->sq.max_gs; + } else { + qp_attr->cap.max_send_wr = 0; + qp_attr->cap.max_send_sge = 0; } + /* + * We don't support inline sends for kernel QPs (yet), and we + * don't know what userspace's value should be. + */ + qp_attr->cap.max_inline_data = 0; + + qp_init_attr->cap = qp_attr->cap; + return 0; }