1/****************************************************************************
2 ****************************************************************************
3 ***
4 ***   This header was automatically generated from a Linux kernel header
5 ***   of the same name, to make information necessary for userspace to
6 ***   call into the kernel available to libc.  It contains only constants,
7 ***   structures, and macros generated from the original header, and thus,
8 ***   contains no copyrightable information.
9 ***
10 ***   To edit the content of this header, modify the corresponding
11 ***   source file (e.g. under external/kernel-headers/original/) then
12 ***   run bionic/libc/kernel/tools/update_all.py
13 ***
14 ***   Any manual change here will be lost the next time this script will
15 ***   be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef OCRDMA_ABI_USER_H
20#define OCRDMA_ABI_USER_H
21#include <linux/types.h>
22#define OCRDMA_ABI_VERSION 2
23#define OCRDMA_BE_ROCE_ABI_VERSION 1
24struct ocrdma_alloc_ucontext_resp {
25  __u32 dev_id;
26  __u32 wqe_size;
27  __u32 max_inline_data;
28  __u32 dpp_wqe_size;
29  __u64 ah_tbl_page;
30  __u32 ah_tbl_len;
31  __u32 rqe_size;
32  __u8 fw_ver[32];
33  __u64 rsvd1;
34  __u64 rsvd2;
35};
36struct ocrdma_alloc_pd_ureq {
37  __u64 rsvd1;
38};
39struct ocrdma_alloc_pd_uresp {
40  __u32 id;
41  __u32 dpp_enabled;
42  __u32 dpp_page_addr_hi;
43  __u32 dpp_page_addr_lo;
44  __u64 rsvd1;
45};
46struct ocrdma_create_cq_ureq {
47  __u32 dpp_cq;
48  __u32 rsvd;
49};
50#define MAX_CQ_PAGES 8
51struct ocrdma_create_cq_uresp {
52  __u32 cq_id;
53  __u32 page_size;
54  __u32 num_pages;
55  __u32 max_hw_cqe;
56  __u64 page_addr[MAX_CQ_PAGES];
57  __u64 db_page_addr;
58  __u32 db_page_size;
59  __u32 phase_change;
60  __u64 rsvd1;
61  __u64 rsvd2;
62};
63#define MAX_QP_PAGES 8
64#define MAX_UD_AV_PAGES 8
65struct ocrdma_create_qp_ureq {
66  __u8 enable_dpp_cq;
67  __u8 rsvd;
68  __u16 dpp_cq_id;
69  __u32 rsvd1;
70};
71struct ocrdma_create_qp_uresp {
72  __u16 qp_id;
73  __u16 sq_dbid;
74  __u16 rq_dbid;
75  __u16 resv0;
76  __u32 sq_page_size;
77  __u32 rq_page_size;
78  __u32 num_sq_pages;
79  __u32 num_rq_pages;
80  __u64 sq_page_addr[MAX_QP_PAGES];
81  __u64 rq_page_addr[MAX_QP_PAGES];
82  __u64 db_page_addr;
83  __u32 db_page_size;
84  __u32 dpp_credit;
85  __u32 dpp_offset;
86  __u32 num_wqe_allocated;
87  __u32 num_rqe_allocated;
88  __u32 db_sq_offset;
89  __u32 db_rq_offset;
90  __u32 db_shift;
91  __u64 rsvd[11];
92} __packed;
93struct ocrdma_create_srq_uresp {
94  __u16 rq_dbid;
95  __u16 resv0;
96  __u32 resv1;
97  __u32 rq_page_size;
98  __u32 num_rq_pages;
99  __u64 rq_page_addr[MAX_QP_PAGES];
100  __u64 db_page_addr;
101  __u32 db_page_size;
102  __u32 num_rqe_allocated;
103  __u32 db_rq_offset;
104  __u32 db_shift;
105  __u64 rsvd2;
106  __u64 rsvd3;
107};
108#endif
109