aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/rdma/ib_verbs.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
index 228be3e220d9..d2a5c9b991d1 100644
--- a/include/rdma/ib_verbs.h
+++ b/include/rdma/ib_verbs.h
@@ -112,6 +112,7 @@ enum ib_device_cap_flags {
112 */ 112 */
113 IB_DEVICE_UD_IP_CSUM = (1<<18), 113 IB_DEVICE_UD_IP_CSUM = (1<<18),
114 IB_DEVICE_UD_TSO = (1<<19), 114 IB_DEVICE_UD_TSO = (1<<19),
115 IB_DEVICE_XRC = (1<<20),
115 IB_DEVICE_MEM_MGT_EXTENSIONS = (1<<21), 116 IB_DEVICE_MEM_MGT_EXTENSIONS = (1<<21),
116 IB_DEVICE_BLOCK_MULTICAST_LOOPBACK = (1<<22), 117 IB_DEVICE_BLOCK_MULTICAST_LOOPBACK = (1<<22),
117}; 118};
@@ -858,6 +859,11 @@ struct ib_pd {
858 atomic_t usecnt; /* count all resources */ 859 atomic_t usecnt; /* count all resources */
859}; 860};
860 861
862struct ib_xrcd {
863 struct ib_device *device;
864 atomic_t usecnt; /* count all resources */
865};
866
861struct ib_ah { 867struct ib_ah {
862 struct ib_device *device; 868 struct ib_device *device;
863 struct ib_pd *pd; 869 struct ib_pd *pd;
@@ -1149,6 +1155,10 @@ struct ib_device {
1149 struct ib_grh *in_grh, 1155 struct ib_grh *in_grh,
1150 struct ib_mad *in_mad, 1156 struct ib_mad *in_mad,
1151 struct ib_mad *out_mad); 1157 struct ib_mad *out_mad);
1158 struct ib_xrcd * (*alloc_xrcd)(struct ib_device *device,
1159 struct ib_ucontext *ucontext,
1160 struct ib_udata *udata);
1161 int (*dealloc_xrcd)(struct ib_xrcd *xrcd);
1152 1162
1153 struct ib_dma_mapping_ops *dma_ops; 1163 struct ib_dma_mapping_ops *dma_ops;
1154 1164
@@ -2060,4 +2070,16 @@ int ib_attach_mcast(struct ib_qp *qp, union ib_gid *gid, u16 lid);
2060 */ 2070 */
2061int ib_detach_mcast(struct ib_qp *qp, union ib_gid *gid, u16 lid); 2071int ib_detach_mcast(struct ib_qp *qp, union ib_gid *gid, u16 lid);
2062 2072
2073/**
2074 * ib_alloc_xrcd - Allocates an XRC domain.
2075 * @device: The device on which to allocate the XRC domain.
2076 */
2077struct ib_xrcd *ib_alloc_xrcd(struct ib_device *device);
2078
2079/**
2080 * ib_dealloc_xrcd - Deallocates an XRC domain.
2081 * @xrcd: The XRC domain to deallocate.
2082 */
2083int ib_dealloc_xrcd(struct ib_xrcd *xrcd);
2084
2063#endif /* IB_VERBS_H */ 2085#endif /* IB_VERBS_H */