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