blob: 078b386f5a95c8845622782e8b6268124078d946 [file] [log] [blame]
Christopher Ferris6a9755d2017-01-13 14:09:31 -08001/****************************************************************************
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
Christopher Ferris6a9755d2017-01-13 14:09:31 -080023#define MLX4_IB_UVERBS_ABI_VERSION 4
24struct mlx4_ib_alloc_ucontext_resp_v3 {
25 __u32 qp_tab_size;
26 __u16 bf_reg_size;
Christopher Ferris6a9755d2017-01-13 14:09:31 -080027 __u16 bf_regs_per_page;
28};
29struct mlx4_ib_alloc_ucontext_resp {
30 __u32 dev_caps;
Christopher Ferris6a9755d2017-01-13 14:09:31 -080031 __u32 qp_tab_size;
32 __u16 bf_reg_size;
33 __u16 bf_regs_per_page;
34 __u32 cqe_size;
Christopher Ferris6a9755d2017-01-13 14:09:31 -080035};
36struct mlx4_ib_alloc_pd_resp {
37 __u32 pdn;
38 __u32 reserved;
Christopher Ferris6a9755d2017-01-13 14:09:31 -080039};
40struct mlx4_ib_create_cq {
41 __u64 buf_addr;
42 __u64 db_addr;
Christopher Ferris6a9755d2017-01-13 14:09:31 -080043};
44struct mlx4_ib_create_cq_resp {
45 __u32 cqn;
46 __u32 reserved;
Christopher Ferris6a9755d2017-01-13 14:09:31 -080047};
48struct mlx4_ib_resize_cq {
49 __u64 buf_addr;
50};
Christopher Ferris6a9755d2017-01-13 14:09:31 -080051struct mlx4_ib_create_srq {
52 __u64 buf_addr;
53 __u64 db_addr;
54};
Christopher Ferris6a9755d2017-01-13 14:09:31 -080055struct mlx4_ib_create_srq_resp {
56 __u32 srqn;
57 __u32 reserved;
58};
Christopher Ferris1308ad32017-11-14 17:32:13 -080059struct 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};
Christopher Ferris6a9755d2017-01-13 14:09:31 -080067struct mlx4_ib_create_qp {
68 __u64 buf_addr;
69 __u64 db_addr;
70 __u8 log_sq_bb_count;
Christopher Ferris6a9755d2017-01-13 14:09:31 -080071 __u8 log_sq_stride;
72 __u8 sq_no_prefetch;
Christopher Ferris1308ad32017-11-14 17:32:13 -080073 __u8 reserved;
74 __u32 inl_recv_sz;
75};
76struct 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};
83struct mlx4_ib_modify_wq {
84 __u32 comp_mask;
85 __u32 reserved;
86};
87struct mlx4_ib_create_rwq_ind_tbl_resp {
88 __u32 response_length;
89 __u32 reserved;
90};
91enum mlx4_ib_rx_hash_function_flags {
92 MLX4_IB_RX_HASH_FUNC_TOEPLITZ = 1 << 0,
93};
94enum 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
Christopher Ferris6a9755d2017-01-13 14:09:31 -0800103};
Christopher Ferris6a9755d2017-01-13 14:09:31 -0800104#endif