aboutsummaryrefslogtreecommitdiffstats
path: root/include/rdma
diff options
context:
space:
mode:
authorSean Hefty <sean.hefty@intel.com>2011-05-24 11:33:46 -0400
committerRoland Dreier <roland@purestorage.com>2011-10-13 12:21:24 -0400
commit53d0bd1e7ff2fc626321f337c609fb76ae5d12c9 (patch)
tree92f117b0356cebeb56c42cc76f0fb7ab84cc779a /include/rdma
parentd3d72d909e783d048ee39046aa7b4fa798a4dda8 (diff)
RDMA/uverbs: Export XRC domains to user space
Allow user space to create XRC domains. Because XRCDs are expected to be shared among multiple processes, we use inodes to identify an XRCD. Based on patches by Jack Morgenstein <jackm@dev.mellanox.co.il> Signed-off-by: Sean Hefty <sean.hefty@intel.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'include/rdma')
-rw-r--r--include/rdma/ib_user_verbs.h19
-rw-r--r--include/rdma/ib_verbs.h2
2 files changed, 20 insertions, 1 deletions
diff --git a/include/rdma/ib_user_verbs.h b/include/rdma/ib_user_verbs.h
index fe5b05177a2c..b5cb63f41f0f 100644
--- a/include/rdma/ib_user_verbs.h
+++ b/include/rdma/ib_user_verbs.h
@@ -81,7 +81,9 @@ enum {
81 IB_USER_VERBS_CMD_MODIFY_SRQ, 81 IB_USER_VERBS_CMD_MODIFY_SRQ,
82 IB_USER_VERBS_CMD_QUERY_SRQ, 82 IB_USER_VERBS_CMD_QUERY_SRQ,
83 IB_USER_VERBS_CMD_DESTROY_SRQ, 83 IB_USER_VERBS_CMD_DESTROY_SRQ,
84 IB_USER_VERBS_CMD_POST_SRQ_RECV 84 IB_USER_VERBS_CMD_POST_SRQ_RECV,
85 IB_USER_VERBS_CMD_OPEN_XRCD,
86 IB_USER_VERBS_CMD_CLOSE_XRCD
85}; 87};
86 88
87/* 89/*
@@ -222,6 +224,21 @@ struct ib_uverbs_dealloc_pd {
222 __u32 pd_handle; 224 __u32 pd_handle;
223}; 225};
224 226
227struct ib_uverbs_open_xrcd {
228 __u64 response;
229 __u32 fd;
230 __u32 oflags;
231 __u64 driver_data[0];
232};
233
234struct ib_uverbs_open_xrcd_resp {
235 __u32 xrcd_handle;
236};
237
238struct ib_uverbs_close_xrcd {
239 __u32 xrcd_handle;
240};
241
225struct ib_uverbs_reg_mr { 242struct ib_uverbs_reg_mr {
226 __u64 response; 243 __u64 response;
227 __u64 start; 244 __u64 start;
diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
index ac46dcf04358..dfd9b87b7ffd 100644
--- a/include/rdma/ib_verbs.h
+++ b/include/rdma/ib_verbs.h
@@ -851,6 +851,7 @@ struct ib_ucontext {
851 struct list_head qp_list; 851 struct list_head qp_list;
852 struct list_head srq_list; 852 struct list_head srq_list;
853 struct list_head ah_list; 853 struct list_head ah_list;
854 struct list_head xrcd_list;
854 int closing; 855 int closing;
855}; 856};
856 857
@@ -881,6 +882,7 @@ struct ib_pd {
881struct ib_xrcd { 882struct ib_xrcd {
882 struct ib_device *device; 883 struct ib_device *device;
883 atomic_t usecnt; /* count all exposed resources */ 884 atomic_t usecnt; /* count all exposed resources */
885 struct inode *inode;
884 886
885 struct mutex tgt_qp_mutex; 887 struct mutex tgt_qp_mutex;
886 struct list_head tgt_qp_list; 888 struct list_head tgt_qp_list;