• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 OCRDMA_ABI_USER_H
7 #define OCRDMA_ABI_USER_H
8 #include <linux/types.h>
9 #define OCRDMA_ABI_VERSION 2
10 #define OCRDMA_BE_ROCE_ABI_VERSION 1
11 struct ocrdma_alloc_ucontext_resp {
12 	__u32 dev_id;
13 	__u32 wqe_size;
14 	__u32 max_inline_data;
15 	__u32 dpp_wqe_size;
16 	__aligned_u64 ah_tbl_page;
17 	__u32 ah_tbl_len;
18 	__u32 rqe_size;
19 	__u8 fw_ver[32];
20 
21 	__aligned_u64 rsvd1;
22 	__aligned_u64 rsvd2;
23 };
24 struct ocrdma_alloc_pd_ureq {
25 	__u32 rsvd[2];
26 };
27 struct ocrdma_alloc_pd_uresp {
28 	__u32 id;
29 	__u32 dpp_enabled;
30 	__u32 dpp_page_addr_hi;
31 	__u32 dpp_page_addr_lo;
32 	__u32 rsvd[2];
33 };
34 struct ocrdma_create_cq_ureq {
35 	__u32 dpp_cq;
36 	__u32 rsvd;
37 };
38 #define MAX_CQ_PAGES 8
39 struct ocrdma_create_cq_uresp {
40 	__u32 cq_id;
41 	__u32 page_size;
42 	__u32 num_pages;
43 	__u32 max_hw_cqe;
44 	__aligned_u64 page_addr[MAX_CQ_PAGES];
45 	__aligned_u64 db_page_addr;
46 	__u32 db_page_size;
47 	__u32 phase_change;
48 
49 	__aligned_u64 rsvd1;
50 	__aligned_u64 rsvd2;
51 };
52 #define MAX_QP_PAGES 8
53 #define MAX_UD_AV_PAGES 8
54 struct ocrdma_create_qp_ureq {
55 	__u8 enable_dpp_cq;
56 	__u8 rsvd;
57 	__u16 dpp_cq_id;
58 	__u32 rsvd1;
59 };
60 struct ocrdma_create_qp_uresp {
61 	__u16 qp_id;
62 	__u16 sq_dbid;
63 	__u16 rq_dbid;
64 	__u16 resv0;
65 	__u32 sq_page_size;
66 	__u32 rq_page_size;
67 	__u32 num_sq_pages;
68 	__u32 num_rq_pages;
69 	__aligned_u64 sq_page_addr[MAX_QP_PAGES];
70 	__aligned_u64 rq_page_addr[MAX_QP_PAGES];
71 	__aligned_u64 db_page_addr;
72 	__u32 db_page_size;
73 	__u32 dpp_credit;
74 	__u32 dpp_offset;
75 	__u32 num_wqe_allocated;
76 	__u32 num_rqe_allocated;
77 	__u32 db_sq_offset;
78 	__u32 db_rq_offset;
79 	__u32 db_shift;
80 	__aligned_u64 rsvd[11];
81 };
82 struct ocrdma_create_srq_uresp {
83 	__u16 rq_dbid;
84 	__u16 resv0;
85 	__u32 resv1;
86 	__u32 rq_page_size;
87 	__u32 num_rq_pages;
88 	__aligned_u64 rq_page_addr[MAX_QP_PAGES];
89 	__aligned_u64 db_page_addr;
90 	__u32 db_page_size;
91 	__u32 num_rqe_allocated;
92 	__u32 db_rq_offset;
93 	__u32 db_shift;
94 	__aligned_u64 rsvd2;
95 	__aligned_u64 rsvd3;
96 };
97 #endif
98