• 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 __QEDR_USER_H__
7 #define __QEDR_USER_H__
8 #include <linux/types.h>
9 #define QEDR_ABI_VERSION		(8)
10 struct qedr_alloc_ucontext_resp {
11 	__aligned_u64 db_pa;
12 	__u32 db_size;
13 	__u32 max_send_wr;
14 	__u32 max_recv_wr;
15 	__u32 max_srq_wr;
16 	__u32 sges_per_send_wr;
17 	__u32 sges_per_recv_wr;
18 	__u32 sges_per_srq_wr;
19 	__u32 max_cqes;
20 	__u8 dpm_enabled;
21 	__u8 wids_enabled;
22 	__u16 wid_count;
23 	__u32 reserved;
24 };
25 struct qedr_alloc_pd_ureq {
26 	__aligned_u64 rsvd1;
27 };
28 struct qedr_alloc_pd_uresp {
29 	__u32 pd_id;
30 	__u32 reserved;
31 };
32 struct qedr_create_cq_ureq {
33 	__aligned_u64 addr;
34 	__aligned_u64 len;
35 };
36 struct qedr_create_cq_uresp {
37 	__u32 db_offset;
38 	__u16 icid;
39 	__u16 reserved;
40 };
41 struct qedr_create_qp_ureq {
42 	__u32 qp_handle_hi;
43 	__u32 qp_handle_lo;
44 
45 
46 	__aligned_u64 sq_addr;
47 
48 	__aligned_u64 sq_len;
49 
50 
51 	__aligned_u64 rq_addr;
52 
53 	__aligned_u64 rq_len;
54 };
55 struct qedr_create_qp_uresp {
56 	__u32 qp_id;
57 	__u32 atomic_supported;
58 
59 	__u32 sq_db_offset;
60 	__u16 sq_icid;
61 
62 	__u32 rq_db_offset;
63 	__u16 rq_icid;
64 	__u32 rq_db2_offset;
65 	__u32 reserved;
66 };
67 struct qedr_create_srq_ureq {
68 
69 	__aligned_u64 prod_pair_addr;
70 
71 	__aligned_u64 srq_addr;
72 
73 	__aligned_u64 srq_len;
74 };
75 struct qedr_create_srq_uresp {
76 	__u16 srq_id;
77 	__u16 reserved0;
78 	__u32 reserved1;
79 };
80 #endif
81