History

RDMA/bnxt_re: Support doorbell extensions

Some applications may need multiple doorbells to support parallel processing of threads that each operate on a group of resources. The following uapi methods have been implemented in this patch. - BNXT_RE_METHOD_DBR_ALLOC: This will allow the appliation to create extra doorbell regions and use the associated doorbell page index in CREATE_QP and use the associated DB address while ringing the doorbell. - BNXT_RE_METHOD_DBR_FREE: Free the allocated doorbell region. - BNXT_RE_METHOD_GET_DEFAULT_DBR: Return the default doorbell page index and doorbell page address associated with the ucontext.

Kalesh AP committed 8 months ago

Commit 1234a9d1 parent 13f9a815 files · +213 −0Browse files

Showing the changes to include/uapi (1 of 5 files). Show all

Unified · Split

include/uapi/rdma/bnxt_re-abi.h+29−0
@@ -163,6 +163,8 @@ enum bnxt_re_objects { · 162 unmodified lines
163 BNXT_RE_OBJECT_ALLOC_PAGE = (1U << UVERBS_ID_NS_SHIFT),163 BNXT_RE_OBJECT_ALLOC_PAGE = (1U << UVERBS_ID_NS_SHIFT),
164 BNXT_RE_OBJECT_NOTIFY_DRV,164 BNXT_RE_OBJECT_NOTIFY_DRV,
165 BNXT_RE_OBJECT_GET_TOGGLE_MEM,165 BNXT_RE_OBJECT_GET_TOGGLE_MEM,
166 BNXT_RE_OBJECT_DBR,
167 BNXT_RE_OBJECT_DEFAULT_DBR,
166};168};
167 169
168enum bnxt_re_alloc_page_type {170enum bnxt_re_alloc_page_type {
@@ -231,4 +233,31 @@ struct bnxt_re_packet_pacing_caps { · 62 unmodified lines
231struct bnxt_re_query_device_ex_resp {233struct bnxt_re_query_device_ex_resp {
232 struct bnxt_re_packet_pacing_caps packet_pacing_caps;234 struct bnxt_re_packet_pacing_caps packet_pacing_caps;
233};235};
236
237struct bnxt_re_db_region {
238 __u32 dpi;
239 __u32 reserved;
240 __aligned_u64 umdbr;
241};
242
243enum bnxt_re_obj_dbr_alloc_attrs {
244 BNXT_RE_ALLOC_DBR_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
245 BNXT_RE_ALLOC_DBR_ATTR,
246 BNXT_RE_ALLOC_DBR_OFFSET,
247};
248
249enum bnxt_re_obj_dbr_free_attrs {
250 BNXT_RE_FREE_DBR_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
251};
252
253enum bnxt_re_obj_default_dbr_attrs {
254 BNXT_RE_DEFAULT_DBR_ATTR = (1U << UVERBS_ID_NS_SHIFT),
255};
256
257enum bnxt_re_obj_dpi_methods {
258 BNXT_RE_METHOD_DBR_ALLOC = (1U << UVERBS_ID_NS_SHIFT),
259 BNXT_RE_METHOD_DBR_FREE,
260 BNXT_RE_METHOD_GET_DEFAULT_DBR,
261};
262
234#endif /* __BNXT_RE_UVERBS_ABI_H__*/263#endif /* __BNXT_RE_UVERBS_ABI_H__*/