• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 IRDMA_ABI_H
20 #define IRDMA_ABI_H
21 #include <linux/types.h>
22 #define IRDMA_ABI_VER 5
23 enum irdma_memreg_type {
24   IRDMA_MEMREG_TYPE_MEM = 0,
25   IRDMA_MEMREG_TYPE_QP = 1,
26   IRDMA_MEMREG_TYPE_CQ = 2,
27 };
28 struct irdma_alloc_ucontext_req {
29   __u32 rsvd32;
30   __u8 userspace_ver;
31   __u8 rsvd8[3];
32 };
33 struct irdma_alloc_ucontext_resp {
34   __u32 max_pds;
35   __u32 max_qps;
36   __u32 wq_size;
37   __u8 kernel_ver;
38   __u8 rsvd[3];
39   __aligned_u64 feature_flags;
40   __aligned_u64 db_mmap_key;
41   __u32 max_hw_wq_frags;
42   __u32 max_hw_read_sges;
43   __u32 max_hw_inline;
44   __u32 max_hw_rq_quanta;
45   __u32 max_hw_wq_quanta;
46   __u32 min_hw_cq_size;
47   __u32 max_hw_cq_size;
48   __u16 max_hw_sq_chunk;
49   __u8 hw_rev;
50   __u8 rsvd2;
51 };
52 struct irdma_alloc_pd_resp {
53   __u32 pd_id;
54   __u8 rsvd[4];
55 };
56 struct irdma_resize_cq_req {
57   __aligned_u64 user_cq_buffer;
58 };
59 struct irdma_create_cq_req {
60   __aligned_u64 user_cq_buf;
61   __aligned_u64 user_shadow_area;
62 };
63 struct irdma_create_qp_req {
64   __aligned_u64 user_wqe_bufs;
65   __aligned_u64 user_compl_ctx;
66 };
67 struct irdma_mem_reg_req {
68   __u16 reg_type;
69   __u16 cq_pages;
70   __u16 rq_pages;
71   __u16 sq_pages;
72 };
73 struct irdma_modify_qp_req {
74   __u8 sq_flush;
75   __u8 rq_flush;
76   __u8 rsvd[6];
77 };
78 struct irdma_create_cq_resp {
79   __u32 cq_id;
80   __u32 cq_size;
81 };
82 struct irdma_create_qp_resp {
83   __u32 qp_id;
84   __u32 actual_sq_size;
85   __u32 actual_rq_size;
86   __u32 irdma_drv_opt;
87   __u16 push_idx;
88   __u8 lsmm;
89   __u8 rsvd;
90   __u32 qp_caps;
91 };
92 struct irdma_modify_qp_resp {
93   __aligned_u64 push_wqe_mmap_key;
94   __aligned_u64 push_db_mmap_key;
95   __u16 push_offset;
96   __u8 push_valid;
97   __u8 rsvd[5];
98 };
99 struct irdma_create_ah_resp {
100   __u32 ah_id;
101   __u8 rsvd[4];
102 };
103 #endif
104