summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDotan Barak <dotanb@mellanox.co.il>2006-02-23 12:13:51 -0800
committerRoland Dreier <rolandd@cisco.com>2006-03-20 10:08:16 -0800
commitabb6e9ba17eb133ab385d0f9017fa8afa809d52a (patch)
tree6cab0a44a1cb439c3c204149d44e6295320e5de7
parent44af79f9524c29d6850591cc972f2667a27234d4 (diff)
downloadlwn-abb6e9ba17eb133ab385d0f9017fa8afa809d52a.tar.gz
lwn-abb6e9ba17eb133ab385d0f9017fa8afa809d52a.zip
IB/mthca: Return actual capacity from create_srq
Have mthca's create_srq method return the actual capacity of the SRQ that gets created. Also update comments in <rdma/ib_verbs.h> to clarify that this is what is expected from ib_create_srq(). Signed-off-by: Dotan Barak <dotanb@mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
-rw-r--r--drivers/infiniband/hw/mthca/mthca_srq.c3
-rw-r--r--include/rdma/ib_verbs.h8
2 files changed, 9 insertions, 2 deletions
diff --git a/drivers/infiniband/hw/mthca/mthca_srq.c b/drivers/infiniband/hw/mthca/mthca_srq.c
index deb526ce013d..209d2bae2256 100644
--- a/drivers/infiniband/hw/mthca/mthca_srq.c
+++ b/drivers/infiniband/hw/mthca/mthca_srq.c
@@ -271,6 +271,9 @@ int mthca_alloc_srq(struct mthca_dev *dev, struct mthca_pd *pd,
srq->first_free = 0;
srq->last_free = srq->max - 1;
+ attr->max_wr = srq->max;
+ attr->max_sge = srq->max_gs;
+
return 0;
err_out_free_srq:
diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
index 010287c844e7..c1ad6273ac6c 100644
--- a/include/rdma/ib_verbs.h
+++ b/include/rdma/ib_verbs.h
@@ -1100,7 +1100,9 @@ int ib_destroy_ah(struct ib_ah *ah);
* ib_create_srq - Creates a SRQ associated with the specified protection
* domain.
* @pd: The protection domain associated with the SRQ.
- * @srq_init_attr: A list of initial attributes required to create the SRQ.
+ * @srq_init_attr: A list of initial attributes required to create the
+ * SRQ. If SRQ creation succeeds, then the attributes are updated to
+ * the actual capabilities of the created SRQ.
*
* srq_attr->max_wr and srq_attr->max_sge are read the determine the
* requested size of the SRQ, and set to the actual values allocated
@@ -1159,7 +1161,9 @@ static inline int ib_post_srq_recv(struct ib_srq *srq,
* ib_create_qp - Creates a QP associated with the specified protection
* domain.
* @pd: The protection domain associated with the QP.
- * @qp_init_attr: A list of initial attributes required to create the QP.
+ * @qp_init_attr: A list of initial attributes required to create the
+ * QP. If QP creation succeeds, then the attributes are updated to
+ * the actual capabilities of the created QP.
*/
struct ib_qp *ib_create_qp(struct ib_pd *pd,
struct ib_qp_init_attr *qp_init_attr);