• 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 MLX4_ABI_USER_H
20 #define MLX4_ABI_USER_H
21 #include <linux/types.h>
22 #define MLX4_IB_UVERBS_NO_DEV_CAPS_ABI_VERSION 3
23 #define MLX4_IB_UVERBS_ABI_VERSION 4
24 struct mlx4_ib_alloc_ucontext_resp_v3 {
25   __u32 qp_tab_size;
26   __u16 bf_reg_size;
27   __u16 bf_regs_per_page;
28 };
29 struct mlx4_ib_alloc_ucontext_resp {
30   __u32 dev_caps;
31   __u32 qp_tab_size;
32   __u16 bf_reg_size;
33   __u16 bf_regs_per_page;
34   __u32 cqe_size;
35 };
36 struct mlx4_ib_alloc_pd_resp {
37   __u32 pdn;
38   __u32 reserved;
39 };
40 struct mlx4_ib_create_cq {
41   __u64 buf_addr;
42   __u64 db_addr;
43 };
44 struct mlx4_ib_create_cq_resp {
45   __u32 cqn;
46   __u32 reserved;
47 };
48 struct mlx4_ib_resize_cq {
49   __u64 buf_addr;
50 };
51 struct mlx4_ib_create_srq {
52   __u64 buf_addr;
53   __u64 db_addr;
54 };
55 struct mlx4_ib_create_srq_resp {
56   __u32 srqn;
57   __u32 reserved;
58 };
59 struct mlx4_ib_create_qp_rss {
60   __u64 rx_hash_fields_mask;
61   __u8 rx_hash_function;
62   __u8 reserved[7];
63   __u8 rx_hash_key[40];
64   __u32 comp_mask;
65   __u32 reserved1;
66 };
67 struct mlx4_ib_create_qp {
68   __u64 buf_addr;
69   __u64 db_addr;
70   __u8 log_sq_bb_count;
71   __u8 log_sq_stride;
72   __u8 sq_no_prefetch;
73   __u8 reserved;
74   __u32 inl_recv_sz;
75 };
76 struct mlx4_ib_create_wq {
77   __u64 buf_addr;
78   __u64 db_addr;
79   __u8 log_range_size;
80   __u8 reserved[3];
81   __u32 comp_mask;
82 };
83 struct mlx4_ib_modify_wq {
84   __u32 comp_mask;
85   __u32 reserved;
86 };
87 struct mlx4_ib_create_rwq_ind_tbl_resp {
88   __u32 response_length;
89   __u32 reserved;
90 };
91 enum mlx4_ib_rx_hash_function_flags {
92   MLX4_IB_RX_HASH_FUNC_TOEPLITZ = 1 << 0,
93 };
94 enum mlx4_ib_rx_hash_fields {
95   MLX4_IB_RX_HASH_SRC_IPV4 = 1 << 0,
96   MLX4_IB_RX_HASH_DST_IPV4 = 1 << 1,
97   MLX4_IB_RX_HASH_SRC_IPV6 = 1 << 2,
98   MLX4_IB_RX_HASH_DST_IPV6 = 1 << 3,
99   MLX4_IB_RX_HASH_SRC_PORT_TCP = 1 << 4,
100   MLX4_IB_RX_HASH_DST_PORT_TCP = 1 << 5,
101   MLX4_IB_RX_HASH_SRC_PORT_UDP = 1 << 6,
102   MLX4_IB_RX_HASH_DST_PORT_UDP = 1 << 7
103 };
104 #endif
105