1 /* 2 * This header was generated from the Linux kernel headers by update_headers.py, 3 * to provide necessary information from kernel to userspace, such as constants, 4 * structures, and macros, and thus, contains no copyrightable information. 5 */ 6 #ifndef __BNXT_RE_UVERBS_ABI_H__ 7 #define __BNXT_RE_UVERBS_ABI_H__ 8 #include <linux/types.h> 9 #define BNXT_RE_ABI_VERSION 1 10 struct bnxt_re_uctx_resp { 11 __u32 dev_id; 12 __u32 max_qp; 13 __u32 pg_size; 14 __u32 cqe_sz; 15 __u32 max_cqd; 16 __u32 rsvd; 17 }; 18 struct bnxt_re_pd_resp { 19 __u32 pdid; 20 __u32 dpi; 21 __u64 dbr; 22 } __attribute__((packed, aligned(4))); 23 struct bnxt_re_cq_req { 24 __aligned_u64 cq_va; 25 __aligned_u64 cq_handle; 26 }; 27 struct bnxt_re_cq_resp { 28 __u32 cqid; 29 __u32 tail; 30 __u32 phase; 31 __u32 rsvd; 32 }; 33 struct bnxt_re_qp_req { 34 __aligned_u64 qpsva; 35 __aligned_u64 qprva; 36 __aligned_u64 qp_handle; 37 }; 38 struct bnxt_re_qp_resp { 39 __u32 qpid; 40 __u32 rsvd; 41 }; 42 struct bnxt_re_srq_req { 43 __aligned_u64 srqva; 44 __aligned_u64 srq_handle; 45 }; 46 struct bnxt_re_srq_resp { 47 __u32 srqid; 48 }; 49 enum bnxt_re_shpg_offt { 50 BNXT_RE_BEG_RESV_OFFT = 0x00, 51 BNXT_RE_AVID_OFFT = 0x10, 52 BNXT_RE_AVID_SIZE = 0x04, 53 BNXT_RE_END_RESV_OFFT = 0xFF0 54 }; 55 #endif 56