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