diff mbox series

[rdma-core,2/6] libhns: Add modify srq verb for hip08 user mode

Message ID 1540637797-97065-3-git-send-email-oulijun@huawei.com (mailing list archive)
State Not Applicable
Headers show
Series SRQ support for hip08 user space | expand

Commit Message

Lijun Ou Oct. 27, 2018, 10:56 a.m. UTC
This patch mainly implement the verbs of modifing srq
for hip08 userspace library.

Signed-off-by: Lijun Ou <oulijun@huawei.com>
---
 providers/hns/hns_roce_u.c       | 1 +
 providers/hns/hns_roce_u.h       | 2 ++
 providers/hns/hns_roce_u_verbs.c | 9 +++++++++
 3 files changed, 12 insertions(+)
diff mbox series

Patch

diff --git a/providers/hns/hns_roce_u.c b/providers/hns/hns_roce_u.c
index fe12b11..81b74f3 100644
--- a/providers/hns/hns_roce_u.c
+++ b/providers/hns/hns_roce_u.c
@@ -79,6 +79,7 @@  static const struct verbs_context_ops hns_common_ops = {
 	.reg_mr = hns_roce_u_reg_mr,
 	.rereg_mr = hns_roce_u_rereg_mr,
 	.create_srq = hns_roce_u_create_srq,
+	.modify_srq = hns_roce_u_modify_srq,
 };
 
 static struct verbs_context *hns_roce_alloc_context(struct ibv_device *ibdev,
diff --git a/providers/hns/hns_roce_u.h b/providers/hns/hns_roce_u.h
index 3ad1c14..dd9ba88 100644
--- a/providers/hns/hns_roce_u.h
+++ b/providers/hns/hns_roce_u.h
@@ -303,6 +303,8 @@  void hns_roce_u_cq_event(struct ibv_cq *cq);
 
 struct ibv_srq *hns_roce_u_create_srq(struct ibv_pd *pd,
 				      struct ibv_srq_init_attr *srq_init_attr);
+int hns_roce_u_modify_srq(struct ibv_srq *srq, struct ibv_srq_attr *srq_attr,
+			  int srq_attr_mask);
 struct ibv_qp *hns_roce_u_create_qp(struct ibv_pd *pd,
 				    struct ibv_qp_init_attr *attr);
 
diff --git a/providers/hns/hns_roce_u_verbs.c b/providers/hns/hns_roce_u_verbs.c
index 2767667..379d78d 100644
--- a/providers/hns/hns_roce_u_verbs.c
+++ b/providers/hns/hns_roce_u_verbs.c
@@ -580,6 +580,15 @@  out:
 	return NULL;
 }
 
+int hns_roce_u_modify_srq(struct ibv_srq *srq, struct ibv_srq_attr *srq_attr,
+			  int srq_attr_mask)
+{
+	struct ibv_modify_srq cmd;
+
+	return ibv_cmd_modify_srq(srq, srq_attr, srq_attr_mask, &cmd,
+				  sizeof(cmd));
+}
+
 static int hns_roce_verify_qp(struct ibv_qp_init_attr *attr,
 			      struct hns_roce_context *context)
 {