xref: /aosp_15_r20/bionic/libc/kernel/uapi/rdma/mlx4-abi.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*
2*8d67ca89SAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*8d67ca89SAndroid Build Coastguard Worker  *
4*8d67ca89SAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*8d67ca89SAndroid Build Coastguard Worker  * for more information.
6*8d67ca89SAndroid Build Coastguard Worker  */
7*8d67ca89SAndroid Build Coastguard Worker #ifndef MLX4_ABI_USER_H
8*8d67ca89SAndroid Build Coastguard Worker #define MLX4_ABI_USER_H
9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h>
10*8d67ca89SAndroid Build Coastguard Worker #define MLX4_IB_UVERBS_NO_DEV_CAPS_ABI_VERSION 3
11*8d67ca89SAndroid Build Coastguard Worker #define MLX4_IB_UVERBS_ABI_VERSION 4
12*8d67ca89SAndroid Build Coastguard Worker struct mlx4_ib_alloc_ucontext_resp_v3 {
13*8d67ca89SAndroid Build Coastguard Worker   __u32 qp_tab_size;
14*8d67ca89SAndroid Build Coastguard Worker   __u16 bf_reg_size;
15*8d67ca89SAndroid Build Coastguard Worker   __u16 bf_regs_per_page;
16*8d67ca89SAndroid Build Coastguard Worker };
17*8d67ca89SAndroid Build Coastguard Worker enum {
18*8d67ca89SAndroid Build Coastguard Worker   MLX4_USER_DEV_CAP_LARGE_CQE = 1L << 0,
19*8d67ca89SAndroid Build Coastguard Worker };
20*8d67ca89SAndroid Build Coastguard Worker struct mlx4_ib_alloc_ucontext_resp {
21*8d67ca89SAndroid Build Coastguard Worker   __u32 dev_caps;
22*8d67ca89SAndroid Build Coastguard Worker   __u32 qp_tab_size;
23*8d67ca89SAndroid Build Coastguard Worker   __u16 bf_reg_size;
24*8d67ca89SAndroid Build Coastguard Worker   __u16 bf_regs_per_page;
25*8d67ca89SAndroid Build Coastguard Worker   __u32 cqe_size;
26*8d67ca89SAndroid Build Coastguard Worker };
27*8d67ca89SAndroid Build Coastguard Worker struct mlx4_ib_alloc_pd_resp {
28*8d67ca89SAndroid Build Coastguard Worker   __u32 pdn;
29*8d67ca89SAndroid Build Coastguard Worker   __u32 reserved;
30*8d67ca89SAndroid Build Coastguard Worker };
31*8d67ca89SAndroid Build Coastguard Worker struct mlx4_ib_create_cq {
32*8d67ca89SAndroid Build Coastguard Worker   __aligned_u64 buf_addr;
33*8d67ca89SAndroid Build Coastguard Worker   __aligned_u64 db_addr;
34*8d67ca89SAndroid Build Coastguard Worker };
35*8d67ca89SAndroid Build Coastguard Worker struct mlx4_ib_create_cq_resp {
36*8d67ca89SAndroid Build Coastguard Worker   __u32 cqn;
37*8d67ca89SAndroid Build Coastguard Worker   __u32 reserved;
38*8d67ca89SAndroid Build Coastguard Worker };
39*8d67ca89SAndroid Build Coastguard Worker struct mlx4_ib_resize_cq {
40*8d67ca89SAndroid Build Coastguard Worker   __aligned_u64 buf_addr;
41*8d67ca89SAndroid Build Coastguard Worker };
42*8d67ca89SAndroid Build Coastguard Worker struct mlx4_ib_create_srq {
43*8d67ca89SAndroid Build Coastguard Worker   __aligned_u64 buf_addr;
44*8d67ca89SAndroid Build Coastguard Worker   __aligned_u64 db_addr;
45*8d67ca89SAndroid Build Coastguard Worker };
46*8d67ca89SAndroid Build Coastguard Worker struct mlx4_ib_create_srq_resp {
47*8d67ca89SAndroid Build Coastguard Worker   __u32 srqn;
48*8d67ca89SAndroid Build Coastguard Worker   __u32 reserved;
49*8d67ca89SAndroid Build Coastguard Worker };
50*8d67ca89SAndroid Build Coastguard Worker struct mlx4_ib_create_qp_rss {
51*8d67ca89SAndroid Build Coastguard Worker   __aligned_u64 rx_hash_fields_mask;
52*8d67ca89SAndroid Build Coastguard Worker   __u8 rx_hash_function;
53*8d67ca89SAndroid Build Coastguard Worker   __u8 reserved[7];
54*8d67ca89SAndroid Build Coastguard Worker   __u8 rx_hash_key[40];
55*8d67ca89SAndroid Build Coastguard Worker   __u32 comp_mask;
56*8d67ca89SAndroid Build Coastguard Worker   __u32 reserved1;
57*8d67ca89SAndroid Build Coastguard Worker };
58*8d67ca89SAndroid Build Coastguard Worker struct mlx4_ib_create_qp {
59*8d67ca89SAndroid Build Coastguard Worker   __aligned_u64 buf_addr;
60*8d67ca89SAndroid Build Coastguard Worker   __aligned_u64 db_addr;
61*8d67ca89SAndroid Build Coastguard Worker   __u8 log_sq_bb_count;
62*8d67ca89SAndroid Build Coastguard Worker   __u8 log_sq_stride;
63*8d67ca89SAndroid Build Coastguard Worker   __u8 sq_no_prefetch;
64*8d67ca89SAndroid Build Coastguard Worker   __u8 reserved;
65*8d67ca89SAndroid Build Coastguard Worker   __u32 inl_recv_sz;
66*8d67ca89SAndroid Build Coastguard Worker };
67*8d67ca89SAndroid Build Coastguard Worker struct mlx4_ib_create_wq {
68*8d67ca89SAndroid Build Coastguard Worker   __aligned_u64 buf_addr;
69*8d67ca89SAndroid Build Coastguard Worker   __aligned_u64 db_addr;
70*8d67ca89SAndroid Build Coastguard Worker   __u8 log_range_size;
71*8d67ca89SAndroid Build Coastguard Worker   __u8 reserved[3];
72*8d67ca89SAndroid Build Coastguard Worker   __u32 comp_mask;
73*8d67ca89SAndroid Build Coastguard Worker };
74*8d67ca89SAndroid Build Coastguard Worker struct mlx4_ib_modify_wq {
75*8d67ca89SAndroid Build Coastguard Worker   __u32 comp_mask;
76*8d67ca89SAndroid Build Coastguard Worker   __u32 reserved;
77*8d67ca89SAndroid Build Coastguard Worker };
78*8d67ca89SAndroid Build Coastguard Worker struct mlx4_ib_create_rwq_ind_tbl_resp {
79*8d67ca89SAndroid Build Coastguard Worker   __u32 response_length;
80*8d67ca89SAndroid Build Coastguard Worker   __u32 reserved;
81*8d67ca89SAndroid Build Coastguard Worker };
82*8d67ca89SAndroid Build Coastguard Worker enum mlx4_ib_rx_hash_function_flags {
83*8d67ca89SAndroid Build Coastguard Worker   MLX4_IB_RX_HASH_FUNC_TOEPLITZ = 1 << 0,
84*8d67ca89SAndroid Build Coastguard Worker };
85*8d67ca89SAndroid Build Coastguard Worker enum mlx4_ib_rx_hash_fields {
86*8d67ca89SAndroid Build Coastguard Worker   MLX4_IB_RX_HASH_SRC_IPV4 = 1 << 0,
87*8d67ca89SAndroid Build Coastguard Worker   MLX4_IB_RX_HASH_DST_IPV4 = 1 << 1,
88*8d67ca89SAndroid Build Coastguard Worker   MLX4_IB_RX_HASH_SRC_IPV6 = 1 << 2,
89*8d67ca89SAndroid Build Coastguard Worker   MLX4_IB_RX_HASH_DST_IPV6 = 1 << 3,
90*8d67ca89SAndroid Build Coastguard Worker   MLX4_IB_RX_HASH_SRC_PORT_TCP = 1 << 4,
91*8d67ca89SAndroid Build Coastguard Worker   MLX4_IB_RX_HASH_DST_PORT_TCP = 1 << 5,
92*8d67ca89SAndroid Build Coastguard Worker   MLX4_IB_RX_HASH_SRC_PORT_UDP = 1 << 6,
93*8d67ca89SAndroid Build Coastguard Worker   MLX4_IB_RX_HASH_DST_PORT_UDP = 1 << 7,
94*8d67ca89SAndroid Build Coastguard Worker   MLX4_IB_RX_HASH_INNER = 1ULL << 31,
95*8d67ca89SAndroid Build Coastguard Worker };
96*8d67ca89SAndroid Build Coastguard Worker struct mlx4_ib_rss_caps {
97*8d67ca89SAndroid Build Coastguard Worker   __aligned_u64 rx_hash_fields_mask;
98*8d67ca89SAndroid Build Coastguard Worker   __u8 rx_hash_function;
99*8d67ca89SAndroid Build Coastguard Worker   __u8 reserved[7];
100*8d67ca89SAndroid Build Coastguard Worker };
101*8d67ca89SAndroid Build Coastguard Worker enum query_device_resp_mask {
102*8d67ca89SAndroid Build Coastguard Worker   MLX4_IB_QUERY_DEV_RESP_MASK_CORE_CLOCK_OFFSET = 1UL << 0,
103*8d67ca89SAndroid Build Coastguard Worker };
104*8d67ca89SAndroid Build Coastguard Worker struct mlx4_ib_tso_caps {
105*8d67ca89SAndroid Build Coastguard Worker   __u32 max_tso;
106*8d67ca89SAndroid Build Coastguard Worker   __u32 supported_qpts;
107*8d67ca89SAndroid Build Coastguard Worker };
108*8d67ca89SAndroid Build Coastguard Worker struct mlx4_uverbs_ex_query_device_resp {
109*8d67ca89SAndroid Build Coastguard Worker   __u32 comp_mask;
110*8d67ca89SAndroid Build Coastguard Worker   __u32 response_length;
111*8d67ca89SAndroid Build Coastguard Worker   __aligned_u64 hca_core_clock_offset;
112*8d67ca89SAndroid Build Coastguard Worker   __u32 max_inl_recv_sz;
113*8d67ca89SAndroid Build Coastguard Worker   __u32 reserved;
114*8d67ca89SAndroid Build Coastguard Worker   struct mlx4_ib_rss_caps rss_caps;
115*8d67ca89SAndroid Build Coastguard Worker   struct mlx4_ib_tso_caps tso_caps;
116*8d67ca89SAndroid Build Coastguard Worker };
117*8d67ca89SAndroid Build Coastguard Worker #endif
118