@@ -162,6 +162,10 @@ enum bnxt_re_objects {
162162 BNXT_RE_OBJECT_ALLOC_PAGE = (1U << UVERBS_ID_NS_SHIFT ),
163163 BNXT_RE_OBJECT_NOTIFY_DRV ,
164164 BNXT_RE_OBJECT_GET_TOGGLE_MEM ,
165+ BNXT_RE_OBJECT_DBR ,
166+ BNXT_RE_OBJECT_UMEM ,
167+ BNXT_RE_OBJECT_DV_CQ ,
168+ BNXT_RE_OBJECT_DV_QP ,
165169};
166170
167171enum bnxt_re_alloc_page_type {
@@ -215,4 +219,142 @@ enum bnxt_re_toggle_mem_methods {
215219 BNXT_RE_METHOD_GET_TOGGLE_MEM = (1U << UVERBS_ID_NS_SHIFT ),
216220 BNXT_RE_METHOD_RELEASE_TOGGLE_MEM ,
217221};
222+
223+ struct bnxt_re_dv_db_region {
224+ __u32 dbr_handle ;
225+ __u32 dpi ;
226+ __u64 umdbr ;
227+ void * dbr ;
228+ __aligned_u64 comp_mask ;
229+ };
230+
231+ enum bnxt_re_obj_dbr_alloc_attrs {
232+ BNXT_RE_DV_ALLOC_DBR_HANDLE = (1U << UVERBS_ID_NS_SHIFT ),
233+ BNXT_RE_DV_ALLOC_DBR_ATTR ,
234+ BNXT_RE_DV_ALLOC_DBR_OFFSET ,
235+ };
236+
237+ enum bnxt_re_obj_dbr_free_attrs {
238+ BNXT_RE_DV_FREE_DBR_HANDLE = (1U << UVERBS_ID_NS_SHIFT ),
239+ };
240+
241+ enum bnxt_re_obj_dbr_query_attrs {
242+ BNXT_RE_DV_QUERY_DBR_ATTR = (1U << UVERBS_ID_NS_SHIFT ),
243+ };
244+
245+ enum bnxt_re_obj_dpi_methods {
246+ BNXT_RE_METHOD_DBR_ALLOC = (1U << UVERBS_ID_NS_SHIFT ),
247+ BNXT_RE_METHOD_DBR_FREE ,
248+ BNXT_RE_METHOD_DBR_QUERY ,
249+ };
250+
251+ enum bnxt_re_dv_umem_reg_attrs {
252+ BNXT_RE_UMEM_OBJ_REG_HANDLE = (1U << UVERBS_ID_NS_SHIFT ),
253+ BNXT_RE_UMEM_OBJ_REG_ADDR ,
254+ BNXT_RE_UMEM_OBJ_REG_LEN ,
255+ BNXT_RE_UMEM_OBJ_REG_ACCESS ,
256+ BNXT_RE_UMEM_OBJ_REG_DMABUF_FD ,
257+ BNXT_RE_UMEM_OBJ_REG_PGSZ_BITMAP ,
258+ };
259+
260+ enum bnxt_re_dv_umem_dereg_attrs {
261+ BNXT_RE_UMEM_OBJ_DEREG_HANDLE = (1U << UVERBS_ID_NS_SHIFT ),
262+ };
263+
264+ enum bnxt_re_dv_umem_methods {
265+ BNXT_RE_METHOD_UMEM_REG = (1U << UVERBS_ID_NS_SHIFT ),
266+ BNXT_RE_METHOD_UMEM_DEREG ,
267+ };
268+
269+ struct bnxt_re_dv_cq_req {
270+ __u32 ncqe ;
271+ __aligned_u64 va ;
272+ __aligned_u64 comp_mask ;
273+ };
274+
275+ struct bnxt_re_dv_cq_resp {
276+ __u32 cqid ;
277+ __u32 tail ;
278+ __u32 phase ;
279+ __u32 rsvd ;
280+ __aligned_u64 comp_mask ;
281+ };
282+
283+ enum bnxt_re_dv_create_cq_attrs {
284+ BNXT_RE_DV_CREATE_CQ_HANDLE = (1U << UVERBS_ID_NS_SHIFT ),
285+ BNXT_RE_DV_CREATE_CQ_REQ ,
286+ BNXT_RE_DV_CREATE_CQ_UMEM_HANDLE ,
287+ BNXT_RE_DV_CREATE_CQ_UMEM_OFFSET ,
288+ BNXT_RE_DV_CREATE_CQ_RESP ,
289+ };
290+
291+ enum bnxt_re_dv_cq_methods {
292+ BNXT_RE_METHOD_DV_CREATE_CQ = (1U << UVERBS_ID_NS_SHIFT ),
293+ BNXT_RE_METHOD_DV_DESTROY_CQ ,
294+ };
295+
296+ enum bnxt_re_dv_destroy_cq_attrs {
297+ BNXT_RE_DV_DESTROY_CQ_HANDLE = (1U << UVERBS_ID_NS_SHIFT ),
298+ };
299+
300+ struct bnxt_re_dv_create_qp_req {
301+ int qp_type ;
302+ __u32 max_send_wr ;
303+ __u32 max_recv_wr ;
304+ __u32 max_send_sge ;
305+ __u32 max_recv_sge ;
306+ __u32 max_inline_data ;
307+ __u32 pd_id ;
308+ __aligned_u64 qp_handle ;
309+ __aligned_u64 sq_va ;
310+ __u32 sq_umem_offset ;
311+ __u32 sq_len ; /* total len including MSN area */
312+ __u32 sq_slots ;
313+ __u32 sq_wqe_sz ;
314+ __u32 sq_psn_sz ;
315+ __u32 sq_npsn ;
316+ __aligned_u64 rq_va ;
317+ __u32 rq_umem_offset ;
318+ __u32 rq_len ;
319+ __u32 rq_slots ; /* == max_recv_wr */
320+ __u32 rq_wqe_sz ;
321+ };
322+
323+ struct bnxt_re_dv_create_qp_resp {
324+ __u32 qpid ;
325+ };
326+
327+ enum bnxt_re_dv_create_qp_attrs {
328+ BNXT_RE_DV_CREATE_QP_HANDLE = (1U << UVERBS_ID_NS_SHIFT ),
329+ BNXT_RE_DV_CREATE_QP_REQ ,
330+ BNXT_RE_DV_CREATE_QP_SEND_CQ_HANDLE ,
331+ BNXT_RE_DV_CREATE_QP_RECV_CQ_HANDLE ,
332+ BNXT_RE_DV_CREATE_QP_SQ_UMEM_HANDLE ,
333+ BNXT_RE_DV_CREATE_QP_RQ_UMEM_HANDLE ,
334+ BNXT_RE_DV_CREATE_QP_SRQ_HANDLE ,
335+ BNXT_RE_DV_CREATE_QP_DBR_HANDLE ,
336+ BNXT_RE_DV_CREATE_QP_RESP
337+ };
338+
339+ enum bnxt_re_dv_qp_methods {
340+ BNXT_RE_METHOD_DV_CREATE_QP = (1U << UVERBS_ID_NS_SHIFT ),
341+ BNXT_RE_METHOD_DV_DESTROY_QP ,
342+ BNXT_RE_METHOD_DV_MODIFY_QP ,
343+ BNXT_RE_METHOD_DV_QUERY_QP ,
344+ };
345+
346+ enum bnxt_re_dv_destroy_qp_attrs {
347+ BNXT_RE_DV_DESTROY_QP_HANDLE = (1U << UVERBS_ID_NS_SHIFT ),
348+ };
349+
350+ enum bnxt_re_var_dv_modify_qp_attrs {
351+ BNXT_RE_DV_MODIFY_QP_HANDLE = (1U << UVERBS_ID_NS_SHIFT ),
352+ BNXT_RE_DV_MODIFY_QP_REQ ,
353+ };
354+
355+ enum bnxt_re_dv_query_qp_attrs {
356+ BNXT_RE_DV_QUERY_QP_HANDLE = (1U << UVERBS_ID_NS_SHIFT ),
357+ BNXT_RE_DV_QUERY_QP_ATTR ,
358+ };
359+
218360#endif /* __BNXT_RE_UVERBS_ABI_H__*/
0 commit comments