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 CXGB4_ABI_USER_H
20 #define CXGB4_ABI_USER_H
21 #include <linux/types.h>
22 #define C4IW_UVERBS_ABI_VERSION 3
23 enum {
24   C4IW_64B_CQE = (1 << 0)
25 };
26 struct c4iw_create_cq {
27   __u32 flags;
28   __u32 reserved;
29 };
30 struct c4iw_create_cq_resp {
31   __aligned_u64 key;
32   __aligned_u64 gts_key;
33   __aligned_u64 memsize;
34   __u32 cqid;
35   __u32 size;
36   __u32 qid_mask;
37   __u32 flags;
38 };
39 enum {
40   C4IW_QPF_ONCHIP = (1 << 0),
41   C4IW_QPF_WRITE_W_IMM = (1 << 1)
42 };
43 struct c4iw_create_qp_resp {
44   __aligned_u64 ma_sync_key;
45   __aligned_u64 sq_key;
46   __aligned_u64 rq_key;
47   __aligned_u64 sq_db_gts_key;
48   __aligned_u64 rq_db_gts_key;
49   __aligned_u64 sq_memsize;
50   __aligned_u64 rq_memsize;
51   __u32 sqid;
52   __u32 rqid;
53   __u32 sq_size;
54   __u32 rq_size;
55   __u32 qid_mask;
56   __u32 flags;
57 };
58 struct c4iw_create_srq_resp {
59   __aligned_u64 srq_key;
60   __aligned_u64 srq_db_gts_key;
61   __aligned_u64 srq_memsize;
62   __u32 srqid;
63   __u32 srq_size;
64   __u32 rqt_abs_idx;
65   __u32 qid_mask;
66   __u32 flags;
67   __u32 reserved;
68 };
69 enum {
70   T4_SRQ_LIMIT_SUPPORT = 1 << 0,
71 };
72 struct c4iw_alloc_ucontext_resp {
73   __aligned_u64 status_page_key;
74   __u32 status_page_size;
75   __u32 reserved;
76 };
77 struct c4iw_alloc_pd_resp {
78   __u32 pdid;
79 };
80 #endif
81