diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/rdma/ib_verbs.h | 22 |
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 | ||
862 | struct ib_xrcd { | ||
863 | struct ib_device *device; | ||
864 | atomic_t usecnt; /* count all resources */ | ||
865 | }; | ||
866 | |||
861 | struct ib_ah { | 867 | struct 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 | */ |
2061 | int ib_detach_mcast(struct ib_qp *qp, union ib_gid *gid, u16 lid); | 2071 | int 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 | */ | ||
2077 | struct 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 | */ | ||
2083 | int ib_dealloc_xrcd(struct ib_xrcd *xrcd); | ||
2084 | |||
2063 | #endif /* IB_VERBS_H */ | 2085 | #endif /* IB_VERBS_H */ |