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