xref: /aosp_15_r20/bionic/libc/kernel/uapi/rdma/bnxt_re-abi.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*
2*8d67ca89SAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*8d67ca89SAndroid Build Coastguard Worker  *
4*8d67ca89SAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*8d67ca89SAndroid Build Coastguard Worker  * for more information.
6*8d67ca89SAndroid Build Coastguard Worker  */
7*8d67ca89SAndroid Build Coastguard Worker #ifndef __BNXT_RE_UVERBS_ABI_H__
8*8d67ca89SAndroid Build Coastguard Worker #define __BNXT_RE_UVERBS_ABI_H__
9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h>
10*8d67ca89SAndroid Build Coastguard Worker #include <rdma/ib_user_ioctl_cmds.h>
11*8d67ca89SAndroid Build Coastguard Worker #define BNXT_RE_ABI_VERSION 1
12*8d67ca89SAndroid Build Coastguard Worker #define BNXT_RE_CHIP_ID0_CHIP_NUM_SFT 0x00
13*8d67ca89SAndroid Build Coastguard Worker #define BNXT_RE_CHIP_ID0_CHIP_REV_SFT 0x10
14*8d67ca89SAndroid Build Coastguard Worker #define BNXT_RE_CHIP_ID0_CHIP_MET_SFT 0x18
15*8d67ca89SAndroid Build Coastguard Worker enum {
16*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_UCNTX_CMASK_HAVE_CCTX = 0x1ULL,
17*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_UCNTX_CMASK_HAVE_MODE = 0x02ULL,
18*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_UCNTX_CMASK_WC_DPI_ENABLED = 0x04ULL,
19*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_UCNTX_CMASK_DBR_PACING_ENABLED = 0x08ULL,
20*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_UCNTX_CMASK_POW2_DISABLED = 0x10ULL,
21*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_UCNTX_CMASK_MSN_TABLE_ENABLED = 0x40,
22*8d67ca89SAndroid Build Coastguard Worker };
23*8d67ca89SAndroid Build Coastguard Worker enum bnxt_re_wqe_mode {
24*8d67ca89SAndroid Build Coastguard Worker   BNXT_QPLIB_WQE_MODE_STATIC = 0x00,
25*8d67ca89SAndroid Build Coastguard Worker   BNXT_QPLIB_WQE_MODE_VARIABLE = 0x01,
26*8d67ca89SAndroid Build Coastguard Worker   BNXT_QPLIB_WQE_MODE_INVALID = 0x02,
27*8d67ca89SAndroid Build Coastguard Worker };
28*8d67ca89SAndroid Build Coastguard Worker enum {
29*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_COMP_MASK_REQ_UCNTX_POW2_SUPPORT = 0x01,
30*8d67ca89SAndroid Build Coastguard Worker };
31*8d67ca89SAndroid Build Coastguard Worker struct bnxt_re_uctx_req {
32*8d67ca89SAndroid Build Coastguard Worker   __aligned_u64 comp_mask;
33*8d67ca89SAndroid Build Coastguard Worker };
34*8d67ca89SAndroid Build Coastguard Worker struct bnxt_re_uctx_resp {
35*8d67ca89SAndroid Build Coastguard Worker   __u32 dev_id;
36*8d67ca89SAndroid Build Coastguard Worker   __u32 max_qp;
37*8d67ca89SAndroid Build Coastguard Worker   __u32 pg_size;
38*8d67ca89SAndroid Build Coastguard Worker   __u32 cqe_sz;
39*8d67ca89SAndroid Build Coastguard Worker   __u32 max_cqd;
40*8d67ca89SAndroid Build Coastguard Worker   __u32 rsvd;
41*8d67ca89SAndroid Build Coastguard Worker   __aligned_u64 comp_mask;
42*8d67ca89SAndroid Build Coastguard Worker   __u32 chip_id0;
43*8d67ca89SAndroid Build Coastguard Worker   __u32 chip_id1;
44*8d67ca89SAndroid Build Coastguard Worker   __u32 mode;
45*8d67ca89SAndroid Build Coastguard Worker   __u32 rsvd1;
46*8d67ca89SAndroid Build Coastguard Worker };
47*8d67ca89SAndroid Build Coastguard Worker struct bnxt_re_pd_resp {
48*8d67ca89SAndroid Build Coastguard Worker   __u32 pdid;
49*8d67ca89SAndroid Build Coastguard Worker   __u32 dpi;
50*8d67ca89SAndroid Build Coastguard Worker   __u64 dbr;
51*8d67ca89SAndroid Build Coastguard Worker } __attribute__((packed, aligned(4)));
52*8d67ca89SAndroid Build Coastguard Worker struct bnxt_re_cq_req {
53*8d67ca89SAndroid Build Coastguard Worker   __aligned_u64 cq_va;
54*8d67ca89SAndroid Build Coastguard Worker   __aligned_u64 cq_handle;
55*8d67ca89SAndroid Build Coastguard Worker };
56*8d67ca89SAndroid Build Coastguard Worker enum bnxt_re_cq_mask {
57*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_CQ_TOGGLE_PAGE_SUPPORT = 0x1,
58*8d67ca89SAndroid Build Coastguard Worker };
59*8d67ca89SAndroid Build Coastguard Worker struct bnxt_re_cq_resp {
60*8d67ca89SAndroid Build Coastguard Worker   __u32 cqid;
61*8d67ca89SAndroid Build Coastguard Worker   __u32 tail;
62*8d67ca89SAndroid Build Coastguard Worker   __u32 phase;
63*8d67ca89SAndroid Build Coastguard Worker   __u32 rsvd;
64*8d67ca89SAndroid Build Coastguard Worker   __aligned_u64 comp_mask;
65*8d67ca89SAndroid Build Coastguard Worker };
66*8d67ca89SAndroid Build Coastguard Worker struct bnxt_re_resize_cq_req {
67*8d67ca89SAndroid Build Coastguard Worker   __aligned_u64 cq_va;
68*8d67ca89SAndroid Build Coastguard Worker };
69*8d67ca89SAndroid Build Coastguard Worker struct bnxt_re_qp_req {
70*8d67ca89SAndroid Build Coastguard Worker   __aligned_u64 qpsva;
71*8d67ca89SAndroid Build Coastguard Worker   __aligned_u64 qprva;
72*8d67ca89SAndroid Build Coastguard Worker   __aligned_u64 qp_handle;
73*8d67ca89SAndroid Build Coastguard Worker };
74*8d67ca89SAndroid Build Coastguard Worker struct bnxt_re_qp_resp {
75*8d67ca89SAndroid Build Coastguard Worker   __u32 qpid;
76*8d67ca89SAndroid Build Coastguard Worker   __u32 rsvd;
77*8d67ca89SAndroid Build Coastguard Worker };
78*8d67ca89SAndroid Build Coastguard Worker struct bnxt_re_srq_req {
79*8d67ca89SAndroid Build Coastguard Worker   __aligned_u64 srqva;
80*8d67ca89SAndroid Build Coastguard Worker   __aligned_u64 srq_handle;
81*8d67ca89SAndroid Build Coastguard Worker };
82*8d67ca89SAndroid Build Coastguard Worker struct bnxt_re_srq_resp {
83*8d67ca89SAndroid Build Coastguard Worker   __u32 srqid;
84*8d67ca89SAndroid Build Coastguard Worker };
85*8d67ca89SAndroid Build Coastguard Worker enum bnxt_re_shpg_offt {
86*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_BEG_RESV_OFFT = 0x00,
87*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_AVID_OFFT = 0x10,
88*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_AVID_SIZE = 0x04,
89*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_END_RESV_OFFT = 0xFF0
90*8d67ca89SAndroid Build Coastguard Worker };
91*8d67ca89SAndroid Build Coastguard Worker enum bnxt_re_objects {
92*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_OBJECT_ALLOC_PAGE = (1U << UVERBS_ID_NS_SHIFT),
93*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_OBJECT_NOTIFY_DRV,
94*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_OBJECT_GET_TOGGLE_MEM,
95*8d67ca89SAndroid Build Coastguard Worker };
96*8d67ca89SAndroid Build Coastguard Worker enum bnxt_re_alloc_page_type {
97*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_ALLOC_WC_PAGE = 0,
98*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_ALLOC_DBR_BAR_PAGE,
99*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_ALLOC_DBR_PAGE,
100*8d67ca89SAndroid Build Coastguard Worker };
101*8d67ca89SAndroid Build Coastguard Worker enum bnxt_re_var_alloc_page_attrs {
102*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_ALLOC_PAGE_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
103*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_ALLOC_PAGE_TYPE,
104*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_ALLOC_PAGE_DPI,
105*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_ALLOC_PAGE_MMAP_OFFSET,
106*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_ALLOC_PAGE_MMAP_LENGTH,
107*8d67ca89SAndroid Build Coastguard Worker };
108*8d67ca89SAndroid Build Coastguard Worker enum bnxt_re_alloc_page_attrs {
109*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_DESTROY_PAGE_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
110*8d67ca89SAndroid Build Coastguard Worker };
111*8d67ca89SAndroid Build Coastguard Worker enum bnxt_re_alloc_page_methods {
112*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_METHOD_ALLOC_PAGE = (1U << UVERBS_ID_NS_SHIFT),
113*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_METHOD_DESTROY_PAGE,
114*8d67ca89SAndroid Build Coastguard Worker };
115*8d67ca89SAndroid Build Coastguard Worker enum bnxt_re_notify_drv_methods {
116*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_METHOD_NOTIFY_DRV = (1U << UVERBS_ID_NS_SHIFT),
117*8d67ca89SAndroid Build Coastguard Worker };
118*8d67ca89SAndroid Build Coastguard Worker enum bnxt_re_get_toggle_mem_type {
119*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_CQ_TOGGLE_MEM = 0,
120*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_SRQ_TOGGLE_MEM,
121*8d67ca89SAndroid Build Coastguard Worker };
122*8d67ca89SAndroid Build Coastguard Worker enum bnxt_re_var_toggle_mem_attrs {
123*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_TOGGLE_MEM_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
124*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_TOGGLE_MEM_TYPE,
125*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_TOGGLE_MEM_RES_ID,
126*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_TOGGLE_MEM_MMAP_PAGE,
127*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_TOGGLE_MEM_MMAP_OFFSET,
128*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_TOGGLE_MEM_MMAP_LENGTH,
129*8d67ca89SAndroid Build Coastguard Worker };
130*8d67ca89SAndroid Build Coastguard Worker enum bnxt_re_toggle_mem_attrs {
131*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_RELEASE_TOGGLE_MEM_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
132*8d67ca89SAndroid Build Coastguard Worker };
133*8d67ca89SAndroid Build Coastguard Worker enum bnxt_re_toggle_mem_methods {
134*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_METHOD_GET_TOGGLE_MEM = (1U << UVERBS_ID_NS_SHIFT),
135*8d67ca89SAndroid Build Coastguard Worker   BNXT_RE_METHOD_RELEASE_TOGGLE_MEM,
136*8d67ca89SAndroid Build Coastguard Worker };
137*8d67ca89SAndroid Build Coastguard Worker #endif
138