mlx5_ifc.h revision 290650
1290650Shselasky/*- 2290650Shselasky * Copyright (c) 2013-2015, Mellanox Technologies, Ltd. All rights reserved. 3290650Shselasky * 4290650Shselasky * Redistribution and use in source and binary forms, with or without 5290650Shselasky * modification, are permitted provided that the following conditions 6290650Shselasky * are met: 7290650Shselasky * 1. Redistributions of source code must retain the above copyright 8290650Shselasky * notice, this list of conditions and the following disclaimer. 9290650Shselasky * 2. Redistributions in binary form must reproduce the above copyright 10290650Shselasky * notice, this list of conditions and the following disclaimer in the 11290650Shselasky * documentation and/or other materials provided with the distribution. 12290650Shselasky * 13290650Shselasky * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS `AS IS' AND 14290650Shselasky * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15290650Shselasky * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16290650Shselasky * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE 17290650Shselasky * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18290650Shselasky * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19290650Shselasky * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20290650Shselasky * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21290650Shselasky * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22290650Shselasky * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23290650Shselasky * SUCH DAMAGE. 24290650Shselasky * 25290650Shselasky * $FreeBSD: head/sys/dev/mlx5/mlx5_ifc.h 290650 2015-11-10 12:20:22Z hselasky $ 26290650Shselasky 27290650Shselasky Autogenerated file. 28290650Shselasky Date: 2015-04-13 14:59 29290650Shselasky Source Document Name: Mellanox <Doc Name> 30290650Shselasky Source Document Version: 0.28 31290650Shselasky Generated by adb_to_c.py (EAT.ME Version: 1.0.70) 32290650Shselasky*/ 33290650Shselasky#ifndef MLX5_IFC_H 34290650Shselasky#define MLX5_IFC_H 35290650Shselasky 36290650Shselaskyenum { 37290650Shselasky MLX5_EVENT_TYPE_COMP = 0x0, 38290650Shselasky MLX5_EVENT_TYPE_PATH_MIG = 0x1, 39290650Shselasky MLX5_EVENT_TYPE_COMM_EST = 0x2, 40290650Shselasky MLX5_EVENT_TYPE_SQ_DRAINED = 0x3, 41290650Shselasky MLX5_EVENT_TYPE_SRQ_LAST_WQE = 0x13, 42290650Shselasky MLX5_EVENT_TYPE_SRQ_RQ_LIMIT = 0x14, 43290650Shselasky MLX5_EVENT_TYPE_DCT_DRAINED = 0x1c, 44290650Shselasky MLX5_EVENT_TYPE_DCT_KEY_VIOLATION = 0x1d, 45290650Shselasky MLX5_EVENT_TYPE_CQ_ERROR = 0x4, 46290650Shselasky MLX5_EVENT_TYPE_WQ_CATAS_ERROR = 0x5, 47290650Shselasky MLX5_EVENT_TYPE_PATH_MIG_FAILED = 0x7, 48290650Shselasky MLX5_EVENT_TYPE_PAGE_FAULT = 0xc, 49290650Shselasky MLX5_EVENT_TYPE_WQ_INVAL_REQ_ERROR = 0x10, 50290650Shselasky MLX5_EVENT_TYPE_WQ_ACCESS_ERROR = 0x11, 51290650Shselasky MLX5_EVENT_TYPE_SRQ_CATAS_ERROR = 0x12, 52290650Shselasky MLX5_EVENT_TYPE_INTERNAL_ERROR = 0x8, 53290650Shselasky MLX5_EVENT_TYPE_PORT_CHANGE = 0x9, 54290650Shselasky MLX5_EVENT_TYPE_GPIO_EVENT = 0x15, 55290650Shselasky MLX5_EVENT_TYPE_CODING_PORT_MODULE_EVENT = 0x16, 56290650Shselasky MLX5_EVENT_TYPE_REMOTE_CONFIG = 0x19, 57290650Shselasky MLX5_EVENT_TYPE_DB_BF_CONGESTION = 0x1a, 58290650Shselasky MLX5_EVENT_TYPE_STALL_EVENT = 0x1b, 59290650Shselasky MLX5_EVENT_TYPE_DROPPED_PACKET_LOGGED_EVENT = 0x1f, 60290650Shselasky MLX5_EVENT_TYPE_CMD = 0xa, 61290650Shselasky MLX5_EVENT_TYPE_PAGE_REQUEST = 0xb, 62290650Shselasky MLX5_EVENT_TYPE_NIC_VPORT_CHANGE = 0xd 63290650Shselasky}; 64290650Shselasky 65290650Shselaskyenum { 66290650Shselasky MLX5_MODIFY_TIR_BITMASK_LRO = 0x0, 67290650Shselasky MLX5_MODIFY_TIR_BITMASK_INDIRECT_TABLE = 0x1, 68290650Shselasky MLX5_MODIFY_TIR_BITMASK_HASH = 0x2, 69290650Shselasky MLX5_MODIFY_TIR_BITMASK_TUNNELED_OFFLOAD_EN = 0x3 70290650Shselasky}; 71290650Shselasky 72290650Shselaskyenum { 73290650Shselasky MLX5_MODIFY_RQT_BITMASK_RQN_LIST = 0x1, 74290650Shselasky}; 75290650Shselasky 76290650Shselaskyenum { 77290650Shselasky MLX5_CMD_OP_QUERY_HCA_CAP = 0x100, 78290650Shselasky MLX5_CMD_OP_QUERY_ADAPTER = 0x101, 79290650Shselasky MLX5_CMD_OP_INIT_HCA = 0x102, 80290650Shselasky MLX5_CMD_OP_TEARDOWN_HCA = 0x103, 81290650Shselasky MLX5_CMD_OP_ENABLE_HCA = 0x104, 82290650Shselasky MLX5_CMD_OP_DISABLE_HCA = 0x105, 83290650Shselasky MLX5_CMD_OP_QUERY_PAGES = 0x107, 84290650Shselasky MLX5_CMD_OP_MANAGE_PAGES = 0x108, 85290650Shselasky MLX5_CMD_OP_SET_HCA_CAP = 0x109, 86290650Shselasky MLX5_CMD_OP_QUERY_ISSI = 0x10a, 87290650Shselasky MLX5_CMD_OP_SET_ISSI = 0x10b, 88290650Shselasky MLX5_CMD_OP_SET_DRIVER_VERSION = 0x10d, 89290650Shselasky MLX5_CMD_OP_CREATE_MKEY = 0x200, 90290650Shselasky MLX5_CMD_OP_QUERY_MKEY = 0x201, 91290650Shselasky MLX5_CMD_OP_DESTROY_MKEY = 0x202, 92290650Shselasky MLX5_CMD_OP_QUERY_SPECIAL_CONTEXTS = 0x203, 93290650Shselasky MLX5_CMD_OP_PAGE_FAULT_RESUME = 0x204, 94290650Shselasky MLX5_CMD_OP_CREATE_EQ = 0x301, 95290650Shselasky MLX5_CMD_OP_DESTROY_EQ = 0x302, 96290650Shselasky MLX5_CMD_OP_QUERY_EQ = 0x303, 97290650Shselasky MLX5_CMD_OP_GEN_EQE = 0x304, 98290650Shselasky MLX5_CMD_OP_CREATE_CQ = 0x400, 99290650Shselasky MLX5_CMD_OP_DESTROY_CQ = 0x401, 100290650Shselasky MLX5_CMD_OP_QUERY_CQ = 0x402, 101290650Shselasky MLX5_CMD_OP_MODIFY_CQ = 0x403, 102290650Shselasky MLX5_CMD_OP_CREATE_QP = 0x500, 103290650Shselasky MLX5_CMD_OP_DESTROY_QP = 0x501, 104290650Shselasky MLX5_CMD_OP_RST2INIT_QP = 0x502, 105290650Shselasky MLX5_CMD_OP_INIT2RTR_QP = 0x503, 106290650Shselasky MLX5_CMD_OP_RTR2RTS_QP = 0x504, 107290650Shselasky MLX5_CMD_OP_RTS2RTS_QP = 0x505, 108290650Shselasky MLX5_CMD_OP_SQERR2RTS_QP = 0x506, 109290650Shselasky MLX5_CMD_OP_2ERR_QP = 0x507, 110290650Shselasky MLX5_CMD_OP_2RST_QP = 0x50a, 111290650Shselasky MLX5_CMD_OP_QUERY_QP = 0x50b, 112290650Shselasky MLX5_CMD_OP_SQD_RTS_QP = 0x50c, 113290650Shselasky MLX5_CMD_OP_INIT2INIT_QP = 0x50e, 114290650Shselasky MLX5_CMD_OP_CREATE_PSV = 0x600, 115290650Shselasky MLX5_CMD_OP_DESTROY_PSV = 0x601, 116290650Shselasky MLX5_CMD_OP_CREATE_SRQ = 0x700, 117290650Shselasky MLX5_CMD_OP_DESTROY_SRQ = 0x701, 118290650Shselasky MLX5_CMD_OP_QUERY_SRQ = 0x702, 119290650Shselasky MLX5_CMD_OP_ARM_RQ = 0x703, 120290650Shselasky MLX5_CMD_OP_CREATE_XRC_SRQ = 0x705, 121290650Shselasky MLX5_CMD_OP_DESTROY_XRC_SRQ = 0x706, 122290650Shselasky MLX5_CMD_OP_QUERY_XRC_SRQ = 0x707, 123290650Shselasky MLX5_CMD_OP_ARM_XRC_SRQ = 0x708, 124290650Shselasky MLX5_CMD_OP_CREATE_DCT = 0x710, 125290650Shselasky MLX5_CMD_OP_DESTROY_DCT = 0x711, 126290650Shselasky MLX5_CMD_OP_DRAIN_DCT = 0x712, 127290650Shselasky MLX5_CMD_OP_QUERY_DCT = 0x713, 128290650Shselasky MLX5_CMD_OP_ARM_DCT_FOR_KEY_VIOLATION = 0x714, 129290650Shselasky MLX5_CMD_OP_SET_DC_CNAK_TRACE = 0x715, 130290650Shselasky MLX5_CMD_OP_QUERY_DC_CNAK_TRACE = 0x716, 131290650Shselasky MLX5_CMD_OP_QUERY_VPORT_STATE = 0x750, 132290650Shselasky MLX5_CMD_OP_MODIFY_VPORT_STATE = 0x751, 133290650Shselasky MLX5_CMD_OP_QUERY_ESW_VPORT_CONTEXT = 0x752, 134290650Shselasky MLX5_CMD_OP_MODIFY_ESW_VPORT_CONTEXT = 0x753, 135290650Shselasky MLX5_CMD_OP_QUERY_NIC_VPORT_CONTEXT = 0x754, 136290650Shselasky MLX5_CMD_OP_MODIFY_NIC_VPORT_CONTEXT = 0x755, 137290650Shselasky MLX5_CMD_OP_QUERY_ROCE_ADDRESS = 0x760, 138290650Shselasky MLX5_CMD_OP_SET_ROCE_ADDRESS = 0x761, 139290650Shselasky MLX5_CMD_OP_QUERY_HCA_VPORT_CONTEXT = 0x762, 140290650Shselasky MLX5_CMD_OP_MODIFY_HCA_VPORT_CONTEXT = 0x763, 141290650Shselasky MLX5_CMD_OP_QUERY_HCA_VPORT_GID = 0x764, 142290650Shselasky MLX5_CMD_OP_QUERY_HCA_VPORT_PKEY = 0x765, 143290650Shselasky MLX5_CMD_OP_QUERY_VPORT_COUNTER = 0x770, 144290650Shselasky MLX5_CMD_OP_ALLOC_Q_COUNTER = 0x771, 145290650Shselasky MLX5_CMD_OP_DEALLOC_Q_COUNTER = 0x772, 146290650Shselasky MLX5_CMD_OP_QUERY_Q_COUNTER = 0x773, 147290650Shselasky MLX5_CMD_OP_ALLOC_PD = 0x800, 148290650Shselasky MLX5_CMD_OP_DEALLOC_PD = 0x801, 149290650Shselasky MLX5_CMD_OP_ALLOC_UAR = 0x802, 150290650Shselasky MLX5_CMD_OP_DEALLOC_UAR = 0x803, 151290650Shselasky MLX5_CMD_OP_CONFIG_INT_MODERATION = 0x804, 152290650Shselasky MLX5_CMD_OP_ACCESS_REG = 0x805, 153290650Shselasky MLX5_CMD_OP_ATTACH_TO_MCG = 0x806, 154290650Shselasky MLX5_CMD_OP_DETACH_FROM_MCG = 0x807, 155290650Shselasky MLX5_CMD_OP_GET_DROPPED_PACKET_LOG = 0x80a, 156290650Shselasky MLX5_CMD_OP_MAD_IFC = 0x50d, 157290650Shselasky MLX5_CMD_OP_QUERY_MAD_DEMUX = 0x80b, 158290650Shselasky MLX5_CMD_OP_SET_MAD_DEMUX = 0x80c, 159290650Shselasky MLX5_CMD_OP_NOP = 0x80d, 160290650Shselasky MLX5_CMD_OP_ALLOC_XRCD = 0x80e, 161290650Shselasky MLX5_CMD_OP_DEALLOC_XRCD = 0x80f, 162290650Shselasky MLX5_CMD_OP_SET_BURST_SIZE = 0x812, 163290650Shselasky MLX5_CMD_OP_QUERY_BURST_SIZE = 0x813, 164290650Shselasky MLX5_CMD_OP_ACTIVATE_TRACER = 0x814, 165290650Shselasky MLX5_CMD_OP_DEACTIVATE_TRACER = 0x815, 166290650Shselasky MLX5_CMD_OP_ALLOC_TRANSPORT_DOMAIN = 0x816, 167290650Shselasky MLX5_CMD_OP_DEALLOC_TRANSPORT_DOMAIN = 0x817, 168290650Shselasky MLX5_CMD_OP_QUERY_CONG_STATUS = 0x822, 169290650Shselasky MLX5_CMD_OP_MODIFY_CONG_STATUS = 0x823, 170290650Shselasky MLX5_CMD_OP_QUERY_CONG_PARAMS = 0x824, 171290650Shselasky MLX5_CMD_OP_MODIFY_CONG_PARAMS = 0x825, 172290650Shselasky MLX5_CMD_OP_QUERY_CONG_STATISTICS = 0x826, 173290650Shselasky MLX5_CMD_OP_ADD_VXLAN_UDP_DPORT = 0x827, 174290650Shselasky MLX5_CMD_OP_DELETE_VXLAN_UDP_DPORT = 0x828, 175290650Shselasky MLX5_CMD_OP_SET_L2_TABLE_ENTRY = 0x829, 176290650Shselasky MLX5_CMD_OP_QUERY_L2_TABLE_ENTRY = 0x82a, 177290650Shselasky MLX5_CMD_OP_DELETE_L2_TABLE_ENTRY = 0x82b, 178290650Shselasky MLX5_CMD_OP_SET_WOL_ROL = 0x830, 179290650Shselasky MLX5_CMD_OP_QUERY_WOL_ROL = 0x831, 180290650Shselasky MLX5_CMD_OP_CREATE_TIR = 0x900, 181290650Shselasky MLX5_CMD_OP_MODIFY_TIR = 0x901, 182290650Shselasky MLX5_CMD_OP_DESTROY_TIR = 0x902, 183290650Shselasky MLX5_CMD_OP_QUERY_TIR = 0x903, 184290650Shselasky MLX5_CMD_OP_CREATE_SQ = 0x904, 185290650Shselasky MLX5_CMD_OP_MODIFY_SQ = 0x905, 186290650Shselasky MLX5_CMD_OP_DESTROY_SQ = 0x906, 187290650Shselasky MLX5_CMD_OP_QUERY_SQ = 0x907, 188290650Shselasky MLX5_CMD_OP_CREATE_RQ = 0x908, 189290650Shselasky MLX5_CMD_OP_MODIFY_RQ = 0x909, 190290650Shselasky MLX5_CMD_OP_DESTROY_RQ = 0x90a, 191290650Shselasky MLX5_CMD_OP_QUERY_RQ = 0x90b, 192290650Shselasky MLX5_CMD_OP_CREATE_RMP = 0x90c, 193290650Shselasky MLX5_CMD_OP_MODIFY_RMP = 0x90d, 194290650Shselasky MLX5_CMD_OP_DESTROY_RMP = 0x90e, 195290650Shselasky MLX5_CMD_OP_QUERY_RMP = 0x90f, 196290650Shselasky MLX5_CMD_OP_CREATE_TIS = 0x912, 197290650Shselasky MLX5_CMD_OP_MODIFY_TIS = 0x913, 198290650Shselasky MLX5_CMD_OP_DESTROY_TIS = 0x914, 199290650Shselasky MLX5_CMD_OP_QUERY_TIS = 0x915, 200290650Shselasky MLX5_CMD_OP_CREATE_RQT = 0x916, 201290650Shselasky MLX5_CMD_OP_MODIFY_RQT = 0x917, 202290650Shselasky MLX5_CMD_OP_DESTROY_RQT = 0x918, 203290650Shselasky MLX5_CMD_OP_QUERY_RQT = 0x919, 204290650Shselasky MLX5_CMD_OP_SET_FLOW_TABLE_ROOT = 0x92f, 205290650Shselasky MLX5_CMD_OP_CREATE_FLOW_TABLE = 0x930, 206290650Shselasky MLX5_CMD_OP_DESTROY_FLOW_TABLE = 0x931, 207290650Shselasky MLX5_CMD_OP_QUERY_FLOW_TABLE = 0x932, 208290650Shselasky MLX5_CMD_OP_CREATE_FLOW_GROUP = 0x933, 209290650Shselasky MLX5_CMD_OP_DESTROY_FLOW_GROUP = 0x934, 210290650Shselasky MLX5_CMD_OP_QUERY_FLOW_GROUP = 0x935, 211290650Shselasky MLX5_CMD_OP_SET_FLOW_TABLE_ENTRY = 0x936, 212290650Shselasky MLX5_CMD_OP_QUERY_FLOW_TABLE_ENTRY = 0x937, 213290650Shselasky MLX5_CMD_OP_DELETE_FLOW_TABLE_ENTRY = 0x938, 214290650Shselasky MLX5_CMD_OP_ALLOC_FLOW_COUNTER = 0x939, 215290650Shselasky MLX5_CMD_OP_DEALLOC_FLOW_COUNTER = 0x93a, 216290650Shselasky MLX5_CMD_OP_QUERY_FLOW_COUNTER = 0x93b 217290650Shselasky}; 218290650Shselasky 219290650Shselaskyenum { 220290650Shselasky MLX5_ICMD_CMDS_OPCODE_ICMD_OPCODE_QUERY_FW_INFO = 0x8007, 221290650Shselasky MLX5_ICMD_CMDS_OPCODE_ICMD_QUERY_CAPABILITY = 0x8400, 222290650Shselasky MLX5_ICMD_CMDS_OPCODE_ICMD_ACCESS_REGISTER = 0x9001, 223290650Shselasky MLX5_ICMD_CMDS_OPCODE_ICMD_QUERY_VIRTUAL_MAC = 0x9003, 224290650Shselasky MLX5_ICMD_CMDS_OPCODE_ICMD_SET_VIRTUAL_MAC = 0x9004, 225290650Shselasky MLX5_ICMD_CMDS_OPCODE_ICMD_QUERY_WOL_ROL = 0x9005, 226290650Shselasky MLX5_ICMD_CMDS_OPCODE_ICMD_SET_WOL_ROL = 0x9006, 227290650Shselasky MLX5_ICMD_CMDS_OPCODE_ICMD_OCBB_INIT = 0x9007, 228290650Shselasky MLX5_ICMD_CMDS_OPCODE_ICMD_OCBB_QUERY_HEADER_STATUS = 0x9008, 229290650Shselasky MLX5_ICMD_CMDS_OPCODE_ICMD_OCBB_QUERY_ETOC_STATUS = 0x9009, 230290650Shselasky MLX5_ICMD_CMDS_OPCODE_ICMD_OCBB_SET_EVENT = 0x900a, 231290650Shselasky MLX5_ICMD_CMDS_OPCODE_ICMD_OPCODE_INIT_OCSD = 0xf004 232290650Shselasky}; 233290650Shselasky 234290650Shselaskystruct mlx5_ifc_flow_table_fields_supported_bits { 235290650Shselasky u8 outer_dmac[0x1]; 236290650Shselasky u8 outer_smac[0x1]; 237290650Shselasky u8 outer_ether_type[0x1]; 238290650Shselasky u8 reserved_0[0x1]; 239290650Shselasky u8 outer_first_prio[0x1]; 240290650Shselasky u8 outer_first_cfi[0x1]; 241290650Shselasky u8 outer_first_vid[0x1]; 242290650Shselasky u8 reserved_1[0x1]; 243290650Shselasky u8 outer_second_prio[0x1]; 244290650Shselasky u8 outer_second_cfi[0x1]; 245290650Shselasky u8 outer_second_vid[0x1]; 246290650Shselasky u8 outer_ipv6_flow_label[0x1]; 247290650Shselasky u8 outer_sip[0x1]; 248290650Shselasky u8 outer_dip[0x1]; 249290650Shselasky u8 outer_frag[0x1]; 250290650Shselasky u8 outer_ip_protocol[0x1]; 251290650Shselasky u8 outer_ip_ecn[0x1]; 252290650Shselasky u8 outer_ip_dscp[0x1]; 253290650Shselasky u8 outer_udp_sport[0x1]; 254290650Shselasky u8 outer_udp_dport[0x1]; 255290650Shselasky u8 outer_tcp_sport[0x1]; 256290650Shselasky u8 outer_tcp_dport[0x1]; 257290650Shselasky u8 outer_tcp_flags[0x1]; 258290650Shselasky u8 outer_gre_protocol[0x1]; 259290650Shselasky u8 outer_gre_key[0x1]; 260290650Shselasky u8 outer_vxlan_vni[0x1]; 261290650Shselasky u8 reserved_2[0x5]; 262290650Shselasky u8 source_eswitch_port[0x1]; 263290650Shselasky 264290650Shselasky u8 inner_dmac[0x1]; 265290650Shselasky u8 inner_smac[0x1]; 266290650Shselasky u8 inner_ether_type[0x1]; 267290650Shselasky u8 reserved_3[0x1]; 268290650Shselasky u8 inner_first_prio[0x1]; 269290650Shselasky u8 inner_first_cfi[0x1]; 270290650Shselasky u8 inner_first_vid[0x1]; 271290650Shselasky u8 reserved_4[0x1]; 272290650Shselasky u8 inner_second_prio[0x1]; 273290650Shselasky u8 inner_second_cfi[0x1]; 274290650Shselasky u8 inner_second_vid[0x1]; 275290650Shselasky u8 inner_ipv6_flow_label[0x1]; 276290650Shselasky u8 inner_sip[0x1]; 277290650Shselasky u8 inner_dip[0x1]; 278290650Shselasky u8 inner_frag[0x1]; 279290650Shselasky u8 inner_ip_protocol[0x1]; 280290650Shselasky u8 inner_ip_ecn[0x1]; 281290650Shselasky u8 inner_ip_dscp[0x1]; 282290650Shselasky u8 inner_udp_sport[0x1]; 283290650Shselasky u8 inner_udp_dport[0x1]; 284290650Shselasky u8 inner_tcp_sport[0x1]; 285290650Shselasky u8 inner_tcp_dport[0x1]; 286290650Shselasky u8 inner_tcp_flags[0x1]; 287290650Shselasky u8 reserved_5[0x9]; 288290650Shselasky 289290650Shselasky u8 reserved_6[0x1f]; 290290650Shselasky u8 source_sqn[0x1]; 291290650Shselasky 292290650Shselasky u8 reserved_7[0x20]; 293290650Shselasky}; 294290650Shselasky 295290650Shselaskystruct mlx5_ifc_flow_table_prop_layout_bits { 296290650Shselasky u8 ft_support[0x1]; 297290650Shselasky u8 flow_tag[0x1]; 298290650Shselasky u8 flow_counter[0x1]; 299290650Shselasky u8 flow_modify_en[0x1]; 300290650Shselasky u8 modify_root[0x1]; 301290650Shselasky u8 reserved_0[0x1b]; 302290650Shselasky 303290650Shselasky u8 reserved_1[0x2]; 304290650Shselasky u8 log_max_ft_size[0x6]; 305290650Shselasky u8 reserved_2[0x10]; 306290650Shselasky u8 max_ft_level[0x8]; 307290650Shselasky 308290650Shselasky u8 reserved_3[0x20]; 309290650Shselasky 310290650Shselasky u8 reserved_4[0x18]; 311290650Shselasky u8 log_max_ft_num[0x8]; 312290650Shselasky 313290650Shselasky u8 reserved_5[0x10]; 314290650Shselasky u8 log_max_flow_counter[0x8]; 315290650Shselasky u8 log_max_destination[0x8]; 316290650Shselasky 317290650Shselasky u8 reserved_6[0x18]; 318290650Shselasky u8 log_max_flow[0x8]; 319290650Shselasky 320290650Shselasky u8 reserved_7[0x40]; 321290650Shselasky 322290650Shselasky struct mlx5_ifc_flow_table_fields_supported_bits ft_field_support; 323290650Shselasky 324290650Shselasky struct mlx5_ifc_flow_table_fields_supported_bits ft_field_bitmask_support; 325290650Shselasky}; 326290650Shselasky 327290650Shselaskystruct mlx5_ifc_odp_per_transport_service_cap_bits { 328290650Shselasky u8 send[0x1]; 329290650Shselasky u8 receive[0x1]; 330290650Shselasky u8 write[0x1]; 331290650Shselasky u8 read[0x1]; 332290650Shselasky u8 atomic[0x1]; 333290650Shselasky u8 srq_receive[0x1]; 334290650Shselasky u8 reserved_0[0x1a]; 335290650Shselasky}; 336290650Shselasky 337290650Shselaskystruct mlx5_ifc_flow_counter_list_bits { 338290650Shselasky u8 reserved_0[0x10]; 339290650Shselasky u8 flow_counter_id[0x10]; 340290650Shselasky 341290650Shselasky u8 reserved_1[0x20]; 342290650Shselasky}; 343290650Shselasky 344290650Shselaskyenum { 345290650Shselasky MLX5_FLOW_CONTEXT_DEST_TYPE_VPORT = 0x0, 346290650Shselasky MLX5_FLOW_CONTEXT_DEST_TYPE_FLOW_TABLE = 0x1, 347290650Shselasky MLX5_FLOW_CONTEXT_DEST_TYPE_TIR = 0x2, 348290650Shselasky}; 349290650Shselasky 350290650Shselaskystruct mlx5_ifc_dest_format_struct_bits { 351290650Shselasky u8 destination_type[0x8]; 352290650Shselasky u8 destination_id[0x18]; 353290650Shselasky 354290650Shselasky u8 reserved_0[0x20]; 355290650Shselasky}; 356290650Shselasky 357290650Shselaskystruct mlx5_ifc_fte_match_set_lyr_2_4_bits { 358290650Shselasky u8 smac_47_16[0x20]; 359290650Shselasky 360290650Shselasky u8 smac_15_0[0x10]; 361290650Shselasky u8 ethertype[0x10]; 362290650Shselasky 363290650Shselasky u8 dmac_47_16[0x20]; 364290650Shselasky 365290650Shselasky u8 dmac_15_0[0x10]; 366290650Shselasky u8 first_prio[0x3]; 367290650Shselasky u8 first_cfi[0x1]; 368290650Shselasky u8 first_vid[0xc]; 369290650Shselasky 370290650Shselasky u8 ip_protocol[0x8]; 371290650Shselasky u8 ip_dscp[0x6]; 372290650Shselasky u8 ip_ecn[0x2]; 373290650Shselasky u8 vlan_tag[0x1]; 374290650Shselasky u8 reserved_0[0x1]; 375290650Shselasky u8 frag[0x1]; 376290650Shselasky u8 reserved_1[0x4]; 377290650Shselasky u8 tcp_flags[0x9]; 378290650Shselasky 379290650Shselasky u8 tcp_sport[0x10]; 380290650Shselasky u8 tcp_dport[0x10]; 381290650Shselasky 382290650Shselasky u8 reserved_2[0x20]; 383290650Shselasky 384290650Shselasky u8 udp_sport[0x10]; 385290650Shselasky u8 udp_dport[0x10]; 386290650Shselasky 387290650Shselasky u8 src_ip[4][0x20]; 388290650Shselasky 389290650Shselasky u8 dst_ip[4][0x20]; 390290650Shselasky}; 391290650Shselasky 392290650Shselaskystruct mlx5_ifc_fte_match_set_misc_bits { 393290650Shselasky u8 reserved_0[0x8]; 394290650Shselasky u8 source_sqn[0x18]; 395290650Shselasky 396290650Shselasky u8 reserved_1[0x10]; 397290650Shselasky u8 source_port[0x10]; 398290650Shselasky 399290650Shselasky u8 outer_second_prio[0x3]; 400290650Shselasky u8 outer_second_cfi[0x1]; 401290650Shselasky u8 outer_second_vid[0xc]; 402290650Shselasky u8 inner_second_prio[0x3]; 403290650Shselasky u8 inner_second_cfi[0x1]; 404290650Shselasky u8 inner_second_vid[0xc]; 405290650Shselasky 406290650Shselasky u8 outer_second_vlan_tag[0x1]; 407290650Shselasky u8 inner_second_vlan_tag[0x1]; 408290650Shselasky u8 reserved_2[0xe]; 409290650Shselasky u8 gre_protocol[0x10]; 410290650Shselasky 411290650Shselasky u8 gre_key_h[0x18]; 412290650Shselasky u8 gre_key_l[0x8]; 413290650Shselasky 414290650Shselasky u8 vxlan_vni[0x18]; 415290650Shselasky u8 reserved_3[0x8]; 416290650Shselasky 417290650Shselasky u8 reserved_4[0x20]; 418290650Shselasky 419290650Shselasky u8 reserved_5[0xc]; 420290650Shselasky u8 outer_ipv6_flow_label[0x14]; 421290650Shselasky 422290650Shselasky u8 reserved_6[0xc]; 423290650Shselasky u8 inner_ipv6_flow_label[0x14]; 424290650Shselasky 425290650Shselasky u8 reserved_7[0xe0]; 426290650Shselasky}; 427290650Shselasky 428290650Shselaskystruct mlx5_ifc_cmd_pas_bits { 429290650Shselasky u8 pa_h[0x20]; 430290650Shselasky 431290650Shselasky u8 pa_l[0x14]; 432290650Shselasky u8 reserved_0[0xc]; 433290650Shselasky}; 434290650Shselasky 435290650Shselaskystruct mlx5_ifc_uint64_bits { 436290650Shselasky u8 hi[0x20]; 437290650Shselasky 438290650Shselasky u8 lo[0x20]; 439290650Shselasky}; 440290650Shselasky 441290650Shselaskystruct mlx5_ifc_nodnic_ring_doorbell_bits { 442290650Shselasky u8 reserved_0[0x8]; 443290650Shselasky u8 ring_pi[0x10]; 444290650Shselasky u8 reserved_1[0x8]; 445290650Shselasky}; 446290650Shselasky 447290650Shselaskyenum { 448290650Shselasky MLX5_ADS_STAT_RATE_NO_LIMIT = 0x0, 449290650Shselasky MLX5_ADS_STAT_RATE_2_5GBPS = 0x7, 450290650Shselasky MLX5_ADS_STAT_RATE_10GBPS = 0x8, 451290650Shselasky MLX5_ADS_STAT_RATE_30GBPS = 0x9, 452290650Shselasky MLX5_ADS_STAT_RATE_5GBPS = 0xa, 453290650Shselasky MLX5_ADS_STAT_RATE_20GBPS = 0xb, 454290650Shselasky MLX5_ADS_STAT_RATE_40GBPS = 0xc, 455290650Shselasky MLX5_ADS_STAT_RATE_60GBPS = 0xd, 456290650Shselasky MLX5_ADS_STAT_RATE_80GBPS = 0xe, 457290650Shselasky MLX5_ADS_STAT_RATE_120GBPS = 0xf, 458290650Shselasky}; 459290650Shselasky 460290650Shselaskystruct mlx5_ifc_ads_bits { 461290650Shselasky u8 fl[0x1]; 462290650Shselasky u8 free_ar[0x1]; 463290650Shselasky u8 reserved_0[0xe]; 464290650Shselasky u8 pkey_index[0x10]; 465290650Shselasky 466290650Shselasky u8 reserved_1[0x8]; 467290650Shselasky u8 grh[0x1]; 468290650Shselasky u8 mlid[0x7]; 469290650Shselasky u8 rlid[0x10]; 470290650Shselasky 471290650Shselasky u8 ack_timeout[0x5]; 472290650Shselasky u8 reserved_2[0x3]; 473290650Shselasky u8 src_addr_index[0x8]; 474290650Shselasky u8 log_rtm[0x4]; 475290650Shselasky u8 stat_rate[0x4]; 476290650Shselasky u8 hop_limit[0x8]; 477290650Shselasky 478290650Shselasky u8 reserved_3[0x4]; 479290650Shselasky u8 tclass[0x8]; 480290650Shselasky u8 flow_label[0x14]; 481290650Shselasky 482290650Shselasky u8 rgid_rip[16][0x8]; 483290650Shselasky 484290650Shselasky u8 reserved_4[0x4]; 485290650Shselasky u8 f_dscp[0x1]; 486290650Shselasky u8 f_ecn[0x1]; 487290650Shselasky u8 reserved_5[0x1]; 488290650Shselasky u8 f_eth_prio[0x1]; 489290650Shselasky u8 ecn[0x2]; 490290650Shselasky u8 dscp[0x6]; 491290650Shselasky u8 udp_sport[0x10]; 492290650Shselasky 493290650Shselasky u8 dei_cfi[0x1]; 494290650Shselasky u8 eth_prio[0x3]; 495290650Shselasky u8 sl[0x4]; 496290650Shselasky u8 port[0x8]; 497290650Shselasky u8 rmac_47_32[0x10]; 498290650Shselasky 499290650Shselasky u8 rmac_31_0[0x20]; 500290650Shselasky}; 501290650Shselasky 502290650Shselaskystruct mlx5_ifc_e_switch_cap_bits { 503290650Shselasky u8 vport_svlan_strip[0x1]; 504290650Shselasky u8 vport_cvlan_strip[0x1]; 505290650Shselasky u8 vport_svlan_insert[0x1]; 506290650Shselasky u8 vport_cvlan_insert_if_not_exist[0x1]; 507290650Shselasky u8 vport_cvlan_insert_overwrite[0x1]; 508290650Shselasky u8 reserved_0[0x1b]; 509290650Shselasky 510290650Shselasky u8 reserved_1[0x7e0]; 511290650Shselasky}; 512290650Shselasky 513290650Shselaskystruct mlx5_ifc_flow_table_eswitch_cap_bits { 514290650Shselasky u8 reserved_0[0x200]; 515290650Shselasky 516290650Shselasky struct mlx5_ifc_flow_table_prop_layout_bits flow_table_properties_nic_esw_fdb; 517290650Shselasky 518290650Shselasky struct mlx5_ifc_flow_table_prop_layout_bits flow_table_properties_esw_acl_ingress; 519290650Shselasky 520290650Shselasky struct mlx5_ifc_flow_table_prop_layout_bits flow_table_properties_esw_acl_egress; 521290650Shselasky 522290650Shselasky u8 reserved_1[0x7800]; 523290650Shselasky}; 524290650Shselasky 525290650Shselaskystruct mlx5_ifc_flow_table_nic_cap_bits { 526290650Shselasky u8 reserved_0[0x200]; 527290650Shselasky 528290650Shselasky struct mlx5_ifc_flow_table_prop_layout_bits flow_table_properties_nic_receive; 529290650Shselasky 530290650Shselasky struct mlx5_ifc_flow_table_prop_layout_bits flow_table_properties_nic_receive_rdma; 531290650Shselasky 532290650Shselasky struct mlx5_ifc_flow_table_prop_layout_bits flow_table_properties_nic_receive_sniffer; 533290650Shselasky 534290650Shselasky struct mlx5_ifc_flow_table_prop_layout_bits flow_table_properties_nic_transmit; 535290650Shselasky 536290650Shselasky struct mlx5_ifc_flow_table_prop_layout_bits flow_table_properties_nic_transmit_rdma; 537290650Shselasky 538290650Shselasky struct mlx5_ifc_flow_table_prop_layout_bits flow_table_properties_nic_transmit_sniffer; 539290650Shselasky 540290650Shselasky u8 reserved_1[0x7200]; 541290650Shselasky}; 542290650Shselasky 543290650Shselaskystruct mlx5_ifc_per_protocol_networking_offload_caps_bits { 544290650Shselasky u8 csum_cap[0x1]; 545290650Shselasky u8 vlan_cap[0x1]; 546290650Shselasky u8 lro_cap[0x1]; 547290650Shselasky u8 lro_psh_flag[0x1]; 548290650Shselasky u8 lro_time_stamp[0x1]; 549290650Shselasky u8 lro_max_msg_sz_mode[0x2]; 550290650Shselasky u8 reserved_0[0x2]; 551290650Shselasky u8 self_lb_mc[0x1]; 552290650Shselasky u8 self_lb_uc[0x1]; 553290650Shselasky u8 max_lso_cap[0x5]; 554290650Shselasky u8 multi_pkt_send_wqe[0x2]; 555290650Shselasky u8 wqe_inline_mode[0x2]; 556290650Shselasky u8 rss_ind_tbl_cap[0x4]; 557290650Shselasky u8 reserved_1[0x3]; 558290650Shselasky u8 tunnel_lso_const_out_ip_id[0x1]; 559290650Shselasky u8 tunnel_lro_gre[0x1]; 560290650Shselasky u8 tunnel_lro_vxlan[0x1]; 561290650Shselasky u8 tunnel_statless_gre[0x1]; 562290650Shselasky u8 tunnel_stateless_vxlan[0x1]; 563290650Shselasky 564290650Shselasky u8 reserved_2[0x20]; 565290650Shselasky 566290650Shselasky u8 reserved_3[0x10]; 567290650Shselasky u8 lro_min_mss_size[0x10]; 568290650Shselasky 569290650Shselasky u8 reserved_4[0x120]; 570290650Shselasky 571290650Shselasky u8 lro_timer_supported_periods[4][0x20]; 572290650Shselasky 573290650Shselasky u8 reserved_5[0x600]; 574290650Shselasky}; 575290650Shselasky 576290650Shselaskyenum { 577290650Shselasky MLX5_ROCE_CAP_L3_TYPE_GRH = 0x1, 578290650Shselasky MLX5_ROCE_CAP_L3_TYPE_IPV4 = 0x2, 579290650Shselasky MLX5_ROCE_CAP_L3_TYPE_IPV6 = 0x4, 580290650Shselasky}; 581290650Shselasky 582290650Shselaskystruct mlx5_ifc_roce_cap_bits { 583290650Shselasky u8 roce_apm[0x1]; 584290650Shselasky u8 eth_prio_primary_in_rts2rts[0x1]; 585290650Shselasky u8 reserved_0[0x1e]; 586290650Shselasky 587290650Shselasky u8 reserved_1[0x60]; 588290650Shselasky 589290650Shselasky u8 reserved_2[0xc]; 590290650Shselasky u8 l3_type[0x4]; 591290650Shselasky u8 reserved_3[0x8]; 592290650Shselasky u8 roce_version[0x8]; 593290650Shselasky 594290650Shselasky u8 reserved_4[0x10]; 595290650Shselasky u8 r_roce_dest_udp_port[0x10]; 596290650Shselasky 597290650Shselasky u8 r_roce_max_src_udp_port[0x10]; 598290650Shselasky u8 r_roce_min_src_udp_port[0x10]; 599290650Shselasky 600290650Shselasky u8 reserved_5[0x10]; 601290650Shselasky u8 roce_address_table_size[0x10]; 602290650Shselasky 603290650Shselasky u8 reserved_6[0x700]; 604290650Shselasky}; 605290650Shselasky 606290650Shselaskyenum { 607290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_QP_1_BYTE = 0x1, 608290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_QP_2_BYTES = 0x2, 609290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_QP_4_BYTES = 0x4, 610290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_QP_8_BYTES = 0x8, 611290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_QP_16_BYTES = 0x10, 612290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_QP_32_BYTES = 0x20, 613290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_QP_64_BYTES = 0x40, 614290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_QP_128_BYTES = 0x80, 615290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_QP_256_BYTES = 0x100, 616290650Shselasky}; 617290650Shselasky 618290650Shselaskyenum { 619290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_DC_1_BYTE = 0x1, 620290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_DC_2_BYTES = 0x2, 621290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_DC_4_BYTES = 0x4, 622290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_DC_8_BYTES = 0x8, 623290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_DC_16_BYTES = 0x10, 624290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_DC_32_BYTES = 0x20, 625290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_DC_64_BYTES = 0x40, 626290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_DC_128_BYTES = 0x80, 627290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_DC_256_BYTES = 0x100, 628290650Shselasky}; 629290650Shselasky 630290650Shselaskystruct mlx5_ifc_atomic_caps_bits { 631290650Shselasky u8 reserved_0[0x40]; 632290650Shselasky 633290650Shselasky u8 atomic_req_endianess[0x1]; 634290650Shselasky u8 reserved_1[0x1f]; 635290650Shselasky 636290650Shselasky u8 reserved_2[0x20]; 637290650Shselasky 638290650Shselasky u8 reserved_3[0x10]; 639290650Shselasky u8 atomic_operations[0x10]; 640290650Shselasky 641290650Shselasky u8 reserved_4[0x10]; 642290650Shselasky u8 atomic_size_qp[0x10]; 643290650Shselasky 644290650Shselasky u8 reserved_5[0x10]; 645290650Shselasky u8 atomic_size_dc[0x10]; 646290650Shselasky 647290650Shselasky u8 reserved_6[0x720]; 648290650Shselasky}; 649290650Shselasky 650290650Shselaskystruct mlx5_ifc_odp_cap_bits { 651290650Shselasky u8 reserved_0[0x40]; 652290650Shselasky 653290650Shselasky u8 sig[0x1]; 654290650Shselasky u8 reserved_1[0x1f]; 655290650Shselasky 656290650Shselasky u8 reserved_2[0x20]; 657290650Shselasky 658290650Shselasky struct mlx5_ifc_odp_per_transport_service_cap_bits rc_odp_caps; 659290650Shselasky 660290650Shselasky struct mlx5_ifc_odp_per_transport_service_cap_bits uc_odp_caps; 661290650Shselasky 662290650Shselasky struct mlx5_ifc_odp_per_transport_service_cap_bits ud_odp_caps; 663290650Shselasky 664290650Shselasky struct mlx5_ifc_odp_per_transport_service_cap_bits xrc_odp_caps; 665290650Shselasky 666290650Shselasky struct mlx5_ifc_odp_per_transport_service_cap_bits dc_odp_caps; 667290650Shselasky 668290650Shselasky u8 reserved_3[0x6e0]; 669290650Shselasky}; 670290650Shselasky 671290650Shselaskyenum { 672290650Shselasky MLX5_CMD_HCA_CAP_GID_TABLE_SIZE_8_GID_ENTRIES = 0x0, 673290650Shselasky MLX5_CMD_HCA_CAP_GID_TABLE_SIZE_16_GID_ENTRIES = 0x1, 674290650Shselasky MLX5_CMD_HCA_CAP_GID_TABLE_SIZE_32_GID_ENTRIES = 0x2, 675290650Shselasky MLX5_CMD_HCA_CAP_GID_TABLE_SIZE_64_GID_ENTRIES = 0x3, 676290650Shselasky MLX5_CMD_HCA_CAP_GID_TABLE_SIZE_128_GID_ENTRIES = 0x4, 677290650Shselasky}; 678290650Shselasky 679290650Shselaskyenum { 680290650Shselasky MLX5_CMD_HCA_CAP_PKEY_TABLE_SIZE_128_ENTRIES = 0x0, 681290650Shselasky MLX5_CMD_HCA_CAP_PKEY_TABLE_SIZE_256_ENTRIES = 0x1, 682290650Shselasky MLX5_CMD_HCA_CAP_PKEY_TABLE_SIZE_512_ENTRIES = 0x2, 683290650Shselasky MLX5_CMD_HCA_CAP_PKEY_TABLE_SIZE_1K_ENTRIES = 0x3, 684290650Shselasky MLX5_CMD_HCA_CAP_PKEY_TABLE_SIZE_2K_ENTRIES = 0x4, 685290650Shselasky MLX5_CMD_HCA_CAP_PKEY_TABLE_SIZE_4K_ENTRIES = 0x5, 686290650Shselasky}; 687290650Shselasky 688290650Shselaskyenum { 689290650Shselasky MLX5_CMD_HCA_CAP_PORT_TYPE_IB = 0x0, 690290650Shselasky MLX5_CMD_HCA_CAP_PORT_TYPE_ETHERNET = 0x1, 691290650Shselasky}; 692290650Shselasky 693290650Shselaskyenum { 694290650Shselasky MLX5_CMD_HCA_CAP_CMDIF_CHECKSUM_DISABLED = 0x0, 695290650Shselasky MLX5_CMD_HCA_CAP_CMDIF_CHECKSUM_INITIAL_STATE = 0x1, 696290650Shselasky MLX5_CMD_HCA_CAP_CMDIF_CHECKSUM_ENABLED = 0x3, 697290650Shselasky}; 698290650Shselasky 699290650Shselaskystruct mlx5_ifc_cmd_hca_cap_bits { 700290650Shselasky u8 reserved_0[0x80]; 701290650Shselasky 702290650Shselasky u8 log_max_srq_sz[0x8]; 703290650Shselasky u8 log_max_qp_sz[0x8]; 704290650Shselasky u8 reserved_1[0xb]; 705290650Shselasky u8 log_max_qp[0x5]; 706290650Shselasky 707290650Shselasky u8 reserved_2[0xb]; 708290650Shselasky u8 log_max_srq[0x5]; 709290650Shselasky u8 reserved_3[0x10]; 710290650Shselasky 711290650Shselasky u8 reserved_4[0x8]; 712290650Shselasky u8 log_max_cq_sz[0x8]; 713290650Shselasky u8 reserved_5[0xb]; 714290650Shselasky u8 log_max_cq[0x5]; 715290650Shselasky 716290650Shselasky u8 log_max_eq_sz[0x8]; 717290650Shselasky u8 reserved_6[0x2]; 718290650Shselasky u8 log_max_mkey[0x6]; 719290650Shselasky u8 reserved_7[0xc]; 720290650Shselasky u8 log_max_eq[0x4]; 721290650Shselasky 722290650Shselasky u8 max_indirection[0x8]; 723290650Shselasky u8 reserved_8[0x1]; 724290650Shselasky u8 log_max_mrw_sz[0x7]; 725290650Shselasky u8 reserved_9[0x2]; 726290650Shselasky u8 log_max_bsf_list_size[0x6]; 727290650Shselasky u8 reserved_10[0x2]; 728290650Shselasky u8 log_max_klm_list_size[0x6]; 729290650Shselasky 730290650Shselasky u8 reserved_11[0xa]; 731290650Shselasky u8 log_max_ra_req_dc[0x6]; 732290650Shselasky u8 reserved_12[0xa]; 733290650Shselasky u8 log_max_ra_res_dc[0x6]; 734290650Shselasky 735290650Shselasky u8 reserved_13[0xa]; 736290650Shselasky u8 log_max_ra_req_qp[0x6]; 737290650Shselasky u8 reserved_14[0xa]; 738290650Shselasky u8 log_max_ra_res_qp[0x6]; 739290650Shselasky 740290650Shselasky u8 pad_cap[0x1]; 741290650Shselasky u8 cc_query_allowed[0x1]; 742290650Shselasky u8 cc_modify_allowed[0x1]; 743290650Shselasky u8 reserved_15[0xd]; 744290650Shselasky u8 gid_table_size[0x10]; 745290650Shselasky 746290650Shselasky u8 out_of_seq_cnt[0x1]; 747290650Shselasky u8 vport_counters[0x1]; 748290650Shselasky u8 reserved_16[0x4]; 749290650Shselasky u8 max_qp_cnt[0xa]; 750290650Shselasky u8 pkey_table_size[0x10]; 751290650Shselasky 752290650Shselasky u8 vport_group_manager[0x1]; 753290650Shselasky u8 vhca_group_manager[0x1]; 754290650Shselasky u8 ib_virt[0x1]; 755290650Shselasky u8 eth_virt[0x1]; 756290650Shselasky u8 reserved_17[0x1]; 757290650Shselasky u8 ets[0x1]; 758290650Shselasky u8 nic_flow_table[0x1]; 759290650Shselasky u8 eswitch_flow_table[0x1]; 760290650Shselasky u8 reserved_18[0x3]; 761290650Shselasky u8 local_ca_ack_delay[0x5]; 762290650Shselasky u8 port_module_event[0x1]; 763290650Shselasky u8 reserved_19[0x5]; 764290650Shselasky u8 port_type[0x2]; 765290650Shselasky u8 num_ports[0x8]; 766290650Shselasky 767290650Shselasky u8 snapshot[0x1]; 768290650Shselasky u8 reserved_20[0x2]; 769290650Shselasky u8 log_max_msg[0x5]; 770290650Shselasky u8 reserved_21[0x4]; 771290650Shselasky u8 max_tc[0x4]; 772290650Shselasky u8 reserved_22[0x6]; 773290650Shselasky u8 rol_s[0x1]; 774290650Shselasky u8 rol_g[0x1]; 775290650Shselasky u8 reserved_23[0x1]; 776290650Shselasky u8 wol_s[0x1]; 777290650Shselasky u8 wol_g[0x1]; 778290650Shselasky u8 wol_a[0x1]; 779290650Shselasky u8 wol_b[0x1]; 780290650Shselasky u8 wol_m[0x1]; 781290650Shselasky u8 wol_u[0x1]; 782290650Shselasky u8 wol_p[0x1]; 783290650Shselasky 784290650Shselasky u8 stat_rate_support[0x10]; 785290650Shselasky u8 reserved_24[0xc]; 786290650Shselasky u8 cqe_version[0x4]; 787290650Shselasky 788290650Shselasky u8 compact_address_vector[0x1]; 789290650Shselasky u8 striding_rq[0x1]; 790290650Shselasky u8 reserved_25[0xc]; 791290650Shselasky u8 dc_cnak_trace[0x1]; 792290650Shselasky u8 drain_sigerr[0x1]; 793290650Shselasky u8 cmdif_checksum[0x2]; 794290650Shselasky u8 sigerr_cqe[0x1]; 795290650Shselasky u8 reserved_26[0x1]; 796290650Shselasky u8 wq_signature[0x1]; 797290650Shselasky u8 sctr_data_cqe[0x1]; 798290650Shselasky u8 reserved_27[0x1]; 799290650Shselasky u8 sho[0x1]; 800290650Shselasky u8 tph[0x1]; 801290650Shselasky u8 rf[0x1]; 802290650Shselasky u8 dct[0x1]; 803290650Shselasky u8 reserved_28[0x1]; 804290650Shselasky u8 eth_net_offloads[0x1]; 805290650Shselasky u8 roce[0x1]; 806290650Shselasky u8 atomic[0x1]; 807290650Shselasky u8 reserved_29[0x1]; 808290650Shselasky 809290650Shselasky u8 cq_oi[0x1]; 810290650Shselasky u8 cq_resize[0x1]; 811290650Shselasky u8 cq_moderation[0x1]; 812290650Shselasky u8 reserved_30[0x3]; 813290650Shselasky u8 cq_eq_remap[0x1]; 814290650Shselasky u8 pg[0x1]; 815290650Shselasky u8 block_lb_mc[0x1]; 816290650Shselasky u8 exponential_backoff[0x1]; 817290650Shselasky u8 scqe_break_moderation[0x1]; 818290650Shselasky u8 cq_period_start_from_cqe[0x1]; 819290650Shselasky u8 cd[0x1]; 820290650Shselasky u8 atm[0x1]; 821290650Shselasky u8 apm[0x1]; 822290650Shselasky u8 reserved_31[0x7]; 823290650Shselasky u8 qkv[0x1]; 824290650Shselasky u8 pkv[0x1]; 825290650Shselasky u8 reserved_32[0x4]; 826290650Shselasky u8 xrc[0x1]; 827290650Shselasky u8 ud[0x1]; 828290650Shselasky u8 uc[0x1]; 829290650Shselasky u8 rc[0x1]; 830290650Shselasky 831290650Shselasky u8 reserved_33[0xa]; 832290650Shselasky u8 uar_sz[0x6]; 833290650Shselasky u8 reserved_34[0x8]; 834290650Shselasky u8 log_pg_sz[0x8]; 835290650Shselasky 836290650Shselasky u8 bf[0x1]; 837290650Shselasky u8 driver_version[0x1]; 838290650Shselasky u8 pad_tx_eth_packet[0x1]; 839290650Shselasky u8 reserved_35[0x8]; 840290650Shselasky u8 log_bf_reg_size[0x5]; 841290650Shselasky u8 reserved_36[0x10]; 842290650Shselasky 843290650Shselasky u8 reserved_37[0x10]; 844290650Shselasky u8 max_wqe_sz_sq[0x10]; 845290650Shselasky 846290650Shselasky u8 reserved_38[0x10]; 847290650Shselasky u8 max_wqe_sz_rq[0x10]; 848290650Shselasky 849290650Shselasky u8 reserved_39[0x10]; 850290650Shselasky u8 max_wqe_sz_sq_dc[0x10]; 851290650Shselasky 852290650Shselasky u8 reserved_40[0x7]; 853290650Shselasky u8 max_qp_mcg[0x19]; 854290650Shselasky 855290650Shselasky u8 reserved_41[0x18]; 856290650Shselasky u8 log_max_mcg[0x8]; 857290650Shselasky 858290650Shselasky u8 reserved_42[0x3]; 859290650Shselasky u8 log_max_transport_domain[0x5]; 860290650Shselasky u8 reserved_43[0x3]; 861290650Shselasky u8 log_max_pd[0x5]; 862290650Shselasky u8 reserved_44[0xb]; 863290650Shselasky u8 log_max_xrcd[0x5]; 864290650Shselasky 865290650Shselasky u8 reserved_45[0x10]; 866290650Shselasky u8 max_flow_counter[0x10]; 867290650Shselasky 868290650Shselasky u8 reserved_46[0x3]; 869290650Shselasky u8 log_max_rq[0x5]; 870290650Shselasky u8 reserved_47[0x3]; 871290650Shselasky u8 log_max_sq[0x5]; 872290650Shselasky u8 reserved_48[0x3]; 873290650Shselasky u8 log_max_tir[0x5]; 874290650Shselasky u8 reserved_49[0x3]; 875290650Shselasky u8 log_max_tis[0x5]; 876290650Shselasky 877290650Shselasky u8 basic_cyclic_rcv_wqe[0x1]; 878290650Shselasky u8 reserved_50[0x2]; 879290650Shselasky u8 log_max_rmp[0x5]; 880290650Shselasky u8 reserved_51[0x3]; 881290650Shselasky u8 log_max_rqt[0x5]; 882290650Shselasky u8 reserved_52[0x3]; 883290650Shselasky u8 log_max_rqt_size[0x5]; 884290650Shselasky u8 reserved_53[0x3]; 885290650Shselasky u8 log_max_tis_per_sq[0x5]; 886290650Shselasky 887290650Shselasky u8 reserved_54[0x3]; 888290650Shselasky u8 log_max_stride_sz_rq[0x5]; 889290650Shselasky u8 reserved_55[0x3]; 890290650Shselasky u8 log_min_stride_sz_rq[0x5]; 891290650Shselasky u8 reserved_56[0x3]; 892290650Shselasky u8 log_max_stride_sz_sq[0x5]; 893290650Shselasky u8 reserved_57[0x3]; 894290650Shselasky u8 log_min_stride_sz_sq[0x5]; 895290650Shselasky 896290650Shselasky u8 reserved_58[0x1b]; 897290650Shselasky u8 log_max_wq_sz[0x5]; 898290650Shselasky 899290650Shselasky u8 nic_vport_change_event[0x1]; 900290650Shselasky u8 reserved_59[0xa]; 901290650Shselasky u8 log_max_vlan_list[0x5]; 902290650Shselasky u8 reserved_60[0x3]; 903290650Shselasky u8 log_max_current_mc_list[0x5]; 904290650Shselasky u8 reserved_61[0x3]; 905290650Shselasky u8 log_max_current_uc_list[0x5]; 906290650Shselasky 907290650Shselasky u8 reserved_62[0x80]; 908290650Shselasky 909290650Shselasky u8 reserved_63[0x3]; 910290650Shselasky u8 log_max_l2_table[0x5]; 911290650Shselasky u8 reserved_64[0x8]; 912290650Shselasky u8 log_uar_page_sz[0x10]; 913290650Shselasky 914290650Shselasky u8 reserved_65[0x20]; 915290650Shselasky 916290650Shselasky u8 device_frequency[0x20]; 917290650Shselasky 918290650Shselasky u8 reserved_66[0xa0]; 919290650Shselasky 920290650Shselasky u8 log_max_atomic_size_qp[0x8]; 921290650Shselasky u8 reserved_67[0x10]; 922290650Shselasky u8 log_max_atomic_size_dc[0x8]; 923290650Shselasky 924290650Shselasky u8 reserved_68[0x1f]; 925290650Shselasky u8 cqe_compression[0x1]; 926290650Shselasky 927290650Shselasky u8 cqe_compression_timeout[0x10]; 928290650Shselasky u8 cqe_compression_max_num[0x10]; 929290650Shselasky 930290650Shselasky u8 reserved_69[0x220]; 931290650Shselasky}; 932290650Shselasky 933290650Shselaskyunion mlx5_ifc_dest_format_struct_flow_counter_list_auto_bits { 934290650Shselasky struct mlx5_ifc_dest_format_struct_bits dest_format_struct; 935290650Shselasky struct mlx5_ifc_flow_counter_list_bits flow_counter_list; 936290650Shselasky u8 reserved_0[0x40]; 937290650Shselasky}; 938290650Shselasky 939290650Shselaskystruct mlx5_ifc_fte_match_param_bits { 940290650Shselasky struct mlx5_ifc_fte_match_set_lyr_2_4_bits outer_headers; 941290650Shselasky 942290650Shselasky struct mlx5_ifc_fte_match_set_misc_bits misc_parameters; 943290650Shselasky 944290650Shselasky struct mlx5_ifc_fte_match_set_lyr_2_4_bits inner_headers; 945290650Shselasky 946290650Shselasky u8 reserved_0[0xa00]; 947290650Shselasky}; 948290650Shselasky 949290650Shselaskyenum { 950290650Shselasky MLX5_RX_HASH_FIELD_SELECT_SELECTED_FIELDS_SRC_IP = 0x0, 951290650Shselasky MLX5_RX_HASH_FIELD_SELECT_SELECTED_FIELDS_DST_IP = 0x1, 952290650Shselasky MLX5_RX_HASH_FIELD_SELECT_SELECTED_FIELDS_L4_SPORT = 0x2, 953290650Shselasky MLX5_RX_HASH_FIELD_SELECT_SELECTED_FIELDS_L4_DPORT = 0x3, 954290650Shselasky MLX5_RX_HASH_FIELD_SELECT_SELECTED_FIELDS_IPSEC_SPI = 0x4, 955290650Shselasky}; 956290650Shselasky 957290650Shselaskystruct mlx5_ifc_rx_hash_field_select_bits { 958290650Shselasky u8 l3_prot_type[0x1]; 959290650Shselasky u8 l4_prot_type[0x1]; 960290650Shselasky u8 selected_fields[0x1e]; 961290650Shselasky}; 962290650Shselasky 963290650Shselaskyenum { 964290650Shselasky MLX5_WQ_TYPE_LINKED_LIST = 0x0, 965290650Shselasky MLX5_WQ_TYPE_CYCLIC = 0x1, 966290650Shselasky MLX5_WQ_TYPE_STRQ_LINKED_LIST = 0x2, 967290650Shselasky MLX5_WQ_TYPE_STRQ_CYCLIC = 0x3, 968290650Shselasky}; 969290650Shselasky 970290650Shselaskyenum { 971290650Shselasky MLX5_WQ_END_PAD_MODE_NONE = 0x0, 972290650Shselasky MLX5_WQ_END_PAD_MODE_ALIGN = 0x1, 973290650Shselasky}; 974290650Shselasky 975290650Shselaskystruct mlx5_ifc_wq_bits { 976290650Shselasky u8 wq_type[0x4]; 977290650Shselasky u8 wq_signature[0x1]; 978290650Shselasky u8 end_padding_mode[0x2]; 979290650Shselasky u8 cd_slave[0x1]; 980290650Shselasky u8 reserved_0[0x18]; 981290650Shselasky 982290650Shselasky u8 hds_skip_first_sge[0x1]; 983290650Shselasky u8 log2_hds_buf_size[0x3]; 984290650Shselasky u8 reserved_1[0x7]; 985290650Shselasky u8 page_offset[0x5]; 986290650Shselasky u8 lwm[0x10]; 987290650Shselasky 988290650Shselasky u8 reserved_2[0x8]; 989290650Shselasky u8 pd[0x18]; 990290650Shselasky 991290650Shselasky u8 reserved_3[0x8]; 992290650Shselasky u8 uar_page[0x18]; 993290650Shselasky 994290650Shselasky u8 dbr_addr[0x40]; 995290650Shselasky 996290650Shselasky u8 hw_counter[0x20]; 997290650Shselasky 998290650Shselasky u8 sw_counter[0x20]; 999290650Shselasky 1000290650Shselasky u8 reserved_4[0xc]; 1001290650Shselasky u8 log_wq_stride[0x4]; 1002290650Shselasky u8 reserved_5[0x3]; 1003290650Shselasky u8 log_wq_pg_sz[0x5]; 1004290650Shselasky u8 reserved_6[0x3]; 1005290650Shselasky u8 log_wq_sz[0x5]; 1006290650Shselasky 1007290650Shselasky u8 reserved_7[0x15]; 1008290650Shselasky u8 single_wqe_log_num_of_strides[0x3]; 1009290650Shselasky u8 two_byte_shift_en[0x1]; 1010290650Shselasky u8 reserved_8[0x4]; 1011290650Shselasky u8 single_stride_log_num_of_bytes[0x3]; 1012290650Shselasky 1013290650Shselasky u8 reserved_9[0x4c0]; 1014290650Shselasky 1015290650Shselasky struct mlx5_ifc_cmd_pas_bits pas[0]; 1016290650Shselasky}; 1017290650Shselasky 1018290650Shselaskystruct mlx5_ifc_rq_num_bits { 1019290650Shselasky u8 reserved_0[0x8]; 1020290650Shselasky u8 rq_num[0x18]; 1021290650Shselasky}; 1022290650Shselasky 1023290650Shselaskystruct mlx5_ifc_mac_address_layout_bits { 1024290650Shselasky u8 reserved_0[0x10]; 1025290650Shselasky u8 mac_addr_47_32[0x10]; 1026290650Shselasky 1027290650Shselasky u8 mac_addr_31_0[0x20]; 1028290650Shselasky}; 1029290650Shselasky 1030290650Shselaskystruct mlx5_ifc_cong_control_r_roce_ecn_np_bits { 1031290650Shselasky u8 reserved_0[0xa0]; 1032290650Shselasky 1033290650Shselasky u8 min_time_between_cnps[0x20]; 1034290650Shselasky 1035290650Shselasky u8 reserved_1[0x12]; 1036290650Shselasky u8 cnp_dscp[0x6]; 1037290650Shselasky u8 reserved_2[0x4]; 1038290650Shselasky u8 cnp_prio_mode[0x1]; 1039290650Shselasky u8 cnp_802p_prio[0x3]; 1040290650Shselasky 1041290650Shselasky u8 reserved_3[0x720]; 1042290650Shselasky}; 1043290650Shselasky 1044290650Shselaskystruct mlx5_ifc_cong_control_r_roce_ecn_rp_bits { 1045290650Shselasky u8 reserved_0[0x60]; 1046290650Shselasky 1047290650Shselasky u8 reserved_1[0x4]; 1048290650Shselasky u8 clamp_tgt_rate[0x1]; 1049290650Shselasky u8 reserved_2[0x3]; 1050290650Shselasky u8 clamp_tgt_rate_after_time_inc[0x1]; 1051290650Shselasky u8 reserved_3[0x17]; 1052290650Shselasky 1053290650Shselasky u8 reserved_4[0x20]; 1054290650Shselasky 1055290650Shselasky u8 rpg_time_reset[0x20]; 1056290650Shselasky 1057290650Shselasky u8 rpg_byte_reset[0x20]; 1058290650Shselasky 1059290650Shselasky u8 rpg_threshold[0x20]; 1060290650Shselasky 1061290650Shselasky u8 rpg_max_rate[0x20]; 1062290650Shselasky 1063290650Shselasky u8 rpg_ai_rate[0x20]; 1064290650Shselasky 1065290650Shselasky u8 rpg_hai_rate[0x20]; 1066290650Shselasky 1067290650Shselasky u8 rpg_gd[0x20]; 1068290650Shselasky 1069290650Shselasky u8 rpg_min_dec_fac[0x20]; 1070290650Shselasky 1071290650Shselasky u8 rpg_min_rate[0x20]; 1072290650Shselasky 1073290650Shselasky u8 reserved_5[0xe0]; 1074290650Shselasky 1075290650Shselasky u8 rate_to_set_on_first_cnp[0x20]; 1076290650Shselasky 1077290650Shselasky u8 dce_tcp_g[0x20]; 1078290650Shselasky 1079290650Shselasky u8 dce_tcp_rtt[0x20]; 1080290650Shselasky 1081290650Shselasky u8 rate_reduce_monitor_period[0x20]; 1082290650Shselasky 1083290650Shselasky u8 reserved_6[0x20]; 1084290650Shselasky 1085290650Shselasky u8 initial_alpha_value[0x20]; 1086290650Shselasky 1087290650Shselasky u8 reserved_7[0x4a0]; 1088290650Shselasky}; 1089290650Shselasky 1090290650Shselaskystruct mlx5_ifc_cong_control_802_1qau_rp_bits { 1091290650Shselasky u8 reserved_0[0x80]; 1092290650Shselasky 1093290650Shselasky u8 rppp_max_rps[0x20]; 1094290650Shselasky 1095290650Shselasky u8 rpg_time_reset[0x20]; 1096290650Shselasky 1097290650Shselasky u8 rpg_byte_reset[0x20]; 1098290650Shselasky 1099290650Shselasky u8 rpg_threshold[0x20]; 1100290650Shselasky 1101290650Shselasky u8 rpg_max_rate[0x20]; 1102290650Shselasky 1103290650Shselasky u8 rpg_ai_rate[0x20]; 1104290650Shselasky 1105290650Shselasky u8 rpg_hai_rate[0x20]; 1106290650Shselasky 1107290650Shselasky u8 rpg_gd[0x20]; 1108290650Shselasky 1109290650Shselasky u8 rpg_min_dec_fac[0x20]; 1110290650Shselasky 1111290650Shselasky u8 rpg_min_rate[0x20]; 1112290650Shselasky 1113290650Shselasky u8 reserved_1[0x640]; 1114290650Shselasky}; 1115290650Shselasky 1116290650Shselaskyenum { 1117290650Shselasky MLX5_RESIZE_FIELD_SELECT_RESIZE_FIELD_SELECT_LOG_CQ_SIZE = 0x1, 1118290650Shselasky MLX5_RESIZE_FIELD_SELECT_RESIZE_FIELD_SELECT_PAGE_OFFSET = 0x2, 1119290650Shselasky MLX5_RESIZE_FIELD_SELECT_RESIZE_FIELD_SELECT_LOG_PAGE_SIZE = 0x4, 1120290650Shselasky}; 1121290650Shselasky 1122290650Shselaskystruct mlx5_ifc_resize_field_select_bits { 1123290650Shselasky u8 resize_field_select[0x20]; 1124290650Shselasky}; 1125290650Shselasky 1126290650Shselaskyenum { 1127290650Shselasky MLX5_MODIFY_FIELD_SELECT_MODIFY_FIELD_SELECT_CQ_PERIOD = 0x1, 1128290650Shselasky MLX5_MODIFY_FIELD_SELECT_MODIFY_FIELD_SELECT_CQ_MAX_COUNT = 0x2, 1129290650Shselasky MLX5_MODIFY_FIELD_SELECT_MODIFY_FIELD_SELECT_OI = 0x4, 1130290650Shselasky MLX5_MODIFY_FIELD_SELECT_MODIFY_FIELD_SELECT_C_EQN = 0x8, 1131290650Shselasky}; 1132290650Shselasky 1133290650Shselaskystruct mlx5_ifc_modify_field_select_bits { 1134290650Shselasky u8 modify_field_select[0x20]; 1135290650Shselasky}; 1136290650Shselasky 1137290650Shselaskystruct mlx5_ifc_field_select_r_roce_np_bits { 1138290650Shselasky u8 field_select_r_roce_np[0x20]; 1139290650Shselasky}; 1140290650Shselasky 1141290650Shselaskyenum { 1142290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_CLAMP_TGT_RATE = 0x2, 1143290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_CLAMP_TGT_RATE_AFTER_TIME_INC = 0x4, 1144290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_RPG_TIME_RESET = 0x8, 1145290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_RPG_BYTE_RESET = 0x10, 1146290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_RPG_THRESHOLD = 0x20, 1147290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_RPG_MAX_RATE = 0x40, 1148290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_RPG_AI_RATE = 0x80, 1149290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_RPG_HAI_RATE = 0x100, 1150290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_RPG_MIN_DEC_FAC = 0x200, 1151290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_RPG_MIN_RATE = 0x400, 1152290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_RATE_TO_SET_ON_FIRST_CNP = 0x800, 1153290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_DCE_TCP_G = 0x1000, 1154290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_DCE_TCP_RTT = 0x2000, 1155290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_RATE_REDUCE_MONITOR_PERIOD = 0x4000, 1156290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_INITIAL_ALPHA_VALUE = 0x8000, 1157290650Shselasky}; 1158290650Shselasky 1159290650Shselaskystruct mlx5_ifc_field_select_r_roce_rp_bits { 1160290650Shselasky u8 field_select_r_roce_rp[0x20]; 1161290650Shselasky}; 1162290650Shselasky 1163290650Shselaskyenum { 1164290650Shselasky MLX5_FIELD_SELECT_802_1QAU_RP_FIELD_SELECT_8021QAURP_RPPP_MAX_RPS = 0x4, 1165290650Shselasky MLX5_FIELD_SELECT_802_1QAU_RP_FIELD_SELECT_8021QAURP_RPG_TIME_RESET = 0x8, 1166290650Shselasky MLX5_FIELD_SELECT_802_1QAU_RP_FIELD_SELECT_8021QAURP_RPG_BYTE_RESET = 0x10, 1167290650Shselasky MLX5_FIELD_SELECT_802_1QAU_RP_FIELD_SELECT_8021QAURP_RPG_THRESHOLD = 0x20, 1168290650Shselasky MLX5_FIELD_SELECT_802_1QAU_RP_FIELD_SELECT_8021QAURP_RPG_MAX_RATE = 0x40, 1169290650Shselasky MLX5_FIELD_SELECT_802_1QAU_RP_FIELD_SELECT_8021QAURP_RPG_AI_RATE = 0x80, 1170290650Shselasky MLX5_FIELD_SELECT_802_1QAU_RP_FIELD_SELECT_8021QAURP_RPG_HAI_RATE = 0x100, 1171290650Shselasky MLX5_FIELD_SELECT_802_1QAU_RP_FIELD_SELECT_8021QAURP_RPG_GD = 0x200, 1172290650Shselasky MLX5_FIELD_SELECT_802_1QAU_RP_FIELD_SELECT_8021QAURP_RPG_MIN_DEC_FAC = 0x400, 1173290650Shselasky MLX5_FIELD_SELECT_802_1QAU_RP_FIELD_SELECT_8021QAURP_RPG_MIN_RATE = 0x800, 1174290650Shselasky}; 1175290650Shselasky 1176290650Shselaskystruct mlx5_ifc_field_select_802_1qau_rp_bits { 1177290650Shselasky u8 field_select_8021qaurp[0x20]; 1178290650Shselasky}; 1179290650Shselasky 1180290650Shselaskystruct mlx5_ifc_nodnic_ring_config_reg_bits { 1181290650Shselasky u8 queue_address_63_32[0x20]; 1182290650Shselasky 1183290650Shselasky u8 queue_address_31_12[0x14]; 1184290650Shselasky u8 reserved_0[0x6]; 1185290650Shselasky u8 log_size[0x6]; 1186290650Shselasky 1187290650Shselasky struct mlx5_ifc_nodnic_ring_doorbell_bits doorbell; 1188290650Shselasky 1189290650Shselasky u8 reserved_1[0x8]; 1190290650Shselasky u8 queue_number[0x18]; 1191290650Shselasky 1192290650Shselasky u8 q_key[0x20]; 1193290650Shselasky 1194290650Shselasky u8 reserved_2[0x10]; 1195290650Shselasky u8 pkey_index[0x10]; 1196290650Shselasky 1197290650Shselasky u8 reserved_3[0x40]; 1198290650Shselasky}; 1199290650Shselasky 1200290650Shselaskystruct mlx5_ifc_nodnic_cq_arming_word_bits { 1201290650Shselasky u8 reserved_0[0x8]; 1202290650Shselasky u8 cq_ci[0x10]; 1203290650Shselasky u8 reserved_1[0x8]; 1204290650Shselasky}; 1205290650Shselasky 1206290650Shselaskyenum { 1207290650Shselasky MLX5_NODNIC_EVENT_WORD_LINK_TYPE_INFINIBAND = 0x0, 1208290650Shselasky MLX5_NODNIC_EVENT_WORD_LINK_TYPE_ETHERNET = 0x1, 1209290650Shselasky}; 1210290650Shselasky 1211290650Shselaskyenum { 1212290650Shselasky MLX5_NODNIC_EVENT_WORD_PORT_STATE_DOWN = 0x0, 1213290650Shselasky MLX5_NODNIC_EVENT_WORD_PORT_STATE_INITIALIZE = 0x1, 1214290650Shselasky MLX5_NODNIC_EVENT_WORD_PORT_STATE_ARMED = 0x2, 1215290650Shselasky MLX5_NODNIC_EVENT_WORD_PORT_STATE_ACTIVE = 0x3, 1216290650Shselasky}; 1217290650Shselasky 1218290650Shselaskystruct mlx5_ifc_nodnic_event_word_bits { 1219290650Shselasky u8 driver_reset_needed[0x1]; 1220290650Shselasky u8 port_management_change_event[0x1]; 1221290650Shselasky u8 reserved_0[0x19]; 1222290650Shselasky u8 link_type[0x1]; 1223290650Shselasky u8 port_state[0x4]; 1224290650Shselasky}; 1225290650Shselasky 1226290650Shselaskystruct mlx5_ifc_nic_vport_change_event_bits { 1227290650Shselasky u8 reserved_0[0x10]; 1228290650Shselasky u8 vport_num[0x10]; 1229290650Shselasky 1230290650Shselasky u8 reserved_1[0xc0]; 1231290650Shselasky}; 1232290650Shselasky 1233290650Shselaskystruct mlx5_ifc_pages_req_event_bits { 1234290650Shselasky u8 reserved_0[0x10]; 1235290650Shselasky u8 function_id[0x10]; 1236290650Shselasky 1237290650Shselasky u8 num_pages[0x20]; 1238290650Shselasky 1239290650Shselasky u8 reserved_1[0xa0]; 1240290650Shselasky}; 1241290650Shselasky 1242290650Shselaskystruct mlx5_ifc_cmd_inter_comp_event_bits { 1243290650Shselasky u8 command_completion_vector[0x20]; 1244290650Shselasky 1245290650Shselasky u8 reserved_0[0xc0]; 1246290650Shselasky}; 1247290650Shselasky 1248290650Shselaskystruct mlx5_ifc_stall_vl_event_bits { 1249290650Shselasky u8 reserved_0[0x18]; 1250290650Shselasky u8 port_num[0x1]; 1251290650Shselasky u8 reserved_1[0x3]; 1252290650Shselasky u8 vl[0x4]; 1253290650Shselasky 1254290650Shselasky u8 reserved_2[0xa0]; 1255290650Shselasky}; 1256290650Shselasky 1257290650Shselaskystruct mlx5_ifc_db_bf_congestion_event_bits { 1258290650Shselasky u8 event_subtype[0x8]; 1259290650Shselasky u8 reserved_0[0x8]; 1260290650Shselasky u8 congestion_level[0x8]; 1261290650Shselasky u8 reserved_1[0x8]; 1262290650Shselasky 1263290650Shselasky u8 reserved_2[0xa0]; 1264290650Shselasky}; 1265290650Shselasky 1266290650Shselaskystruct mlx5_ifc_gpio_event_bits { 1267290650Shselasky u8 reserved_0[0x60]; 1268290650Shselasky 1269290650Shselasky u8 gpio_event_hi[0x20]; 1270290650Shselasky 1271290650Shselasky u8 gpio_event_lo[0x20]; 1272290650Shselasky 1273290650Shselasky u8 reserved_1[0x40]; 1274290650Shselasky}; 1275290650Shselasky 1276290650Shselaskystruct mlx5_ifc_port_state_change_event_bits { 1277290650Shselasky u8 reserved_0[0x40]; 1278290650Shselasky 1279290650Shselasky u8 port_num[0x4]; 1280290650Shselasky u8 reserved_1[0x1c]; 1281290650Shselasky 1282290650Shselasky u8 reserved_2[0x80]; 1283290650Shselasky}; 1284290650Shselasky 1285290650Shselaskystruct mlx5_ifc_dropped_packet_logged_bits { 1286290650Shselasky u8 reserved_0[0xe0]; 1287290650Shselasky}; 1288290650Shselasky 1289290650Shselaskyenum { 1290290650Shselasky MLX5_CQ_ERROR_SYNDROME_CQ_OVERRUN = 0x1, 1291290650Shselasky MLX5_CQ_ERROR_SYNDROME_CQ_ACCESS_VIOLATION_ERROR = 0x2, 1292290650Shselasky}; 1293290650Shselasky 1294290650Shselaskystruct mlx5_ifc_cq_error_bits { 1295290650Shselasky u8 reserved_0[0x8]; 1296290650Shselasky u8 cqn[0x18]; 1297290650Shselasky 1298290650Shselasky u8 reserved_1[0x20]; 1299290650Shselasky 1300290650Shselasky u8 reserved_2[0x18]; 1301290650Shselasky u8 syndrome[0x8]; 1302290650Shselasky 1303290650Shselasky u8 reserved_3[0x80]; 1304290650Shselasky}; 1305290650Shselasky 1306290650Shselaskystruct mlx5_ifc_rdma_page_fault_event_bits { 1307290650Shselasky u8 bytes_commited[0x20]; 1308290650Shselasky 1309290650Shselasky u8 r_key[0x20]; 1310290650Shselasky 1311290650Shselasky u8 reserved_0[0x10]; 1312290650Shselasky u8 packet_len[0x10]; 1313290650Shselasky 1314290650Shselasky u8 rdma_op_len[0x20]; 1315290650Shselasky 1316290650Shselasky u8 rdma_va[0x40]; 1317290650Shselasky 1318290650Shselasky u8 reserved_1[0x5]; 1319290650Shselasky u8 rdma[0x1]; 1320290650Shselasky u8 write[0x1]; 1321290650Shselasky u8 requestor[0x1]; 1322290650Shselasky u8 qp_number[0x18]; 1323290650Shselasky}; 1324290650Shselasky 1325290650Shselaskystruct mlx5_ifc_wqe_associated_page_fault_event_bits { 1326290650Shselasky u8 bytes_committed[0x20]; 1327290650Shselasky 1328290650Shselasky u8 reserved_0[0x10]; 1329290650Shselasky u8 wqe_index[0x10]; 1330290650Shselasky 1331290650Shselasky u8 reserved_1[0x10]; 1332290650Shselasky u8 len[0x10]; 1333290650Shselasky 1334290650Shselasky u8 reserved_2[0x60]; 1335290650Shselasky 1336290650Shselasky u8 reserved_3[0x5]; 1337290650Shselasky u8 rdma[0x1]; 1338290650Shselasky u8 write_read[0x1]; 1339290650Shselasky u8 requestor[0x1]; 1340290650Shselasky u8 qpn[0x18]; 1341290650Shselasky}; 1342290650Shselasky 1343290650Shselaskyenum { 1344290650Shselasky MLX5_QP_EVENTS_TYPE_QP = 0x0, 1345290650Shselasky MLX5_QP_EVENTS_TYPE_RQ = 0x1, 1346290650Shselasky MLX5_QP_EVENTS_TYPE_SQ = 0x2, 1347290650Shselasky}; 1348290650Shselasky 1349290650Shselaskystruct mlx5_ifc_qp_events_bits { 1350290650Shselasky u8 reserved_0[0xa0]; 1351290650Shselasky 1352290650Shselasky u8 type[0x8]; 1353290650Shselasky u8 reserved_1[0x18]; 1354290650Shselasky 1355290650Shselasky u8 reserved_2[0x8]; 1356290650Shselasky u8 qpn_rqn_sqn[0x18]; 1357290650Shselasky}; 1358290650Shselasky 1359290650Shselaskystruct mlx5_ifc_dct_events_bits { 1360290650Shselasky u8 reserved_0[0xc0]; 1361290650Shselasky 1362290650Shselasky u8 reserved_1[0x8]; 1363290650Shselasky u8 dct_number[0x18]; 1364290650Shselasky}; 1365290650Shselasky 1366290650Shselaskystruct mlx5_ifc_comp_event_bits { 1367290650Shselasky u8 reserved_0[0xc0]; 1368290650Shselasky 1369290650Shselasky u8 reserved_1[0x8]; 1370290650Shselasky u8 cq_number[0x18]; 1371290650Shselasky}; 1372290650Shselasky 1373290650Shselaskystruct mlx5_ifc_fw_version_bits { 1374290650Shselasky u8 major[0x10]; 1375290650Shselasky u8 reserved_0[0x10]; 1376290650Shselasky 1377290650Shselasky u8 minor[0x10]; 1378290650Shselasky u8 subminor[0x10]; 1379290650Shselasky 1380290650Shselasky u8 second[0x8]; 1381290650Shselasky u8 minute[0x8]; 1382290650Shselasky u8 hour[0x8]; 1383290650Shselasky u8 reserved_1[0x8]; 1384290650Shselasky 1385290650Shselasky u8 year[0x10]; 1386290650Shselasky u8 month[0x8]; 1387290650Shselasky u8 day[0x8]; 1388290650Shselasky}; 1389290650Shselasky 1390290650Shselaskyenum { 1391290650Shselasky MLX5_QPC_STATE_RST = 0x0, 1392290650Shselasky MLX5_QPC_STATE_INIT = 0x1, 1393290650Shselasky MLX5_QPC_STATE_RTR = 0x2, 1394290650Shselasky MLX5_QPC_STATE_RTS = 0x3, 1395290650Shselasky MLX5_QPC_STATE_SQER = 0x4, 1396290650Shselasky MLX5_QPC_STATE_SQD = 0x5, 1397290650Shselasky MLX5_QPC_STATE_ERR = 0x6, 1398290650Shselasky MLX5_QPC_STATE_SUSPENDED = 0x9, 1399290650Shselasky}; 1400290650Shselasky 1401290650Shselaskyenum { 1402290650Shselasky MLX5_QPC_ST_RC = 0x0, 1403290650Shselasky MLX5_QPC_ST_UC = 0x1, 1404290650Shselasky MLX5_QPC_ST_UD = 0x2, 1405290650Shselasky MLX5_QPC_ST_XRC = 0x3, 1406290650Shselasky MLX5_QPC_ST_DCI = 0x5, 1407290650Shselasky MLX5_QPC_ST_QP0 = 0x7, 1408290650Shselasky MLX5_QPC_ST_QP1 = 0x8, 1409290650Shselasky MLX5_QPC_ST_RAW_DATAGRAM = 0x9, 1410290650Shselasky MLX5_QPC_ST_REG_UMR = 0xc, 1411290650Shselasky}; 1412290650Shselasky 1413290650Shselaskyenum { 1414290650Shselasky MLX5_QP_PM_ARMED = 0x0, 1415290650Shselasky MLX5_QP_PM_REARM = 0x1, 1416290650Shselasky MLX5_QPC_PM_STATE_RESERVED = 0x2, 1417290650Shselasky MLX5_QP_PM_MIGRATED = 0x3, 1418290650Shselasky}; 1419290650Shselasky 1420290650Shselaskyenum { 1421290650Shselasky MLX5_QPC_END_PADDING_MODE_SCATTER_AS_IS = 0x0, 1422290650Shselasky MLX5_QPC_END_PADDING_MODE_PAD_TO_CACHE_LINE_ALIGNMENT = 0x1, 1423290650Shselasky}; 1424290650Shselasky 1425290650Shselaskyenum { 1426290650Shselasky MLX5_QPC_MTU_256_BYTES = 0x1, 1427290650Shselasky MLX5_QPC_MTU_512_BYTES = 0x2, 1428290650Shselasky MLX5_QPC_MTU_1K_BYTES = 0x3, 1429290650Shselasky MLX5_QPC_MTU_2K_BYTES = 0x4, 1430290650Shselasky MLX5_QPC_MTU_4K_BYTES = 0x5, 1431290650Shselasky MLX5_QPC_MTU_RAW_ETHERNET_QP = 0x7, 1432290650Shselasky}; 1433290650Shselasky 1434290650Shselaskyenum { 1435290650Shselasky MLX5_QPC_ATOMIC_MODE_IB_SPEC = 0x1, 1436290650Shselasky MLX5_QPC_ATOMIC_MODE_ONLY_8B = 0x2, 1437290650Shselasky MLX5_QPC_ATOMIC_MODE_UP_TO_8B = 0x3, 1438290650Shselasky MLX5_QPC_ATOMIC_MODE_UP_TO_16B = 0x4, 1439290650Shselasky MLX5_QPC_ATOMIC_MODE_UP_TO_32B = 0x5, 1440290650Shselasky MLX5_QPC_ATOMIC_MODE_UP_TO_64B = 0x6, 1441290650Shselasky MLX5_QPC_ATOMIC_MODE_UP_TO_128B = 0x7, 1442290650Shselasky MLX5_QPC_ATOMIC_MODE_UP_TO_256B = 0x8, 1443290650Shselasky}; 1444290650Shselasky 1445290650Shselaskyenum { 1446290650Shselasky MLX5_QPC_CS_REQ_DISABLE = 0x0, 1447290650Shselasky MLX5_QPC_CS_REQ_UP_TO_32B = 0x11, 1448290650Shselasky MLX5_QPC_CS_REQ_UP_TO_64B = 0x22, 1449290650Shselasky}; 1450290650Shselasky 1451290650Shselaskyenum { 1452290650Shselasky MLX5_QPC_CS_RES_DISABLE = 0x0, 1453290650Shselasky MLX5_QPC_CS_RES_UP_TO_32B = 0x1, 1454290650Shselasky MLX5_QPC_CS_RES_UP_TO_64B = 0x2, 1455290650Shselasky}; 1456290650Shselasky 1457290650Shselaskystruct mlx5_ifc_qpc_bits { 1458290650Shselasky u8 state[0x4]; 1459290650Shselasky u8 reserved_0[0x4]; 1460290650Shselasky u8 st[0x8]; 1461290650Shselasky u8 reserved_1[0x3]; 1462290650Shselasky u8 pm_state[0x2]; 1463290650Shselasky u8 reserved_2[0x7]; 1464290650Shselasky u8 end_padding_mode[0x2]; 1465290650Shselasky u8 reserved_3[0x2]; 1466290650Shselasky 1467290650Shselasky u8 wq_signature[0x1]; 1468290650Shselasky u8 block_lb_mc[0x1]; 1469290650Shselasky u8 atomic_like_write_en[0x1]; 1470290650Shselasky u8 latency_sensitive[0x1]; 1471290650Shselasky u8 reserved_4[0x1]; 1472290650Shselasky u8 drain_sigerr[0x1]; 1473290650Shselasky u8 reserved_5[0x2]; 1474290650Shselasky u8 pd[0x18]; 1475290650Shselasky 1476290650Shselasky u8 mtu[0x3]; 1477290650Shselasky u8 log_msg_max[0x5]; 1478290650Shselasky u8 reserved_6[0x1]; 1479290650Shselasky u8 log_rq_size[0x4]; 1480290650Shselasky u8 log_rq_stride[0x3]; 1481290650Shselasky u8 no_sq[0x1]; 1482290650Shselasky u8 log_sq_size[0x4]; 1483290650Shselasky u8 reserved_7[0x6]; 1484290650Shselasky u8 rlky[0x1]; 1485290650Shselasky u8 reserved_8[0x4]; 1486290650Shselasky 1487290650Shselasky u8 counter_set_id[0x8]; 1488290650Shselasky u8 uar_page[0x18]; 1489290650Shselasky 1490290650Shselasky u8 reserved_9[0x8]; 1491290650Shselasky u8 user_index[0x18]; 1492290650Shselasky 1493290650Shselasky u8 reserved_10[0x3]; 1494290650Shselasky u8 log_page_size[0x5]; 1495290650Shselasky u8 remote_qpn[0x18]; 1496290650Shselasky 1497290650Shselasky struct mlx5_ifc_ads_bits primary_address_path; 1498290650Shselasky 1499290650Shselasky struct mlx5_ifc_ads_bits secondary_address_path; 1500290650Shselasky 1501290650Shselasky u8 log_ack_req_freq[0x4]; 1502290650Shselasky u8 reserved_11[0x4]; 1503290650Shselasky u8 log_sra_max[0x3]; 1504290650Shselasky u8 reserved_12[0x2]; 1505290650Shselasky u8 retry_count[0x3]; 1506290650Shselasky u8 rnr_retry[0x3]; 1507290650Shselasky u8 reserved_13[0x1]; 1508290650Shselasky u8 fre[0x1]; 1509290650Shselasky u8 cur_rnr_retry[0x3]; 1510290650Shselasky u8 cur_retry_count[0x3]; 1511290650Shselasky u8 reserved_14[0x5]; 1512290650Shselasky 1513290650Shselasky u8 reserved_15[0x20]; 1514290650Shselasky 1515290650Shselasky u8 reserved_16[0x8]; 1516290650Shselasky u8 next_send_psn[0x18]; 1517290650Shselasky 1518290650Shselasky u8 reserved_17[0x8]; 1519290650Shselasky u8 cqn_snd[0x18]; 1520290650Shselasky 1521290650Shselasky u8 reserved_18[0x40]; 1522290650Shselasky 1523290650Shselasky u8 reserved_19[0x8]; 1524290650Shselasky u8 last_acked_psn[0x18]; 1525290650Shselasky 1526290650Shselasky u8 reserved_20[0x8]; 1527290650Shselasky u8 ssn[0x18]; 1528290650Shselasky 1529290650Shselasky u8 reserved_21[0x8]; 1530290650Shselasky u8 log_rra_max[0x3]; 1531290650Shselasky u8 reserved_22[0x1]; 1532290650Shselasky u8 atomic_mode[0x4]; 1533290650Shselasky u8 rre[0x1]; 1534290650Shselasky u8 rwe[0x1]; 1535290650Shselasky u8 rae[0x1]; 1536290650Shselasky u8 reserved_23[0x1]; 1537290650Shselasky u8 page_offset[0x6]; 1538290650Shselasky u8 reserved_24[0x3]; 1539290650Shselasky u8 cd_slave_receive[0x1]; 1540290650Shselasky u8 cd_slave_send[0x1]; 1541290650Shselasky u8 cd_master[0x1]; 1542290650Shselasky 1543290650Shselasky u8 reserved_25[0x3]; 1544290650Shselasky u8 min_rnr_nak[0x5]; 1545290650Shselasky u8 next_rcv_psn[0x18]; 1546290650Shselasky 1547290650Shselasky u8 reserved_26[0x8]; 1548290650Shselasky u8 xrcd[0x18]; 1549290650Shselasky 1550290650Shselasky u8 reserved_27[0x8]; 1551290650Shselasky u8 cqn_rcv[0x18]; 1552290650Shselasky 1553290650Shselasky u8 dbr_addr[0x40]; 1554290650Shselasky 1555290650Shselasky u8 q_key[0x20]; 1556290650Shselasky 1557290650Shselasky u8 reserved_28[0x5]; 1558290650Shselasky u8 rq_type[0x3]; 1559290650Shselasky u8 srqn_rmpn[0x18]; 1560290650Shselasky 1561290650Shselasky u8 reserved_29[0x8]; 1562290650Shselasky u8 rmsn[0x18]; 1563290650Shselasky 1564290650Shselasky u8 hw_sq_wqebb_counter[0x10]; 1565290650Shselasky u8 sw_sq_wqebb_counter[0x10]; 1566290650Shselasky 1567290650Shselasky u8 hw_rq_counter[0x20]; 1568290650Shselasky 1569290650Shselasky u8 sw_rq_counter[0x20]; 1570290650Shselasky 1571290650Shselasky u8 reserved_30[0x20]; 1572290650Shselasky 1573290650Shselasky u8 reserved_31[0xf]; 1574290650Shselasky u8 cgs[0x1]; 1575290650Shselasky u8 cs_req[0x8]; 1576290650Shselasky u8 cs_res[0x8]; 1577290650Shselasky 1578290650Shselasky u8 dc_access_key[0x40]; 1579290650Shselasky 1580290650Shselasky u8 rdma_active[0x1]; 1581290650Shselasky u8 comm_est[0x1]; 1582290650Shselasky u8 suspended[0x1]; 1583290650Shselasky u8 reserved_32[0x5]; 1584290650Shselasky u8 send_msg_psn[0x18]; 1585290650Shselasky 1586290650Shselasky u8 reserved_33[0x8]; 1587290650Shselasky u8 rcv_msg_psn[0x18]; 1588290650Shselasky 1589290650Shselasky u8 rdma_va[0x40]; 1590290650Shselasky 1591290650Shselasky u8 rdma_key[0x20]; 1592290650Shselasky 1593290650Shselasky u8 reserved_34[0x20]; 1594290650Shselasky}; 1595290650Shselasky 1596290650Shselaskystruct mlx5_ifc_roce_addr_layout_bits { 1597290650Shselasky u8 source_l3_address[16][0x8]; 1598290650Shselasky 1599290650Shselasky u8 reserved_0[0x3]; 1600290650Shselasky u8 vlan_valid[0x1]; 1601290650Shselasky u8 vlan_id[0xc]; 1602290650Shselasky u8 source_mac_47_32[0x10]; 1603290650Shselasky 1604290650Shselasky u8 source_mac_31_0[0x20]; 1605290650Shselasky 1606290650Shselasky u8 reserved_1[0x14]; 1607290650Shselasky u8 roce_l3_type[0x4]; 1608290650Shselasky u8 roce_version[0x8]; 1609290650Shselasky 1610290650Shselasky u8 reserved_2[0x20]; 1611290650Shselasky}; 1612290650Shselasky 1613290650Shselaskystruct mlx5_ifc_rdbc_bits { 1614290650Shselasky u8 reserved_0[0x1c]; 1615290650Shselasky u8 type[0x4]; 1616290650Shselasky 1617290650Shselasky u8 reserved_1[0x20]; 1618290650Shselasky 1619290650Shselasky u8 reserved_2[0x8]; 1620290650Shselasky u8 psn[0x18]; 1621290650Shselasky 1622290650Shselasky u8 rkey[0x20]; 1623290650Shselasky 1624290650Shselasky u8 address[0x40]; 1625290650Shselasky 1626290650Shselasky u8 byte_count[0x20]; 1627290650Shselasky 1628290650Shselasky u8 reserved_3[0x20]; 1629290650Shselasky 1630290650Shselasky u8 atomic_resp[32][0x8]; 1631290650Shselasky}; 1632290650Shselasky 1633290650Shselaskyenum { 1634290650Shselasky MLX5_FLOW_CONTEXT_ACTION_ALLOW = 0x1, 1635290650Shselasky MLX5_FLOW_CONTEXT_ACTION_DROP = 0x2, 1636290650Shselasky MLX5_FLOW_CONTEXT_ACTION_FWD_DEST = 0x4, 1637290650Shselasky MLX5_FLOW_CONTEXT_ACTION_COUNT = 0x8, 1638290650Shselasky}; 1639290650Shselasky 1640290650Shselaskystruct mlx5_ifc_flow_context_bits { 1641290650Shselasky u8 reserved_0[0x20]; 1642290650Shselasky 1643290650Shselasky u8 group_id[0x20]; 1644290650Shselasky 1645290650Shselasky u8 reserved_1[0x8]; 1646290650Shselasky u8 flow_tag[0x18]; 1647290650Shselasky 1648290650Shselasky u8 reserved_2[0x10]; 1649290650Shselasky u8 action[0x10]; 1650290650Shselasky 1651290650Shselasky u8 reserved_3[0x8]; 1652290650Shselasky u8 destination_list_size[0x18]; 1653290650Shselasky 1654290650Shselasky u8 reserved_4[0x8]; 1655290650Shselasky u8 flow_counter_list_size[0x18]; 1656290650Shselasky 1657290650Shselasky u8 reserved_5[0x140]; 1658290650Shselasky 1659290650Shselasky struct mlx5_ifc_fte_match_param_bits match_value; 1660290650Shselasky 1661290650Shselasky u8 reserved_6[0x600]; 1662290650Shselasky 1663290650Shselasky union mlx5_ifc_dest_format_struct_flow_counter_list_auto_bits destination[0]; 1664290650Shselasky}; 1665290650Shselasky 1666290650Shselaskyenum { 1667290650Shselasky MLX5_XRC_SRQC_STATE_GOOD = 0x0, 1668290650Shselasky MLX5_XRC_SRQC_STATE_ERROR = 0x1, 1669290650Shselasky}; 1670290650Shselasky 1671290650Shselaskystruct mlx5_ifc_xrc_srqc_bits { 1672290650Shselasky u8 state[0x4]; 1673290650Shselasky u8 log_xrc_srq_size[0x4]; 1674290650Shselasky u8 reserved_0[0x18]; 1675290650Shselasky 1676290650Shselasky u8 wq_signature[0x1]; 1677290650Shselasky u8 cont_srq[0x1]; 1678290650Shselasky u8 reserved_1[0x1]; 1679290650Shselasky u8 rlky[0x1]; 1680290650Shselasky u8 basic_cyclic_rcv_wqe[0x1]; 1681290650Shselasky u8 log_rq_stride[0x3]; 1682290650Shselasky u8 xrcd[0x18]; 1683290650Shselasky 1684290650Shselasky u8 page_offset[0x6]; 1685290650Shselasky u8 reserved_2[0x2]; 1686290650Shselasky u8 cqn[0x18]; 1687290650Shselasky 1688290650Shselasky u8 reserved_3[0x20]; 1689290650Shselasky 1690290650Shselasky u8 reserved_4[0x2]; 1691290650Shselasky u8 log_page_size[0x6]; 1692290650Shselasky u8 user_index[0x18]; 1693290650Shselasky 1694290650Shselasky u8 reserved_5[0x20]; 1695290650Shselasky 1696290650Shselasky u8 reserved_6[0x8]; 1697290650Shselasky u8 pd[0x18]; 1698290650Shselasky 1699290650Shselasky u8 lwm[0x10]; 1700290650Shselasky u8 wqe_cnt[0x10]; 1701290650Shselasky 1702290650Shselasky u8 reserved_7[0x40]; 1703290650Shselasky 1704290650Shselasky u8 db_record_addr_h[0x20]; 1705290650Shselasky 1706290650Shselasky u8 db_record_addr_l[0x1e]; 1707290650Shselasky u8 reserved_8[0x2]; 1708290650Shselasky 1709290650Shselasky u8 reserved_9[0x80]; 1710290650Shselasky}; 1711290650Shselasky 1712290650Shselaskystruct mlx5_ifc_traffic_counter_bits { 1713290650Shselasky u8 packets[0x40]; 1714290650Shselasky 1715290650Shselasky u8 octets[0x40]; 1716290650Shselasky}; 1717290650Shselasky 1718290650Shselaskystruct mlx5_ifc_tisc_bits { 1719290650Shselasky u8 reserved_0[0xc]; 1720290650Shselasky u8 prio[0x4]; 1721290650Shselasky u8 reserved_1[0x10]; 1722290650Shselasky 1723290650Shselasky u8 reserved_2[0x100]; 1724290650Shselasky 1725290650Shselasky u8 reserved_3[0x8]; 1726290650Shselasky u8 transport_domain[0x18]; 1727290650Shselasky 1728290650Shselasky u8 reserved_4[0x3c0]; 1729290650Shselasky}; 1730290650Shselasky 1731290650Shselaskyenum { 1732290650Shselasky MLX5_TIRC_DISP_TYPE_DIRECT = 0x0, 1733290650Shselasky MLX5_TIRC_DISP_TYPE_INDIRECT = 0x1, 1734290650Shselasky}; 1735290650Shselasky 1736290650Shselaskyenum { 1737290650Shselasky MLX5_TIRC_LRO_ENABLE_MASK_IPV4_LRO = 0x1, 1738290650Shselasky MLX5_TIRC_LRO_ENABLE_MASK_IPV6_LRO = 0x2, 1739290650Shselasky}; 1740290650Shselasky 1741290650Shselaskyenum { 1742290650Shselasky MLX5_TIRC_RX_HASH_FN_HASH_NONE = 0x0, 1743290650Shselasky MLX5_TIRC_RX_HASH_FN_HASH_INVERTED_XOR8 = 0x1, 1744290650Shselasky MLX5_TIRC_RX_HASH_FN_HASH_TOEPLITZ = 0x2, 1745290650Shselasky}; 1746290650Shselasky 1747290650Shselaskyenum { 1748290650Shselasky MLX5_TIRC_SELF_LB_EN_ENABLE_UNICAST = 0x1, 1749290650Shselasky MLX5_TIRC_SELF_LB_EN_ENABLE_MULTICAST = 0x2, 1750290650Shselasky}; 1751290650Shselasky 1752290650Shselaskystruct mlx5_ifc_tirc_bits { 1753290650Shselasky u8 reserved_0[0x20]; 1754290650Shselasky 1755290650Shselasky u8 disp_type[0x4]; 1756290650Shselasky u8 reserved_1[0x1c]; 1757290650Shselasky 1758290650Shselasky u8 reserved_2[0x40]; 1759290650Shselasky 1760290650Shselasky u8 reserved_3[0x4]; 1761290650Shselasky u8 lro_timeout_period_usecs[0x10]; 1762290650Shselasky u8 lro_enable_mask[0x4]; 1763290650Shselasky u8 lro_max_msg_sz[0x8]; 1764290650Shselasky 1765290650Shselasky u8 reserved_4[0x40]; 1766290650Shselasky 1767290650Shselasky u8 reserved_5[0x8]; 1768290650Shselasky u8 inline_rqn[0x18]; 1769290650Shselasky 1770290650Shselasky u8 rx_hash_symmetric[0x1]; 1771290650Shselasky u8 reserved_6[0x1]; 1772290650Shselasky u8 tunneled_offload_en[0x1]; 1773290650Shselasky u8 reserved_7[0x5]; 1774290650Shselasky u8 indirect_table[0x18]; 1775290650Shselasky 1776290650Shselasky u8 rx_hash_fn[0x4]; 1777290650Shselasky u8 reserved_8[0x2]; 1778290650Shselasky u8 self_lb_en[0x2]; 1779290650Shselasky u8 transport_domain[0x18]; 1780290650Shselasky 1781290650Shselasky u8 rx_hash_toeplitz_key[10][0x20]; 1782290650Shselasky 1783290650Shselasky struct mlx5_ifc_rx_hash_field_select_bits rx_hash_field_selector_outer; 1784290650Shselasky 1785290650Shselasky struct mlx5_ifc_rx_hash_field_select_bits rx_hash_field_selector_inner; 1786290650Shselasky 1787290650Shselasky u8 reserved_9[0x4c0]; 1788290650Shselasky}; 1789290650Shselasky 1790290650Shselaskyenum { 1791290650Shselasky MLX5_SRQC_STATE_GOOD = 0x0, 1792290650Shselasky MLX5_SRQC_STATE_ERROR = 0x1, 1793290650Shselasky}; 1794290650Shselasky 1795290650Shselaskystruct mlx5_ifc_srqc_bits { 1796290650Shselasky u8 state[0x4]; 1797290650Shselasky u8 log_srq_size[0x4]; 1798290650Shselasky u8 reserved_0[0x18]; 1799290650Shselasky 1800290650Shselasky u8 wq_signature[0x1]; 1801290650Shselasky u8 cont_srq[0x1]; 1802290650Shselasky u8 reserved_1[0x1]; 1803290650Shselasky u8 rlky[0x1]; 1804290650Shselasky u8 reserved_2[0x1]; 1805290650Shselasky u8 log_rq_stride[0x3]; 1806290650Shselasky u8 xrcd[0x18]; 1807290650Shselasky 1808290650Shselasky u8 page_offset[0x6]; 1809290650Shselasky u8 reserved_3[0x2]; 1810290650Shselasky u8 cqn[0x18]; 1811290650Shselasky 1812290650Shselasky u8 reserved_4[0x20]; 1813290650Shselasky 1814290650Shselasky u8 reserved_5[0x2]; 1815290650Shselasky u8 log_page_size[0x6]; 1816290650Shselasky u8 reserved_6[0x18]; 1817290650Shselasky 1818290650Shselasky u8 reserved_7[0x20]; 1819290650Shselasky 1820290650Shselasky u8 reserved_8[0x8]; 1821290650Shselasky u8 pd[0x18]; 1822290650Shselasky 1823290650Shselasky u8 lwm[0x10]; 1824290650Shselasky u8 wqe_cnt[0x10]; 1825290650Shselasky 1826290650Shselasky u8 reserved_9[0x40]; 1827290650Shselasky 1828290650Shselasky u8 db_record_addr_h[0x20]; 1829290650Shselasky 1830290650Shselasky u8 db_record_addr_l[0x1e]; 1831290650Shselasky u8 reserved_10[0x2]; 1832290650Shselasky 1833290650Shselasky u8 reserved_11[0x80]; 1834290650Shselasky}; 1835290650Shselasky 1836290650Shselaskyenum { 1837290650Shselasky MLX5_SQC_STATE_RST = 0x0, 1838290650Shselasky MLX5_SQC_STATE_RDY = 0x1, 1839290650Shselasky MLX5_SQC_STATE_ERR = 0x3, 1840290650Shselasky}; 1841290650Shselasky 1842290650Shselaskystruct mlx5_ifc_sqc_bits { 1843290650Shselasky u8 rlky[0x1]; 1844290650Shselasky u8 cd_master[0x1]; 1845290650Shselasky u8 fre[0x1]; 1846290650Shselasky u8 flush_in_error_en[0x1]; 1847290650Shselasky u8 allow_multi_pkt_send_wqe[0x1]; 1848290650Shselasky u8 min_wqe_inline_mode[0x3]; 1849290650Shselasky u8 state[0x4]; 1850290650Shselasky u8 reserved_0[0x14]; 1851290650Shselasky 1852290650Shselasky u8 reserved_1[0x8]; 1853290650Shselasky u8 user_index[0x18]; 1854290650Shselasky 1855290650Shselasky u8 reserved_2[0x8]; 1856290650Shselasky u8 cqn[0x18]; 1857290650Shselasky 1858290650Shselasky u8 reserved_3[0xa0]; 1859290650Shselasky 1860290650Shselasky u8 tis_lst_sz[0x10]; 1861290650Shselasky u8 reserved_4[0x10]; 1862290650Shselasky 1863290650Shselasky u8 reserved_5[0x40]; 1864290650Shselasky 1865290650Shselasky u8 reserved_6[0x8]; 1866290650Shselasky u8 tis_num_0[0x18]; 1867290650Shselasky 1868290650Shselasky struct mlx5_ifc_wq_bits wq; 1869290650Shselasky}; 1870290650Shselasky 1871290650Shselaskystruct mlx5_ifc_rqtc_bits { 1872290650Shselasky u8 reserved_0[0xa0]; 1873290650Shselasky 1874290650Shselasky u8 reserved_1[0x10]; 1875290650Shselasky u8 rqt_max_size[0x10]; 1876290650Shselasky 1877290650Shselasky u8 reserved_2[0x10]; 1878290650Shselasky u8 rqt_actual_size[0x10]; 1879290650Shselasky 1880290650Shselasky u8 reserved_3[0x6a0]; 1881290650Shselasky 1882290650Shselasky struct mlx5_ifc_rq_num_bits rq_num[0]; 1883290650Shselasky}; 1884290650Shselasky 1885290650Shselaskyenum { 1886290650Shselasky MLX5_RQC_RQ_TYPE_MEMORY_RQ_INLINE = 0x0, 1887290650Shselasky MLX5_RQC_RQ_TYPE_MEMORY_RQ_RMP = 0x1, 1888290650Shselasky}; 1889290650Shselasky 1890290650Shselaskyenum { 1891290650Shselasky MLX5_RQC_STATE_RST = 0x0, 1892290650Shselasky MLX5_RQC_STATE_RDY = 0x1, 1893290650Shselasky MLX5_RQC_STATE_ERR = 0x3, 1894290650Shselasky}; 1895290650Shselasky 1896290650Shselaskystruct mlx5_ifc_rqc_bits { 1897290650Shselasky u8 rlky[0x1]; 1898290650Shselasky u8 reserved_0[0x2]; 1899290650Shselasky u8 vlan_strip_disable[0x1]; 1900290650Shselasky u8 mem_rq_type[0x4]; 1901290650Shselasky u8 state[0x4]; 1902290650Shselasky u8 reserved_1[0x1]; 1903290650Shselasky u8 flush_in_error_en[0x1]; 1904290650Shselasky u8 reserved_2[0x12]; 1905290650Shselasky 1906290650Shselasky u8 reserved_3[0x8]; 1907290650Shselasky u8 user_index[0x18]; 1908290650Shselasky 1909290650Shselasky u8 reserved_4[0x8]; 1910290650Shselasky u8 cqn[0x18]; 1911290650Shselasky 1912290650Shselasky u8 counter_set_id[0x8]; 1913290650Shselasky u8 reserved_5[0x18]; 1914290650Shselasky 1915290650Shselasky u8 reserved_6[0x8]; 1916290650Shselasky u8 rmpn[0x18]; 1917290650Shselasky 1918290650Shselasky u8 reserved_7[0xe0]; 1919290650Shselasky 1920290650Shselasky struct mlx5_ifc_wq_bits wq; 1921290650Shselasky}; 1922290650Shselasky 1923290650Shselaskyenum { 1924290650Shselasky MLX5_RMPC_STATE_RDY = 0x1, 1925290650Shselasky MLX5_RMPC_STATE_ERR = 0x3, 1926290650Shselasky}; 1927290650Shselasky 1928290650Shselaskystruct mlx5_ifc_rmpc_bits { 1929290650Shselasky u8 reserved_0[0x8]; 1930290650Shselasky u8 state[0x4]; 1931290650Shselasky u8 reserved_1[0x14]; 1932290650Shselasky 1933290650Shselasky u8 basic_cyclic_rcv_wqe[0x1]; 1934290650Shselasky u8 reserved_2[0x1f]; 1935290650Shselasky 1936290650Shselasky u8 reserved_3[0x140]; 1937290650Shselasky 1938290650Shselasky struct mlx5_ifc_wq_bits wq; 1939290650Shselasky}; 1940290650Shselasky 1941290650Shselaskyenum { 1942290650Shselasky MLX5_NIC_VPORT_CONTEXT_ALLOWED_LIST_TYPE_CURRENT_UC_MAC_ADDRESS = 0x0, 1943290650Shselasky MLX5_NIC_VPORT_CONTEXT_ALLOWED_LIST_TYPE_CURRENT_MC_MAC_ADDRESS = 0x1, 1944290650Shselasky MLX5_NIC_VPORT_CONTEXT_ALLOWED_LIST_TYPE_VLAN_LIST = 0x2, 1945290650Shselasky}; 1946290650Shselasky 1947290650Shselaskystruct mlx5_ifc_nic_vport_context_bits { 1948290650Shselasky u8 reserved_0[0x5]; 1949290650Shselasky u8 min_wqe_inline_mode[0x3]; 1950290650Shselasky u8 reserved_1[0x17]; 1951290650Shselasky u8 roce_en[0x1]; 1952290650Shselasky 1953290650Shselasky u8 arm_change_event[0x1]; 1954290650Shselasky u8 reserved_2[0x1a]; 1955290650Shselasky u8 event_on_mtu[0x1]; 1956290650Shselasky u8 event_on_promisc_change[0x1]; 1957290650Shselasky u8 event_on_vlan_change[0x1]; 1958290650Shselasky u8 event_on_mc_address_change[0x1]; 1959290650Shselasky u8 event_on_uc_address_change[0x1]; 1960290650Shselasky 1961290650Shselasky u8 reserved_3[0xe0]; 1962290650Shselasky 1963290650Shselasky u8 reserved_4[0x10]; 1964290650Shselasky u8 mtu[0x10]; 1965290650Shselasky 1966290650Shselasky u8 system_image_guid[0x40]; 1967290650Shselasky 1968290650Shselasky u8 port_guid[0x40]; 1969290650Shselasky 1970290650Shselasky u8 node_guid[0x40]; 1971290650Shselasky 1972290650Shselasky u8 reserved_5[0x140]; 1973290650Shselasky 1974290650Shselasky u8 qkey_violation_counter[0x10]; 1975290650Shselasky u8 reserved_6[0x10]; 1976290650Shselasky 1977290650Shselasky u8 reserved_7[0x420]; 1978290650Shselasky 1979290650Shselasky u8 promisc_uc[0x1]; 1980290650Shselasky u8 promisc_mc[0x1]; 1981290650Shselasky u8 promisc_all[0x1]; 1982290650Shselasky u8 reserved_8[0x2]; 1983290650Shselasky u8 allowed_list_type[0x3]; 1984290650Shselasky u8 reserved_9[0xc]; 1985290650Shselasky u8 allowed_list_size[0xc]; 1986290650Shselasky 1987290650Shselasky struct mlx5_ifc_mac_address_layout_bits permanent_address; 1988290650Shselasky 1989290650Shselasky u8 reserved_10[0x20]; 1990290650Shselasky 1991290650Shselasky u8 current_uc_mac_address[0][0x40]; 1992290650Shselasky}; 1993290650Shselasky 1994290650Shselaskyenum { 1995290650Shselasky MLX5_ACCESS_MODE_PA = 0x0, 1996290650Shselasky MLX5_ACCESS_MODE_MTT = 0x1, 1997290650Shselasky MLX5_ACCESS_MODE_KLM = 0x2, 1998290650Shselasky}; 1999290650Shselasky 2000290650Shselaskystruct mlx5_ifc_mkc_bits { 2001290650Shselasky u8 reserved_0[0x1]; 2002290650Shselasky u8 free[0x1]; 2003290650Shselasky u8 reserved_1[0xd]; 2004290650Shselasky u8 small_fence_on_rdma_read_response[0x1]; 2005290650Shselasky u8 umr_en[0x1]; 2006290650Shselasky u8 a[0x1]; 2007290650Shselasky u8 rw[0x1]; 2008290650Shselasky u8 rr[0x1]; 2009290650Shselasky u8 lw[0x1]; 2010290650Shselasky u8 lr[0x1]; 2011290650Shselasky u8 access_mode[0x2]; 2012290650Shselasky u8 reserved_2[0x8]; 2013290650Shselasky 2014290650Shselasky u8 qpn[0x18]; 2015290650Shselasky u8 mkey_7_0[0x8]; 2016290650Shselasky 2017290650Shselasky u8 reserved_3[0x20]; 2018290650Shselasky 2019290650Shselasky u8 length64[0x1]; 2020290650Shselasky u8 bsf_en[0x1]; 2021290650Shselasky u8 sync_umr[0x1]; 2022290650Shselasky u8 reserved_4[0x2]; 2023290650Shselasky u8 expected_sigerr_count[0x1]; 2024290650Shselasky u8 reserved_5[0x1]; 2025290650Shselasky u8 en_rinval[0x1]; 2026290650Shselasky u8 pd[0x18]; 2027290650Shselasky 2028290650Shselasky u8 start_addr[0x40]; 2029290650Shselasky 2030290650Shselasky u8 len[0x40]; 2031290650Shselasky 2032290650Shselasky u8 bsf_octword_size[0x20]; 2033290650Shselasky 2034290650Shselasky u8 reserved_6[0x80]; 2035290650Shselasky 2036290650Shselasky u8 translations_octword_size[0x20]; 2037290650Shselasky 2038290650Shselasky u8 reserved_7[0x1b]; 2039290650Shselasky u8 log_page_size[0x5]; 2040290650Shselasky 2041290650Shselasky u8 reserved_8[0x20]; 2042290650Shselasky}; 2043290650Shselasky 2044290650Shselaskystruct mlx5_ifc_pkey_bits { 2045290650Shselasky u8 reserved_0[0x10]; 2046290650Shselasky u8 pkey[0x10]; 2047290650Shselasky}; 2048290650Shselasky 2049290650Shselaskystruct mlx5_ifc_array128_auto_bits { 2050290650Shselasky u8 array128_auto[16][0x8]; 2051290650Shselasky}; 2052290650Shselasky 2053290650Shselaskyenum { 2054290650Shselasky MLX5_HCA_VPORT_CONTEXT_FIELD_SELECT_PORT_GUID = 0x0, 2055290650Shselasky MLX5_HCA_VPORT_CONTEXT_FIELD_SELECT_NODE_GUID = 0x1, 2056290650Shselasky MLX5_HCA_VPORT_CONTEXT_FIELD_SELECT_VPORT_STATE_POLICY = 0x2, 2057290650Shselasky}; 2058290650Shselasky 2059290650Shselaskyenum { 2060290650Shselasky MLX5_HCA_VPORT_CONTEXT_PORT_PHYSICAL_STATE_SLEEP = 0x1, 2061290650Shselasky MLX5_HCA_VPORT_CONTEXT_PORT_PHYSICAL_STATE_POLLING = 0x2, 2062290650Shselasky MLX5_HCA_VPORT_CONTEXT_PORT_PHYSICAL_STATE_DISABLED = 0x3, 2063290650Shselasky MLX5_HCA_VPORT_CONTEXT_PORT_PHYSICAL_STATE_PORTCONFIGURATIONTRAINING = 0x4, 2064290650Shselasky MLX5_HCA_VPORT_CONTEXT_PORT_PHYSICAL_STATE_LINKUP = 0x5, 2065290650Shselasky MLX5_HCA_VPORT_CONTEXT_PORT_PHYSICAL_STATE_LINKERRORRECOVERY = 0x6, 2066290650Shselasky MLX5_HCA_VPORT_CONTEXT_PORT_PHYSICAL_STATE_PHYTEST = 0x7, 2067290650Shselasky}; 2068290650Shselasky 2069290650Shselaskyenum { 2070290650Shselasky MLX5_HCA_VPORT_CONTEXT_VPORT_STATE_POLICY_DOWN = 0x0, 2071290650Shselasky MLX5_HCA_VPORT_CONTEXT_VPORT_STATE_POLICY_UP = 0x1, 2072290650Shselasky MLX5_HCA_VPORT_CONTEXT_VPORT_STATE_POLICY_FOLLOW = 0x2, 2073290650Shselasky}; 2074290650Shselasky 2075290650Shselaskyenum { 2076290650Shselasky MLX5_HCA_VPORT_CONTEXT_PORT_STATE_DOWN = 0x1, 2077290650Shselasky MLX5_HCA_VPORT_CONTEXT_PORT_STATE_INIT = 0x2, 2078290650Shselasky MLX5_HCA_VPORT_CONTEXT_PORT_STATE_ARM = 0x3, 2079290650Shselasky MLX5_HCA_VPORT_CONTEXT_PORT_STATE_ACTIVE = 0x4, 2080290650Shselasky}; 2081290650Shselasky 2082290650Shselaskyenum { 2083290650Shselasky MLX5_HCA_VPORT_CONTEXT_VPORT_STATE_DOWN = 0x1, 2084290650Shselasky MLX5_HCA_VPORT_CONTEXT_VPORT_STATE_INIT = 0x2, 2085290650Shselasky MLX5_HCA_VPORT_CONTEXT_VPORT_STATE_ARM = 0x3, 2086290650Shselasky MLX5_HCA_VPORT_CONTEXT_VPORT_STATE_ACTIVE = 0x4, 2087290650Shselasky}; 2088290650Shselasky 2089290650Shselaskystruct mlx5_ifc_hca_vport_context_bits { 2090290650Shselasky u8 field_select[0x20]; 2091290650Shselasky 2092290650Shselasky u8 reserved_0[0xe0]; 2093290650Shselasky 2094290650Shselasky u8 sm_virt_aware[0x1]; 2095290650Shselasky u8 has_smi[0x1]; 2096290650Shselasky u8 has_raw[0x1]; 2097290650Shselasky u8 grh_required[0x1]; 2098290650Shselasky u8 reserved_1[0xc]; 2099290650Shselasky u8 port_physical_state[0x4]; 2100290650Shselasky u8 vport_state_policy[0x4]; 2101290650Shselasky u8 port_state[0x4]; 2102290650Shselasky u8 vport_state[0x4]; 2103290650Shselasky 2104290650Shselasky u8 reserved_2[0x20]; 2105290650Shselasky 2106290650Shselasky u8 system_image_guid[0x40]; 2107290650Shselasky 2108290650Shselasky u8 port_guid[0x40]; 2109290650Shselasky 2110290650Shselasky u8 node_guid[0x40]; 2111290650Shselasky 2112290650Shselasky u8 cap_mask1[0x20]; 2113290650Shselasky 2114290650Shselasky u8 cap_mask1_field_select[0x20]; 2115290650Shselasky 2116290650Shselasky u8 cap_mask2[0x20]; 2117290650Shselasky 2118290650Shselasky u8 cap_mask2_field_select[0x20]; 2119290650Shselasky 2120290650Shselasky u8 reserved_3[0x80]; 2121290650Shselasky 2122290650Shselasky u8 lid[0x10]; 2123290650Shselasky u8 reserved_4[0x4]; 2124290650Shselasky u8 init_type_reply[0x4]; 2125290650Shselasky u8 lmc[0x3]; 2126290650Shselasky u8 subnet_timeout[0x5]; 2127290650Shselasky 2128290650Shselasky u8 sm_lid[0x10]; 2129290650Shselasky u8 sm_sl[0x4]; 2130290650Shselasky u8 reserved_5[0xc]; 2131290650Shselasky 2132290650Shselasky u8 qkey_violation_counter[0x10]; 2133290650Shselasky u8 pkey_violation_counter[0x10]; 2134290650Shselasky 2135290650Shselasky u8 reserved_6[0xca0]; 2136290650Shselasky}; 2137290650Shselasky 2138290650Shselaskyunion mlx5_ifc_hca_cap_union_bits { 2139290650Shselasky struct mlx5_ifc_cmd_hca_cap_bits cmd_hca_cap; 2140290650Shselasky struct mlx5_ifc_odp_cap_bits odp_cap; 2141290650Shselasky struct mlx5_ifc_atomic_caps_bits atomic_caps; 2142290650Shselasky struct mlx5_ifc_roce_cap_bits roce_cap; 2143290650Shselasky struct mlx5_ifc_per_protocol_networking_offload_caps_bits per_protocol_networking_offload_caps; 2144290650Shselasky struct mlx5_ifc_flow_table_nic_cap_bits flow_table_nic_cap; 2145290650Shselasky struct mlx5_ifc_flow_table_eswitch_cap_bits flow_table_eswitch_cap; 2146290650Shselasky struct mlx5_ifc_e_switch_cap_bits e_switch_cap; 2147290650Shselasky u8 reserved_0[0x8000]; 2148290650Shselasky}; 2149290650Shselasky 2150290650Shselaskystruct mlx5_ifc_esw_vport_context_bits { 2151290650Shselasky u8 reserved_0[0x3]; 2152290650Shselasky u8 vport_svlan_strip[0x1]; 2153290650Shselasky u8 vport_cvlan_strip[0x1]; 2154290650Shselasky u8 vport_svlan_insert[0x1]; 2155290650Shselasky u8 vport_cvlan_insert[0x2]; 2156290650Shselasky u8 reserved_1[0x18]; 2157290650Shselasky 2158290650Shselasky u8 reserved_2[0x20]; 2159290650Shselasky 2160290650Shselasky u8 svlan_cfi[0x1]; 2161290650Shselasky u8 svlan_pcp[0x3]; 2162290650Shselasky u8 svlan_id[0xc]; 2163290650Shselasky u8 cvlan_cfi[0x1]; 2164290650Shselasky u8 cvlan_pcp[0x3]; 2165290650Shselasky u8 cvlan_id[0xc]; 2166290650Shselasky 2167290650Shselasky u8 reserved_3[0x7a0]; 2168290650Shselasky}; 2169290650Shselasky 2170290650Shselaskyenum { 2171290650Shselasky MLX5_EQC_STATUS_OK = 0x0, 2172290650Shselasky MLX5_EQC_STATUS_EQ_WRITE_FAILURE = 0xa, 2173290650Shselasky}; 2174290650Shselasky 2175290650Shselaskyenum { 2176290650Shselasky MLX5_EQ_STATE_ARMED = 0x9, 2177290650Shselasky MLX5_EQ_STATE_FIRED = 0xa, 2178290650Shselasky}; 2179290650Shselasky 2180290650Shselaskystruct mlx5_ifc_eqc_bits { 2181290650Shselasky u8 status[0x4]; 2182290650Shselasky u8 reserved_0[0x9]; 2183290650Shselasky u8 ec[0x1]; 2184290650Shselasky u8 oi[0x1]; 2185290650Shselasky u8 reserved_1[0x5]; 2186290650Shselasky u8 st[0x4]; 2187290650Shselasky u8 reserved_2[0x8]; 2188290650Shselasky 2189290650Shselasky u8 reserved_3[0x20]; 2190290650Shselasky 2191290650Shselasky u8 reserved_4[0x14]; 2192290650Shselasky u8 page_offset[0x6]; 2193290650Shselasky u8 reserved_5[0x6]; 2194290650Shselasky 2195290650Shselasky u8 reserved_6[0x3]; 2196290650Shselasky u8 log_eq_size[0x5]; 2197290650Shselasky u8 uar_page[0x18]; 2198290650Shselasky 2199290650Shselasky u8 reserved_7[0x20]; 2200290650Shselasky 2201290650Shselasky u8 reserved_8[0x18]; 2202290650Shselasky u8 intr[0x8]; 2203290650Shselasky 2204290650Shselasky u8 reserved_9[0x3]; 2205290650Shselasky u8 log_page_size[0x5]; 2206290650Shselasky u8 reserved_10[0x18]; 2207290650Shselasky 2208290650Shselasky u8 reserved_11[0x60]; 2209290650Shselasky 2210290650Shselasky u8 reserved_12[0x8]; 2211290650Shselasky u8 consumer_counter[0x18]; 2212290650Shselasky 2213290650Shselasky u8 reserved_13[0x8]; 2214290650Shselasky u8 producer_counter[0x18]; 2215290650Shselasky 2216290650Shselasky u8 reserved_14[0x80]; 2217290650Shselasky}; 2218290650Shselasky 2219290650Shselaskyenum { 2220290650Shselasky MLX5_DCTC_STATE_ACTIVE = 0x0, 2221290650Shselasky MLX5_DCTC_STATE_DRAINING = 0x1, 2222290650Shselasky MLX5_DCTC_STATE_DRAINED = 0x2, 2223290650Shselasky}; 2224290650Shselasky 2225290650Shselaskyenum { 2226290650Shselasky MLX5_DCTC_CS_RES_DISABLE = 0x0, 2227290650Shselasky MLX5_DCTC_CS_RES_NA = 0x1, 2228290650Shselasky MLX5_DCTC_CS_RES_UP_TO_64B = 0x2, 2229290650Shselasky}; 2230290650Shselasky 2231290650Shselaskyenum { 2232290650Shselasky MLX5_DCTC_MTU_256_BYTES = 0x1, 2233290650Shselasky MLX5_DCTC_MTU_512_BYTES = 0x2, 2234290650Shselasky MLX5_DCTC_MTU_1K_BYTES = 0x3, 2235290650Shselasky MLX5_DCTC_MTU_2K_BYTES = 0x4, 2236290650Shselasky MLX5_DCTC_MTU_4K_BYTES = 0x5, 2237290650Shselasky}; 2238290650Shselasky 2239290650Shselaskystruct mlx5_ifc_dctc_bits { 2240290650Shselasky u8 reserved_0[0x4]; 2241290650Shselasky u8 state[0x4]; 2242290650Shselasky u8 reserved_1[0x18]; 2243290650Shselasky 2244290650Shselasky u8 reserved_2[0x8]; 2245290650Shselasky u8 user_index[0x18]; 2246290650Shselasky 2247290650Shselasky u8 reserved_3[0x8]; 2248290650Shselasky u8 cqn[0x18]; 2249290650Shselasky 2250290650Shselasky u8 counter_set_id[0x8]; 2251290650Shselasky u8 atomic_mode[0x4]; 2252290650Shselasky u8 rre[0x1]; 2253290650Shselasky u8 rwe[0x1]; 2254290650Shselasky u8 rae[0x1]; 2255290650Shselasky u8 atomic_like_write_en[0x1]; 2256290650Shselasky u8 latency_sensitive[0x1]; 2257290650Shselasky u8 rlky[0x1]; 2258290650Shselasky u8 reserved_4[0xe]; 2259290650Shselasky 2260290650Shselasky u8 reserved_5[0x8]; 2261290650Shselasky u8 cs_res[0x8]; 2262290650Shselasky u8 reserved_6[0x3]; 2263290650Shselasky u8 min_rnr_nak[0x5]; 2264290650Shselasky u8 reserved_7[0x8]; 2265290650Shselasky 2266290650Shselasky u8 reserved_8[0x8]; 2267290650Shselasky u8 srqn[0x18]; 2268290650Shselasky 2269290650Shselasky u8 reserved_9[0x8]; 2270290650Shselasky u8 pd[0x18]; 2271290650Shselasky 2272290650Shselasky u8 tclass[0x8]; 2273290650Shselasky u8 reserved_10[0x4]; 2274290650Shselasky u8 flow_label[0x14]; 2275290650Shselasky 2276290650Shselasky u8 dc_access_key[0x40]; 2277290650Shselasky 2278290650Shselasky u8 reserved_11[0x5]; 2279290650Shselasky u8 mtu[0x3]; 2280290650Shselasky u8 port[0x8]; 2281290650Shselasky u8 pkey_index[0x10]; 2282290650Shselasky 2283290650Shselasky u8 reserved_12[0x8]; 2284290650Shselasky u8 my_addr_index[0x8]; 2285290650Shselasky u8 reserved_13[0x8]; 2286290650Shselasky u8 hop_limit[0x8]; 2287290650Shselasky 2288290650Shselasky u8 dc_access_key_violation_count[0x20]; 2289290650Shselasky 2290290650Shselasky u8 reserved_14[0x14]; 2291290650Shselasky u8 dei_cfi[0x1]; 2292290650Shselasky u8 eth_prio[0x3]; 2293290650Shselasky u8 ecn[0x2]; 2294290650Shselasky u8 dscp[0x6]; 2295290650Shselasky 2296290650Shselasky u8 reserved_15[0x40]; 2297290650Shselasky}; 2298290650Shselasky 2299290650Shselaskyenum { 2300290650Shselasky MLX5_CQC_STATUS_OK = 0x0, 2301290650Shselasky MLX5_CQC_STATUS_CQ_OVERFLOW = 0x9, 2302290650Shselasky MLX5_CQC_STATUS_CQ_WRITE_FAIL = 0xa, 2303290650Shselasky}; 2304290650Shselasky 2305290650Shselaskyenum { 2306290650Shselasky CQE_SIZE_64 = 0x0, 2307290650Shselasky CQE_SIZE_128 = 0x1, 2308290650Shselasky}; 2309290650Shselasky 2310290650Shselaskyenum { 2311290650Shselasky MLX5_CQ_PERIOD_MODE_START_FROM_EQE = 0x0, 2312290650Shselasky MLX5_CQ_PERIOD_MODE_START_FROM_CQE = 0x1, 2313290650Shselasky}; 2314290650Shselasky 2315290650Shselaskyenum { 2316290650Shselasky MLX5_CQ_STATE_SOLICITED_ARMED = 0x6, 2317290650Shselasky MLX5_CQ_STATE_ARMED = 0x9, 2318290650Shselasky MLX5_CQ_STATE_FIRED = 0xa, 2319290650Shselasky}; 2320290650Shselasky 2321290650Shselaskystruct mlx5_ifc_cqc_bits { 2322290650Shselasky u8 status[0x4]; 2323290650Shselasky u8 reserved_0[0x4]; 2324290650Shselasky u8 cqe_sz[0x3]; 2325290650Shselasky u8 cc[0x1]; 2326290650Shselasky u8 reserved_1[0x1]; 2327290650Shselasky u8 scqe_break_moderation_en[0x1]; 2328290650Shselasky u8 oi[0x1]; 2329290650Shselasky u8 cq_period_mode[0x2]; 2330290650Shselasky u8 cqe_compression_en[0x1]; 2331290650Shselasky u8 mini_cqe_res_format[0x2]; 2332290650Shselasky u8 st[0x4]; 2333290650Shselasky u8 reserved_2[0x8]; 2334290650Shselasky 2335290650Shselasky u8 reserved_3[0x20]; 2336290650Shselasky 2337290650Shselasky u8 reserved_4[0x14]; 2338290650Shselasky u8 page_offset[0x6]; 2339290650Shselasky u8 reserved_5[0x6]; 2340290650Shselasky 2341290650Shselasky u8 reserved_6[0x3]; 2342290650Shselasky u8 log_cq_size[0x5]; 2343290650Shselasky u8 uar_page[0x18]; 2344290650Shselasky 2345290650Shselasky u8 reserved_7[0x4]; 2346290650Shselasky u8 cq_period[0xc]; 2347290650Shselasky u8 cq_max_count[0x10]; 2348290650Shselasky 2349290650Shselasky u8 reserved_8[0x18]; 2350290650Shselasky u8 c_eqn[0x8]; 2351290650Shselasky 2352290650Shselasky u8 reserved_9[0x3]; 2353290650Shselasky u8 log_page_size[0x5]; 2354290650Shselasky u8 reserved_10[0x18]; 2355290650Shselasky 2356290650Shselasky u8 reserved_11[0x20]; 2357290650Shselasky 2358290650Shselasky u8 reserved_12[0x8]; 2359290650Shselasky u8 last_notified_index[0x18]; 2360290650Shselasky 2361290650Shselasky u8 reserved_13[0x8]; 2362290650Shselasky u8 last_solicit_index[0x18]; 2363290650Shselasky 2364290650Shselasky u8 reserved_14[0x8]; 2365290650Shselasky u8 consumer_counter[0x18]; 2366290650Shselasky 2367290650Shselasky u8 reserved_15[0x8]; 2368290650Shselasky u8 producer_counter[0x18]; 2369290650Shselasky 2370290650Shselasky u8 reserved_16[0x40]; 2371290650Shselasky 2372290650Shselasky u8 dbr_addr[0x40]; 2373290650Shselasky}; 2374290650Shselasky 2375290650Shselaskyunion mlx5_ifc_cong_control_roce_ecn_auto_bits { 2376290650Shselasky struct mlx5_ifc_cong_control_802_1qau_rp_bits cong_control_802_1qau_rp; 2377290650Shselasky struct mlx5_ifc_cong_control_r_roce_ecn_rp_bits cong_control_r_roce_ecn_rp; 2378290650Shselasky struct mlx5_ifc_cong_control_r_roce_ecn_np_bits cong_control_r_roce_ecn_np; 2379290650Shselasky u8 reserved_0[0x800]; 2380290650Shselasky}; 2381290650Shselasky 2382290650Shselaskystruct mlx5_ifc_query_adapter_param_block_bits { 2383290650Shselasky u8 reserved_0[0xc0]; 2384290650Shselasky 2385290650Shselasky u8 reserved_1[0x8]; 2386290650Shselasky u8 ieee_vendor_id[0x18]; 2387290650Shselasky 2388290650Shselasky u8 reserved_2[0x10]; 2389290650Shselasky u8 vsd_vendor_id[0x10]; 2390290650Shselasky 2391290650Shselasky u8 vsd[208][0x8]; 2392290650Shselasky 2393290650Shselasky u8 vsd_contd_psid[16][0x8]; 2394290650Shselasky}; 2395290650Shselasky 2396290650Shselaskyunion mlx5_ifc_modify_field_select_resize_field_select_auto_bits { 2397290650Shselasky struct mlx5_ifc_modify_field_select_bits modify_field_select; 2398290650Shselasky struct mlx5_ifc_resize_field_select_bits resize_field_select; 2399290650Shselasky u8 reserved_0[0x20]; 2400290650Shselasky}; 2401290650Shselasky 2402290650Shselaskyunion mlx5_ifc_field_select_802_1_r_roce_auto_bits { 2403290650Shselasky struct mlx5_ifc_field_select_802_1qau_rp_bits field_select_802_1qau_rp; 2404290650Shselasky struct mlx5_ifc_field_select_r_roce_rp_bits field_select_r_roce_rp; 2405290650Shselasky struct mlx5_ifc_field_select_r_roce_np_bits field_select_r_roce_np; 2406290650Shselasky u8 reserved_0[0x20]; 2407290650Shselasky}; 2408290650Shselasky 2409290650Shselaskystruct mlx5_ifc_bufferx_reg_bits { 2410290650Shselasky u8 reserved_0[0x6]; 2411290650Shselasky u8 lossy[0x1]; 2412290650Shselasky u8 epsb[0x1]; 2413290650Shselasky u8 reserved_1[0xc]; 2414290650Shselasky u8 size[0xc]; 2415290650Shselasky 2416290650Shselasky u8 xoff_threshold[0x10]; 2417290650Shselasky u8 xon_threshold[0x10]; 2418290650Shselasky}; 2419290650Shselasky 2420290650Shselaskystruct mlx5_ifc_config_item_bits { 2421290650Shselasky u8 valid[0x2]; 2422290650Shselasky u8 reserved_0[0x2]; 2423290650Shselasky u8 header_type[0x2]; 2424290650Shselasky u8 reserved_1[0x2]; 2425290650Shselasky u8 default_location[0x1]; 2426290650Shselasky u8 reserved_2[0x7]; 2427290650Shselasky u8 version[0x4]; 2428290650Shselasky u8 reserved_3[0x3]; 2429290650Shselasky u8 length[0x9]; 2430290650Shselasky 2431290650Shselasky u8 type[0x20]; 2432290650Shselasky 2433290650Shselasky u8 reserved_4[0x10]; 2434290650Shselasky u8 crc16[0x10]; 2435290650Shselasky}; 2436290650Shselasky 2437290650Shselaskystruct mlx5_ifc_nodnic_port_config_reg_bits { 2438290650Shselasky struct mlx5_ifc_nodnic_event_word_bits event; 2439290650Shselasky 2440290650Shselasky u8 network_en[0x1]; 2441290650Shselasky u8 dma_en[0x1]; 2442290650Shselasky u8 promisc_en[0x1]; 2443290650Shselasky u8 promisc_multicast_en[0x1]; 2444290650Shselasky u8 reserved_0[0x17]; 2445290650Shselasky u8 receive_filter_en[0x5]; 2446290650Shselasky 2447290650Shselasky u8 reserved_1[0x10]; 2448290650Shselasky u8 mac_47_32[0x10]; 2449290650Shselasky 2450290650Shselasky u8 mac_31_0[0x20]; 2451290650Shselasky 2452290650Shselasky u8 receive_filters_mgid_mac[64][0x8]; 2453290650Shselasky 2454290650Shselasky u8 gid[16][0x8]; 2455290650Shselasky 2456290650Shselasky u8 reserved_2[0x10]; 2457290650Shselasky u8 lid[0x10]; 2458290650Shselasky 2459290650Shselasky u8 reserved_3[0xc]; 2460290650Shselasky u8 sm_sl[0x4]; 2461290650Shselasky u8 sm_lid[0x10]; 2462290650Shselasky 2463290650Shselasky u8 completion_address_63_32[0x20]; 2464290650Shselasky 2465290650Shselasky u8 completion_address_31_12[0x14]; 2466290650Shselasky u8 reserved_4[0x6]; 2467290650Shselasky u8 log_cq_size[0x6]; 2468290650Shselasky 2469290650Shselasky u8 working_buffer_address_63_32[0x20]; 2470290650Shselasky 2471290650Shselasky u8 working_buffer_address_31_12[0x14]; 2472290650Shselasky u8 reserved_5[0xc]; 2473290650Shselasky 2474290650Shselasky struct mlx5_ifc_nodnic_cq_arming_word_bits arm_cq; 2475290650Shselasky 2476290650Shselasky u8 pkey_index[0x10]; 2477290650Shselasky u8 pkey[0x10]; 2478290650Shselasky 2479290650Shselasky struct mlx5_ifc_nodnic_ring_config_reg_bits send_ring0; 2480290650Shselasky 2481290650Shselasky struct mlx5_ifc_nodnic_ring_config_reg_bits send_ring1; 2482290650Shselasky 2483290650Shselasky struct mlx5_ifc_nodnic_ring_config_reg_bits receive_ring0; 2484290650Shselasky 2485290650Shselasky struct mlx5_ifc_nodnic_ring_config_reg_bits receive_ring1; 2486290650Shselasky 2487290650Shselasky u8 reserved_6[0x400]; 2488290650Shselasky}; 2489290650Shselasky 2490290650Shselaskyunion mlx5_ifc_event_auto_bits { 2491290650Shselasky struct mlx5_ifc_comp_event_bits comp_event; 2492290650Shselasky struct mlx5_ifc_dct_events_bits dct_events; 2493290650Shselasky struct mlx5_ifc_qp_events_bits qp_events; 2494290650Shselasky struct mlx5_ifc_wqe_associated_page_fault_event_bits wqe_associated_page_fault_event; 2495290650Shselasky struct mlx5_ifc_rdma_page_fault_event_bits rdma_page_fault_event; 2496290650Shselasky struct mlx5_ifc_cq_error_bits cq_error; 2497290650Shselasky struct mlx5_ifc_dropped_packet_logged_bits dropped_packet_logged; 2498290650Shselasky struct mlx5_ifc_port_state_change_event_bits port_state_change_event; 2499290650Shselasky struct mlx5_ifc_gpio_event_bits gpio_event; 2500290650Shselasky struct mlx5_ifc_db_bf_congestion_event_bits db_bf_congestion_event; 2501290650Shselasky struct mlx5_ifc_stall_vl_event_bits stall_vl_event; 2502290650Shselasky struct mlx5_ifc_cmd_inter_comp_event_bits cmd_inter_comp_event; 2503290650Shselasky struct mlx5_ifc_pages_req_event_bits pages_req_event; 2504290650Shselasky struct mlx5_ifc_nic_vport_change_event_bits nic_vport_change_event; 2505290650Shselasky u8 reserved_0[0xe0]; 2506290650Shselasky}; 2507290650Shselasky 2508290650Shselaskystruct mlx5_ifc_health_buffer_bits { 2509290650Shselasky u8 reserved_0[0x100]; 2510290650Shselasky 2511290650Shselasky u8 assert_existptr[0x20]; 2512290650Shselasky 2513290650Shselasky u8 assert_callra[0x20]; 2514290650Shselasky 2515290650Shselasky u8 reserved_1[0x40]; 2516290650Shselasky 2517290650Shselasky u8 fw_version[0x20]; 2518290650Shselasky 2519290650Shselasky u8 hw_id[0x20]; 2520290650Shselasky 2521290650Shselasky u8 reserved_2[0x20]; 2522290650Shselasky 2523290650Shselasky u8 irisc_index[0x8]; 2524290650Shselasky u8 synd[0x8]; 2525290650Shselasky u8 ext_synd[0x10]; 2526290650Shselasky}; 2527290650Shselasky 2528290650Shselaskystruct mlx5_ifc_register_loopback_control_bits { 2529290650Shselasky u8 no_lb[0x1]; 2530290650Shselasky u8 reserved_0[0x7]; 2531290650Shselasky u8 port[0x8]; 2532290650Shselasky u8 reserved_1[0x10]; 2533290650Shselasky 2534290650Shselasky u8 reserved_2[0x60]; 2535290650Shselasky}; 2536290650Shselasky 2537290650Shselaskystruct mlx5_ifc_icmd_set_wol_rol_out_bits { 2538290650Shselasky u8 reserved_0[0x40]; 2539290650Shselasky 2540290650Shselasky u8 reserved_1[0x10]; 2541290650Shselasky u8 rol_mode[0x8]; 2542290650Shselasky u8 wol_mode[0x8]; 2543290650Shselasky}; 2544290650Shselasky 2545290650Shselaskystruct mlx5_ifc_icmd_set_wol_rol_in_bits { 2546290650Shselasky u8 reserved_0[0x40]; 2547290650Shselasky 2548290650Shselasky u8 rol_mode_valid[0x1]; 2549290650Shselasky u8 wol_mode_valid[0x1]; 2550290650Shselasky u8 reserved_1[0xe]; 2551290650Shselasky u8 rol_mode[0x8]; 2552290650Shselasky u8 wol_mode[0x8]; 2553290650Shselasky 2554290650Shselasky u8 reserved_2[0x7a0]; 2555290650Shselasky}; 2556290650Shselasky 2557290650Shselaskystruct mlx5_ifc_icmd_set_virtual_mac_in_bits { 2558290650Shselasky u8 virtual_mac_en[0x1]; 2559290650Shselasky u8 mac_aux_v[0x1]; 2560290650Shselasky u8 reserved_0[0x1e]; 2561290650Shselasky 2562290650Shselasky u8 reserved_1[0x40]; 2563290650Shselasky 2564290650Shselasky struct mlx5_ifc_mac_address_layout_bits virtual_mac; 2565290650Shselasky 2566290650Shselasky u8 reserved_2[0x760]; 2567290650Shselasky}; 2568290650Shselasky 2569290650Shselaskystruct mlx5_ifc_icmd_query_virtual_mac_out_bits { 2570290650Shselasky u8 virtual_mac_en[0x1]; 2571290650Shselasky u8 mac_aux_v[0x1]; 2572290650Shselasky u8 reserved_0[0x1e]; 2573290650Shselasky 2574290650Shselasky struct mlx5_ifc_mac_address_layout_bits permanent_mac; 2575290650Shselasky 2576290650Shselasky struct mlx5_ifc_mac_address_layout_bits virtual_mac; 2577290650Shselasky 2578290650Shselasky u8 reserved_1[0x760]; 2579290650Shselasky}; 2580290650Shselasky 2581290650Shselaskystruct mlx5_ifc_icmd_query_fw_info_out_bits { 2582290650Shselasky struct mlx5_ifc_fw_version_bits fw_version; 2583290650Shselasky 2584290650Shselasky u8 reserved_0[0x10]; 2585290650Shselasky u8 hash_signature[0x10]; 2586290650Shselasky 2587290650Shselasky u8 psid[16][0x8]; 2588290650Shselasky 2589290650Shselasky u8 reserved_1[0x6e0]; 2590290650Shselasky}; 2591290650Shselasky 2592290650Shselaskystruct mlx5_ifc_icmd_query_cap_in_bits { 2593290650Shselasky u8 reserved_0[0x10]; 2594290650Shselasky u8 capability_group[0x10]; 2595290650Shselasky}; 2596290650Shselasky 2597290650Shselaskystruct mlx5_ifc_icmd_query_cap_general_bits { 2598290650Shselasky u8 nv_access[0x1]; 2599290650Shselasky u8 fw_info_psid[0x1]; 2600290650Shselasky u8 reserved_0[0x1e]; 2601290650Shselasky 2602290650Shselasky u8 reserved_1[0x16]; 2603290650Shselasky u8 rol_s[0x1]; 2604290650Shselasky u8 rol_g[0x1]; 2605290650Shselasky u8 reserved_2[0x1]; 2606290650Shselasky u8 wol_s[0x1]; 2607290650Shselasky u8 wol_g[0x1]; 2608290650Shselasky u8 wol_a[0x1]; 2609290650Shselasky u8 wol_b[0x1]; 2610290650Shselasky u8 wol_m[0x1]; 2611290650Shselasky u8 wol_u[0x1]; 2612290650Shselasky u8 wol_p[0x1]; 2613290650Shselasky}; 2614290650Shselasky 2615290650Shselaskystruct mlx5_ifc_icmd_ocbb_query_header_stats_out_bits { 2616290650Shselasky u8 status[0x8]; 2617290650Shselasky u8 reserved_0[0x18]; 2618290650Shselasky 2619290650Shselasky u8 reserved_1[0x7e0]; 2620290650Shselasky}; 2621290650Shselasky 2622290650Shselaskystruct mlx5_ifc_icmd_ocbb_query_etoc_stats_out_bits { 2623290650Shselasky u8 status[0x8]; 2624290650Shselasky u8 reserved_0[0x18]; 2625290650Shselasky 2626290650Shselasky u8 reserved_1[0x7e0]; 2627290650Shselasky}; 2628290650Shselasky 2629290650Shselaskystruct mlx5_ifc_icmd_ocbb_init_in_bits { 2630290650Shselasky u8 address_hi[0x20]; 2631290650Shselasky 2632290650Shselasky u8 address_lo[0x20]; 2633290650Shselasky 2634290650Shselasky u8 reserved_0[0x7c0]; 2635290650Shselasky}; 2636290650Shselasky 2637290650Shselaskystruct mlx5_ifc_icmd_init_ocsd_in_bits { 2638290650Shselasky u8 reserved_0[0x20]; 2639290650Shselasky 2640290650Shselasky u8 address_hi[0x20]; 2641290650Shselasky 2642290650Shselasky u8 address_lo[0x20]; 2643290650Shselasky 2644290650Shselasky u8 reserved_1[0x7a0]; 2645290650Shselasky}; 2646290650Shselasky 2647290650Shselaskystruct mlx5_ifc_icmd_access_reg_out_bits { 2648290650Shselasky u8 reserved_0[0x11]; 2649290650Shselasky u8 status[0x7]; 2650290650Shselasky u8 reserved_1[0x8]; 2651290650Shselasky 2652290650Shselasky u8 register_id[0x10]; 2653290650Shselasky u8 reserved_2[0x10]; 2654290650Shselasky 2655290650Shselasky u8 reserved_3[0x40]; 2656290650Shselasky 2657290650Shselasky u8 reserved_4[0x5]; 2658290650Shselasky u8 len[0xb]; 2659290650Shselasky u8 reserved_5[0x10]; 2660290650Shselasky 2661290650Shselasky u8 register_data[0][0x20]; 2662290650Shselasky}; 2663290650Shselasky 2664290650Shselaskyenum { 2665290650Shselasky MLX5_ICMD_ACCESS_REG_IN_METHOD_QUERY = 0x1, 2666290650Shselasky MLX5_ICMD_ACCESS_REG_IN_METHOD_WRITE = 0x2, 2667290650Shselasky}; 2668290650Shselasky 2669290650Shselaskystruct mlx5_ifc_icmd_access_reg_in_bits { 2670290650Shselasky u8 constant_1[0x5]; 2671290650Shselasky u8 constant_2[0xb]; 2672290650Shselasky u8 reserved_0[0x10]; 2673290650Shselasky 2674290650Shselasky u8 register_id[0x10]; 2675290650Shselasky u8 reserved_1[0x1]; 2676290650Shselasky u8 method[0x7]; 2677290650Shselasky u8 constant_3[0x8]; 2678290650Shselasky 2679290650Shselasky u8 reserved_2[0x40]; 2680290650Shselasky 2681290650Shselasky u8 constant_4[0x5]; 2682290650Shselasky u8 len[0xb]; 2683290650Shselasky u8 reserved_3[0x10]; 2684290650Shselasky 2685290650Shselasky u8 register_data[0][0x20]; 2686290650Shselasky}; 2687290650Shselasky 2688290650Shselaskystruct mlx5_ifc_teardown_hca_out_bits { 2689290650Shselasky u8 status[0x8]; 2690290650Shselasky u8 reserved_0[0x18]; 2691290650Shselasky 2692290650Shselasky u8 syndrome[0x20]; 2693290650Shselasky 2694290650Shselasky u8 reserved_1[0x40]; 2695290650Shselasky}; 2696290650Shselasky 2697290650Shselaskyenum { 2698290650Shselasky MLX5_TEARDOWN_HCA_IN_PROFILE_GRACEFUL_CLOSE = 0x0, 2699290650Shselasky MLX5_TEARDOWN_HCA_IN_PROFILE_PANIC_CLOSE = 0x1, 2700290650Shselasky}; 2701290650Shselasky 2702290650Shselaskystruct mlx5_ifc_teardown_hca_in_bits { 2703290650Shselasky u8 opcode[0x10]; 2704290650Shselasky u8 reserved_0[0x10]; 2705290650Shselasky 2706290650Shselasky u8 reserved_1[0x10]; 2707290650Shselasky u8 op_mod[0x10]; 2708290650Shselasky 2709290650Shselasky u8 reserved_2[0x10]; 2710290650Shselasky u8 profile[0x10]; 2711290650Shselasky 2712290650Shselasky u8 reserved_3[0x20]; 2713290650Shselasky}; 2714290650Shselasky 2715290650Shselaskystruct mlx5_ifc_suspend_qp_out_bits { 2716290650Shselasky u8 status[0x8]; 2717290650Shselasky u8 reserved_0[0x18]; 2718290650Shselasky 2719290650Shselasky u8 syndrome[0x20]; 2720290650Shselasky 2721290650Shselasky u8 reserved_1[0x40]; 2722290650Shselasky}; 2723290650Shselasky 2724290650Shselaskystruct mlx5_ifc_suspend_qp_in_bits { 2725290650Shselasky u8 opcode[0x10]; 2726290650Shselasky u8 reserved_0[0x10]; 2727290650Shselasky 2728290650Shselasky u8 reserved_1[0x10]; 2729290650Shselasky u8 op_mod[0x10]; 2730290650Shselasky 2731290650Shselasky u8 reserved_2[0x8]; 2732290650Shselasky u8 qpn[0x18]; 2733290650Shselasky 2734290650Shselasky u8 reserved_3[0x20]; 2735290650Shselasky}; 2736290650Shselasky 2737290650Shselaskystruct mlx5_ifc_sqerr2rts_qp_out_bits { 2738290650Shselasky u8 status[0x8]; 2739290650Shselasky u8 reserved_0[0x18]; 2740290650Shselasky 2741290650Shselasky u8 syndrome[0x20]; 2742290650Shselasky 2743290650Shselasky u8 reserved_1[0x40]; 2744290650Shselasky}; 2745290650Shselasky 2746290650Shselaskystruct mlx5_ifc_sqerr2rts_qp_in_bits { 2747290650Shselasky u8 opcode[0x10]; 2748290650Shselasky u8 reserved_0[0x10]; 2749290650Shselasky 2750290650Shselasky u8 reserved_1[0x10]; 2751290650Shselasky u8 op_mod[0x10]; 2752290650Shselasky 2753290650Shselasky u8 reserved_2[0x8]; 2754290650Shselasky u8 qpn[0x18]; 2755290650Shselasky 2756290650Shselasky u8 reserved_3[0x20]; 2757290650Shselasky 2758290650Shselasky u8 opt_param_mask[0x20]; 2759290650Shselasky 2760290650Shselasky u8 reserved_4[0x20]; 2761290650Shselasky 2762290650Shselasky struct mlx5_ifc_qpc_bits qpc; 2763290650Shselasky 2764290650Shselasky u8 reserved_5[0x80]; 2765290650Shselasky}; 2766290650Shselasky 2767290650Shselaskystruct mlx5_ifc_sqd2rts_qp_out_bits { 2768290650Shselasky u8 status[0x8]; 2769290650Shselasky u8 reserved_0[0x18]; 2770290650Shselasky 2771290650Shselasky u8 syndrome[0x20]; 2772290650Shselasky 2773290650Shselasky u8 reserved_1[0x40]; 2774290650Shselasky}; 2775290650Shselasky 2776290650Shselaskystruct mlx5_ifc_sqd2rts_qp_in_bits { 2777290650Shselasky u8 opcode[0x10]; 2778290650Shselasky u8 reserved_0[0x10]; 2779290650Shselasky 2780290650Shselasky u8 reserved_1[0x10]; 2781290650Shselasky u8 op_mod[0x10]; 2782290650Shselasky 2783290650Shselasky u8 reserved_2[0x8]; 2784290650Shselasky u8 qpn[0x18]; 2785290650Shselasky 2786290650Shselasky u8 reserved_3[0x20]; 2787290650Shselasky 2788290650Shselasky u8 opt_param_mask[0x20]; 2789290650Shselasky 2790290650Shselasky u8 reserved_4[0x20]; 2791290650Shselasky 2792290650Shselasky struct mlx5_ifc_qpc_bits qpc; 2793290650Shselasky 2794290650Shselasky u8 reserved_5[0x80]; 2795290650Shselasky}; 2796290650Shselasky 2797290650Shselaskystruct mlx5_ifc_snapshot_cap_bits { 2798290650Shselasky u8 reserved_0[0x1d]; 2799290650Shselasky u8 suspend_qp_uc[0x1]; 2800290650Shselasky u8 suspend_qp_ud[0x1]; 2801290650Shselasky u8 suspend_qp_rc[0x1]; 2802290650Shselasky 2803290650Shselasky u8 reserved_1[0x1c]; 2804290650Shselasky u8 restore_pd[0x1]; 2805290650Shselasky u8 restore_uar[0x1]; 2806290650Shselasky u8 restore_mkey[0x1]; 2807290650Shselasky u8 restore_qp[0x1]; 2808290650Shselasky 2809290650Shselasky u8 reserved_2[0x1e]; 2810290650Shselasky u8 named_mkey[0x1]; 2811290650Shselasky u8 named_qp[0x1]; 2812290650Shselasky 2813290650Shselasky u8 reserved_3[0x7a0]; 2814290650Shselasky}; 2815290650Shselasky 2816290650Shselaskystruct mlx5_ifc_set_wol_rol_out_bits { 2817290650Shselasky u8 status[0x8]; 2818290650Shselasky u8 reserved_0[0x18]; 2819290650Shselasky 2820290650Shselasky u8 syndrome[0x20]; 2821290650Shselasky 2822290650Shselasky u8 reserved_1[0x40]; 2823290650Shselasky}; 2824290650Shselasky 2825290650Shselaskystruct mlx5_ifc_set_wol_rol_in_bits { 2826290650Shselasky u8 opcode[0x10]; 2827290650Shselasky u8 reserved_0[0x10]; 2828290650Shselasky 2829290650Shselasky u8 reserved_1[0x10]; 2830290650Shselasky u8 op_mod[0x10]; 2831290650Shselasky 2832290650Shselasky u8 rol_mode_valid[0x1]; 2833290650Shselasky u8 wol_mode_valid[0x1]; 2834290650Shselasky u8 reserved_2[0xe]; 2835290650Shselasky u8 rol_mode[0x8]; 2836290650Shselasky u8 wol_mode[0x8]; 2837290650Shselasky 2838290650Shselasky u8 reserved_3[0x20]; 2839290650Shselasky}; 2840290650Shselasky 2841290650Shselaskystruct mlx5_ifc_set_roce_address_out_bits { 2842290650Shselasky u8 status[0x8]; 2843290650Shselasky u8 reserved_0[0x18]; 2844290650Shselasky 2845290650Shselasky u8 syndrome[0x20]; 2846290650Shselasky 2847290650Shselasky u8 reserved_1[0x40]; 2848290650Shselasky}; 2849290650Shselasky 2850290650Shselaskystruct mlx5_ifc_set_roce_address_in_bits { 2851290650Shselasky u8 opcode[0x10]; 2852290650Shselasky u8 reserved_0[0x10]; 2853290650Shselasky 2854290650Shselasky u8 reserved_1[0x10]; 2855290650Shselasky u8 op_mod[0x10]; 2856290650Shselasky 2857290650Shselasky u8 roce_address_index[0x10]; 2858290650Shselasky u8 reserved_2[0x10]; 2859290650Shselasky 2860290650Shselasky u8 reserved_3[0x20]; 2861290650Shselasky 2862290650Shselasky struct mlx5_ifc_roce_addr_layout_bits roce_address; 2863290650Shselasky}; 2864290650Shselasky 2865290650Shselaskystruct mlx5_ifc_set_rdb_out_bits { 2866290650Shselasky u8 status[0x8]; 2867290650Shselasky u8 reserved_0[0x18]; 2868290650Shselasky 2869290650Shselasky u8 syndrome[0x20]; 2870290650Shselasky 2871290650Shselasky u8 reserved_1[0x40]; 2872290650Shselasky}; 2873290650Shselasky 2874290650Shselaskystruct mlx5_ifc_set_rdb_in_bits { 2875290650Shselasky u8 opcode[0x10]; 2876290650Shselasky u8 reserved_0[0x10]; 2877290650Shselasky 2878290650Shselasky u8 reserved_1[0x10]; 2879290650Shselasky u8 op_mod[0x10]; 2880290650Shselasky 2881290650Shselasky u8 reserved_2[0x8]; 2882290650Shselasky u8 qpn[0x18]; 2883290650Shselasky 2884290650Shselasky u8 reserved_3[0x18]; 2885290650Shselasky u8 rdb_list_size[0x8]; 2886290650Shselasky 2887290650Shselasky struct mlx5_ifc_rdbc_bits rdb_context[0]; 2888290650Shselasky}; 2889290650Shselasky 2890290650Shselaskystruct mlx5_ifc_set_mad_demux_out_bits { 2891290650Shselasky u8 status[0x8]; 2892290650Shselasky u8 reserved_0[0x18]; 2893290650Shselasky 2894290650Shselasky u8 syndrome[0x20]; 2895290650Shselasky 2896290650Shselasky u8 reserved_1[0x40]; 2897290650Shselasky}; 2898290650Shselasky 2899290650Shselaskyenum { 2900290650Shselasky MLX5_SET_MAD_DEMUX_IN_DEMUX_MODE_PASS_ALL = 0x0, 2901290650Shselasky MLX5_SET_MAD_DEMUX_IN_DEMUX_MODE_SELECTIVE = 0x2, 2902290650Shselasky}; 2903290650Shselasky 2904290650Shselaskystruct mlx5_ifc_set_mad_demux_in_bits { 2905290650Shselasky u8 opcode[0x10]; 2906290650Shselasky u8 reserved_0[0x10]; 2907290650Shselasky 2908290650Shselasky u8 reserved_1[0x10]; 2909290650Shselasky u8 op_mod[0x10]; 2910290650Shselasky 2911290650Shselasky u8 reserved_2[0x20]; 2912290650Shselasky 2913290650Shselasky u8 reserved_3[0x6]; 2914290650Shselasky u8 demux_mode[0x2]; 2915290650Shselasky u8 reserved_4[0x18]; 2916290650Shselasky}; 2917290650Shselasky 2918290650Shselaskystruct mlx5_ifc_set_l2_table_entry_out_bits { 2919290650Shselasky u8 status[0x8]; 2920290650Shselasky u8 reserved_0[0x18]; 2921290650Shselasky 2922290650Shselasky u8 syndrome[0x20]; 2923290650Shselasky 2924290650Shselasky u8 reserved_1[0x40]; 2925290650Shselasky}; 2926290650Shselasky 2927290650Shselaskystruct mlx5_ifc_set_l2_table_entry_in_bits { 2928290650Shselasky u8 opcode[0x10]; 2929290650Shselasky u8 reserved_0[0x10]; 2930290650Shselasky 2931290650Shselasky u8 reserved_1[0x10]; 2932290650Shselasky u8 op_mod[0x10]; 2933290650Shselasky 2934290650Shselasky u8 reserved_2[0x60]; 2935290650Shselasky 2936290650Shselasky u8 reserved_3[0x8]; 2937290650Shselasky u8 table_index[0x18]; 2938290650Shselasky 2939290650Shselasky u8 reserved_4[0x20]; 2940290650Shselasky 2941290650Shselasky u8 reserved_5[0x13]; 2942290650Shselasky u8 vlan_valid[0x1]; 2943290650Shselasky u8 vlan[0xc]; 2944290650Shselasky 2945290650Shselasky struct mlx5_ifc_mac_address_layout_bits mac_address; 2946290650Shselasky 2947290650Shselasky u8 reserved_6[0xc0]; 2948290650Shselasky}; 2949290650Shselasky 2950290650Shselaskystruct mlx5_ifc_set_issi_out_bits { 2951290650Shselasky u8 status[0x8]; 2952290650Shselasky u8 reserved_0[0x18]; 2953290650Shselasky 2954290650Shselasky u8 syndrome[0x20]; 2955290650Shselasky 2956290650Shselasky u8 reserved_1[0x40]; 2957290650Shselasky}; 2958290650Shselasky 2959290650Shselaskystruct mlx5_ifc_set_issi_in_bits { 2960290650Shselasky u8 opcode[0x10]; 2961290650Shselasky u8 reserved_0[0x10]; 2962290650Shselasky 2963290650Shselasky u8 reserved_1[0x10]; 2964290650Shselasky u8 op_mod[0x10]; 2965290650Shselasky 2966290650Shselasky u8 reserved_2[0x10]; 2967290650Shselasky u8 current_issi[0x10]; 2968290650Shselasky 2969290650Shselasky u8 reserved_3[0x20]; 2970290650Shselasky}; 2971290650Shselasky 2972290650Shselaskystruct mlx5_ifc_set_hca_cap_out_bits { 2973290650Shselasky u8 status[0x8]; 2974290650Shselasky u8 reserved_0[0x18]; 2975290650Shselasky 2976290650Shselasky u8 syndrome[0x20]; 2977290650Shselasky 2978290650Shselasky u8 reserved_1[0x40]; 2979290650Shselasky}; 2980290650Shselasky 2981290650Shselaskystruct mlx5_ifc_set_hca_cap_in_bits { 2982290650Shselasky u8 opcode[0x10]; 2983290650Shselasky u8 reserved_0[0x10]; 2984290650Shselasky 2985290650Shselasky u8 reserved_1[0x10]; 2986290650Shselasky u8 op_mod[0x10]; 2987290650Shselasky 2988290650Shselasky u8 reserved_2[0x40]; 2989290650Shselasky 2990290650Shselasky union mlx5_ifc_hca_cap_union_bits capability; 2991290650Shselasky}; 2992290650Shselasky 2993290650Shselaskystruct mlx5_ifc_set_flow_table_root_out_bits { 2994290650Shselasky u8 status[0x8]; 2995290650Shselasky u8 reserved_0[0x18]; 2996290650Shselasky 2997290650Shselasky u8 syndrome[0x20]; 2998290650Shselasky 2999290650Shselasky u8 reserved_1[0x40]; 3000290650Shselasky}; 3001290650Shselasky 3002290650Shselaskystruct mlx5_ifc_set_flow_table_root_in_bits { 3003290650Shselasky u8 opcode[0x10]; 3004290650Shselasky u8 reserved_0[0x10]; 3005290650Shselasky 3006290650Shselasky u8 reserved_1[0x10]; 3007290650Shselasky u8 op_mod[0x10]; 3008290650Shselasky 3009290650Shselasky u8 other_vport[0x1]; 3010290650Shselasky u8 reserved_2[0xf]; 3011290650Shselasky u8 vport_number[0x10]; 3012290650Shselasky 3013290650Shselasky u8 reserved_3[0x20]; 3014290650Shselasky 3015290650Shselasky u8 table_type[0x8]; 3016290650Shselasky u8 reserved_4[0x18]; 3017290650Shselasky 3018290650Shselasky u8 reserved_5[0x8]; 3019290650Shselasky u8 table_id[0x18]; 3020290650Shselasky 3021290650Shselasky u8 reserved_6[0x140]; 3022290650Shselasky}; 3023290650Shselasky 3024290650Shselaskystruct mlx5_ifc_set_fte_out_bits { 3025290650Shselasky u8 status[0x8]; 3026290650Shselasky u8 reserved_0[0x18]; 3027290650Shselasky 3028290650Shselasky u8 syndrome[0x20]; 3029290650Shselasky 3030290650Shselasky u8 reserved_1[0x40]; 3031290650Shselasky}; 3032290650Shselasky 3033290650Shselaskystruct mlx5_ifc_set_fte_in_bits { 3034290650Shselasky u8 opcode[0x10]; 3035290650Shselasky u8 reserved_0[0x10]; 3036290650Shselasky 3037290650Shselasky u8 reserved_1[0x10]; 3038290650Shselasky u8 op_mod[0x10]; 3039290650Shselasky 3040290650Shselasky u8 other_vport[0x1]; 3041290650Shselasky u8 reserved_2[0xf]; 3042290650Shselasky u8 vport_number[0x10]; 3043290650Shselasky 3044290650Shselasky u8 reserved_3[0x20]; 3045290650Shselasky 3046290650Shselasky u8 table_type[0x8]; 3047290650Shselasky u8 reserved_4[0x18]; 3048290650Shselasky 3049290650Shselasky u8 reserved_5[0x8]; 3050290650Shselasky u8 table_id[0x18]; 3051290650Shselasky 3052290650Shselasky u8 reserved_6[0x18]; 3053290650Shselasky u8 modify_enable_mask[0x8]; 3054290650Shselasky 3055290650Shselasky u8 reserved_7[0x20]; 3056290650Shselasky 3057290650Shselasky u8 flow_index[0x20]; 3058290650Shselasky 3059290650Shselasky u8 reserved_8[0xe0]; 3060290650Shselasky 3061290650Shselasky struct mlx5_ifc_flow_context_bits flow_context; 3062290650Shselasky}; 3063290650Shselasky 3064290650Shselaskystruct mlx5_ifc_set_driver_version_out_bits { 3065290650Shselasky u8 status[0x8]; 3066290650Shselasky u8 reserved_0[0x18]; 3067290650Shselasky 3068290650Shselasky u8 syndrome[0x20]; 3069290650Shselasky 3070290650Shselasky u8 reserved_1[0x40]; 3071290650Shselasky}; 3072290650Shselasky 3073290650Shselaskystruct mlx5_ifc_set_driver_version_in_bits { 3074290650Shselasky u8 opcode[0x10]; 3075290650Shselasky u8 reserved_0[0x10]; 3076290650Shselasky 3077290650Shselasky u8 reserved_1[0x10]; 3078290650Shselasky u8 op_mod[0x10]; 3079290650Shselasky 3080290650Shselasky u8 reserved_2[0x40]; 3081290650Shselasky 3082290650Shselasky u8 driver_version[64][0x8]; 3083290650Shselasky}; 3084290650Shselasky 3085290650Shselaskystruct mlx5_ifc_set_dc_cnak_trace_out_bits { 3086290650Shselasky u8 status[0x8]; 3087290650Shselasky u8 reserved_0[0x18]; 3088290650Shselasky 3089290650Shselasky u8 syndrome[0x20]; 3090290650Shselasky 3091290650Shselasky u8 reserved_1[0x40]; 3092290650Shselasky}; 3093290650Shselasky 3094290650Shselaskystruct mlx5_ifc_set_dc_cnak_trace_in_bits { 3095290650Shselasky u8 opcode[0x10]; 3096290650Shselasky u8 reserved_0[0x10]; 3097290650Shselasky 3098290650Shselasky u8 reserved_1[0x10]; 3099290650Shselasky u8 op_mod[0x10]; 3100290650Shselasky 3101290650Shselasky u8 enable[0x1]; 3102290650Shselasky u8 reserved_2[0x1f]; 3103290650Shselasky 3104290650Shselasky u8 reserved_3[0x160]; 3105290650Shselasky 3106290650Shselasky struct mlx5_ifc_cmd_pas_bits pas; 3107290650Shselasky}; 3108290650Shselasky 3109290650Shselaskystruct mlx5_ifc_set_burst_size_out_bits { 3110290650Shselasky u8 status[0x8]; 3111290650Shselasky u8 reserved_0[0x18]; 3112290650Shselasky 3113290650Shselasky u8 syndrome[0x20]; 3114290650Shselasky 3115290650Shselasky u8 reserved_1[0x40]; 3116290650Shselasky}; 3117290650Shselasky 3118290650Shselaskystruct mlx5_ifc_set_burst_size_in_bits { 3119290650Shselasky u8 opcode[0x10]; 3120290650Shselasky u8 reserved_0[0x10]; 3121290650Shselasky 3122290650Shselasky u8 reserved_1[0x10]; 3123290650Shselasky u8 op_mod[0x10]; 3124290650Shselasky 3125290650Shselasky u8 reserved_2[0x20]; 3126290650Shselasky 3127290650Shselasky u8 reserved_3[0x9]; 3128290650Shselasky u8 device_burst_size[0x17]; 3129290650Shselasky}; 3130290650Shselasky 3131290650Shselaskystruct mlx5_ifc_rts2rts_qp_out_bits { 3132290650Shselasky u8 status[0x8]; 3133290650Shselasky u8 reserved_0[0x18]; 3134290650Shselasky 3135290650Shselasky u8 syndrome[0x20]; 3136290650Shselasky 3137290650Shselasky u8 reserved_1[0x40]; 3138290650Shselasky}; 3139290650Shselasky 3140290650Shselaskystruct mlx5_ifc_rts2rts_qp_in_bits { 3141290650Shselasky u8 opcode[0x10]; 3142290650Shselasky u8 reserved_0[0x10]; 3143290650Shselasky 3144290650Shselasky u8 reserved_1[0x10]; 3145290650Shselasky u8 op_mod[0x10]; 3146290650Shselasky 3147290650Shselasky u8 reserved_2[0x8]; 3148290650Shselasky u8 qpn[0x18]; 3149290650Shselasky 3150290650Shselasky u8 reserved_3[0x20]; 3151290650Shselasky 3152290650Shselasky u8 opt_param_mask[0x20]; 3153290650Shselasky 3154290650Shselasky u8 reserved_4[0x20]; 3155290650Shselasky 3156290650Shselasky struct mlx5_ifc_qpc_bits qpc; 3157290650Shselasky 3158290650Shselasky u8 reserved_5[0x80]; 3159290650Shselasky}; 3160290650Shselasky 3161290650Shselaskystruct mlx5_ifc_rtr2rts_qp_out_bits { 3162290650Shselasky u8 status[0x8]; 3163290650Shselasky u8 reserved_0[0x18]; 3164290650Shselasky 3165290650Shselasky u8 syndrome[0x20]; 3166290650Shselasky 3167290650Shselasky u8 reserved_1[0x40]; 3168290650Shselasky}; 3169290650Shselasky 3170290650Shselaskystruct mlx5_ifc_rtr2rts_qp_in_bits { 3171290650Shselasky u8 opcode[0x10]; 3172290650Shselasky u8 reserved_0[0x10]; 3173290650Shselasky 3174290650Shselasky u8 reserved_1[0x10]; 3175290650Shselasky u8 op_mod[0x10]; 3176290650Shselasky 3177290650Shselasky u8 reserved_2[0x8]; 3178290650Shselasky u8 qpn[0x18]; 3179290650Shselasky 3180290650Shselasky u8 reserved_3[0x20]; 3181290650Shselasky 3182290650Shselasky u8 opt_param_mask[0x20]; 3183290650Shselasky 3184290650Shselasky u8 reserved_4[0x20]; 3185290650Shselasky 3186290650Shselasky struct mlx5_ifc_qpc_bits qpc; 3187290650Shselasky 3188290650Shselasky u8 reserved_5[0x80]; 3189290650Shselasky}; 3190290650Shselasky 3191290650Shselaskystruct mlx5_ifc_rst2init_qp_out_bits { 3192290650Shselasky u8 status[0x8]; 3193290650Shselasky u8 reserved_0[0x18]; 3194290650Shselasky 3195290650Shselasky u8 syndrome[0x20]; 3196290650Shselasky 3197290650Shselasky u8 reserved_1[0x40]; 3198290650Shselasky}; 3199290650Shselasky 3200290650Shselaskystruct mlx5_ifc_rst2init_qp_in_bits { 3201290650Shselasky u8 opcode[0x10]; 3202290650Shselasky u8 reserved_0[0x10]; 3203290650Shselasky 3204290650Shselasky u8 reserved_1[0x10]; 3205290650Shselasky u8 op_mod[0x10]; 3206290650Shselasky 3207290650Shselasky u8 reserved_2[0x8]; 3208290650Shselasky u8 qpn[0x18]; 3209290650Shselasky 3210290650Shselasky u8 reserved_3[0x20]; 3211290650Shselasky 3212290650Shselasky u8 opt_param_mask[0x20]; 3213290650Shselasky 3214290650Shselasky u8 reserved_4[0x20]; 3215290650Shselasky 3216290650Shselasky struct mlx5_ifc_qpc_bits qpc; 3217290650Shselasky 3218290650Shselasky u8 reserved_5[0x80]; 3219290650Shselasky}; 3220290650Shselasky 3221290650Shselaskystruct mlx5_ifc_resume_qp_out_bits { 3222290650Shselasky u8 status[0x8]; 3223290650Shselasky u8 reserved_0[0x18]; 3224290650Shselasky 3225290650Shselasky u8 syndrome[0x20]; 3226290650Shselasky 3227290650Shselasky u8 reserved_1[0x40]; 3228290650Shselasky}; 3229290650Shselasky 3230290650Shselaskystruct mlx5_ifc_resume_qp_in_bits { 3231290650Shselasky u8 opcode[0x10]; 3232290650Shselasky u8 reserved_0[0x10]; 3233290650Shselasky 3234290650Shselasky u8 reserved_1[0x10]; 3235290650Shselasky u8 op_mod[0x10]; 3236290650Shselasky 3237290650Shselasky u8 reserved_2[0x8]; 3238290650Shselasky u8 qpn[0x18]; 3239290650Shselasky 3240290650Shselasky u8 reserved_3[0x20]; 3241290650Shselasky}; 3242290650Shselasky 3243290650Shselaskystruct mlx5_ifc_query_xrc_srq_out_bits { 3244290650Shselasky u8 status[0x8]; 3245290650Shselasky u8 reserved_0[0x18]; 3246290650Shselasky 3247290650Shselasky u8 syndrome[0x20]; 3248290650Shselasky 3249290650Shselasky u8 reserved_1[0x40]; 3250290650Shselasky 3251290650Shselasky struct mlx5_ifc_xrc_srqc_bits xrc_srq_context_entry; 3252290650Shselasky 3253290650Shselasky u8 reserved_2[0x600]; 3254290650Shselasky 3255290650Shselasky u8 pas[0][0x40]; 3256290650Shselasky}; 3257290650Shselasky 3258290650Shselaskystruct mlx5_ifc_query_xrc_srq_in_bits { 3259290650Shselasky u8 opcode[0x10]; 3260290650Shselasky u8 reserved_0[0x10]; 3261290650Shselasky 3262290650Shselasky u8 reserved_1[0x10]; 3263290650Shselasky u8 op_mod[0x10]; 3264290650Shselasky 3265290650Shselasky u8 reserved_2[0x8]; 3266290650Shselasky u8 xrc_srqn[0x18]; 3267290650Shselasky 3268290650Shselasky u8 reserved_3[0x20]; 3269290650Shselasky}; 3270290650Shselasky 3271290650Shselaskystruct mlx5_ifc_query_wol_rol_out_bits { 3272290650Shselasky u8 status[0x8]; 3273290650Shselasky u8 reserved_0[0x18]; 3274290650Shselasky 3275290650Shselasky u8 syndrome[0x20]; 3276290650Shselasky 3277290650Shselasky u8 reserved_1[0x10]; 3278290650Shselasky u8 rol_mode[0x8]; 3279290650Shselasky u8 wol_mode[0x8]; 3280290650Shselasky 3281290650Shselasky u8 reserved_2[0x20]; 3282290650Shselasky}; 3283290650Shselasky 3284290650Shselaskystruct mlx5_ifc_query_wol_rol_in_bits { 3285290650Shselasky u8 opcode[0x10]; 3286290650Shselasky u8 reserved_0[0x10]; 3287290650Shselasky 3288290650Shselasky u8 reserved_1[0x10]; 3289290650Shselasky u8 op_mod[0x10]; 3290290650Shselasky 3291290650Shselasky u8 reserved_2[0x40]; 3292290650Shselasky}; 3293290650Shselasky 3294290650Shselaskyenum { 3295290650Shselasky MLX5_QUERY_VPORT_STATE_OUT_STATE_DOWN = 0x0, 3296290650Shselasky MLX5_QUERY_VPORT_STATE_OUT_STATE_UP = 0x1, 3297290650Shselasky}; 3298290650Shselasky 3299290650Shselaskystruct mlx5_ifc_query_vport_state_out_bits { 3300290650Shselasky u8 status[0x8]; 3301290650Shselasky u8 reserved_0[0x18]; 3302290650Shselasky 3303290650Shselasky u8 syndrome[0x20]; 3304290650Shselasky 3305290650Shselasky u8 reserved_1[0x20]; 3306290650Shselasky 3307290650Shselasky u8 reserved_2[0x18]; 3308290650Shselasky u8 admin_state[0x4]; 3309290650Shselasky u8 state[0x4]; 3310290650Shselasky}; 3311290650Shselasky 3312290650Shselaskyenum { 3313290650Shselasky MLX5_QUERY_VPORT_STATE_IN_OP_MOD_VNIC_VPORT = 0x0, 3314290650Shselasky MLX5_QUERY_VPORT_STATE_IN_OP_MOD_ESW_VPORT = 0x1, 3315290650Shselasky MLX5_QUERY_VPORT_STATE_IN_OP_MOD_UPLINK = 0x2, 3316290650Shselasky}; 3317290650Shselasky 3318290650Shselaskystruct mlx5_ifc_query_vport_state_in_bits { 3319290650Shselasky u8 opcode[0x10]; 3320290650Shselasky u8 reserved_0[0x10]; 3321290650Shselasky 3322290650Shselasky u8 reserved_1[0x10]; 3323290650Shselasky u8 op_mod[0x10]; 3324290650Shselasky 3325290650Shselasky u8 other_vport[0x1]; 3326290650Shselasky u8 reserved_2[0xf]; 3327290650Shselasky u8 vport_number[0x10]; 3328290650Shselasky 3329290650Shselasky u8 reserved_3[0x20]; 3330290650Shselasky}; 3331290650Shselasky 3332290650Shselaskystruct mlx5_ifc_query_vport_counter_out_bits { 3333290650Shselasky u8 status[0x8]; 3334290650Shselasky u8 reserved_0[0x18]; 3335290650Shselasky 3336290650Shselasky u8 syndrome[0x20]; 3337290650Shselasky 3338290650Shselasky u8 reserved_1[0x40]; 3339290650Shselasky 3340290650Shselasky struct mlx5_ifc_traffic_counter_bits received_errors; 3341290650Shselasky 3342290650Shselasky struct mlx5_ifc_traffic_counter_bits transmit_errors; 3343290650Shselasky 3344290650Shselasky struct mlx5_ifc_traffic_counter_bits received_ib_unicast; 3345290650Shselasky 3346290650Shselasky struct mlx5_ifc_traffic_counter_bits transmitted_ib_unicast; 3347290650Shselasky 3348290650Shselasky struct mlx5_ifc_traffic_counter_bits received_ib_multicast; 3349290650Shselasky 3350290650Shselasky struct mlx5_ifc_traffic_counter_bits transmitted_ib_multicast; 3351290650Shselasky 3352290650Shselasky struct mlx5_ifc_traffic_counter_bits received_eth_broadcast; 3353290650Shselasky 3354290650Shselasky struct mlx5_ifc_traffic_counter_bits transmitted_eth_broadcast; 3355290650Shselasky 3356290650Shselasky struct mlx5_ifc_traffic_counter_bits received_eth_unicast; 3357290650Shselasky 3358290650Shselasky struct mlx5_ifc_traffic_counter_bits transmitted_eth_unicast; 3359290650Shselasky 3360290650Shselasky struct mlx5_ifc_traffic_counter_bits received_eth_multicast; 3361290650Shselasky 3362290650Shselasky struct mlx5_ifc_traffic_counter_bits transmitted_eth_multicast; 3363290650Shselasky 3364290650Shselasky u8 reserved_2[0xa00]; 3365290650Shselasky}; 3366290650Shselasky 3367290650Shselaskyenum { 3368290650Shselasky MLX5_QUERY_VPORT_COUNTER_IN_OP_MOD_VPORT_COUNTERS = 0x0, 3369290650Shselasky}; 3370290650Shselasky 3371290650Shselaskystruct mlx5_ifc_query_vport_counter_in_bits { 3372290650Shselasky u8 opcode[0x10]; 3373290650Shselasky u8 reserved_0[0x10]; 3374290650Shselasky 3375290650Shselasky u8 reserved_1[0x10]; 3376290650Shselasky u8 op_mod[0x10]; 3377290650Shselasky 3378290650Shselasky u8 other_vport[0x1]; 3379290650Shselasky u8 reserved_2[0xb]; 3380290650Shselasky u8 port_num[0x4]; 3381290650Shselasky u8 vport_number[0x10]; 3382290650Shselasky 3383290650Shselasky u8 reserved_3[0x60]; 3384290650Shselasky 3385290650Shselasky u8 clear[0x1]; 3386290650Shselasky u8 reserved_4[0x1f]; 3387290650Shselasky 3388290650Shselasky u8 reserved_5[0x20]; 3389290650Shselasky}; 3390290650Shselasky 3391290650Shselaskystruct mlx5_ifc_query_tis_out_bits { 3392290650Shselasky u8 status[0x8]; 3393290650Shselasky u8 reserved_0[0x18]; 3394290650Shselasky 3395290650Shselasky u8 syndrome[0x20]; 3396290650Shselasky 3397290650Shselasky u8 reserved_1[0x40]; 3398290650Shselasky 3399290650Shselasky struct mlx5_ifc_tisc_bits tis_context; 3400290650Shselasky}; 3401290650Shselasky 3402290650Shselaskystruct mlx5_ifc_query_tis_in_bits { 3403290650Shselasky u8 opcode[0x10]; 3404290650Shselasky u8 reserved_0[0x10]; 3405290650Shselasky 3406290650Shselasky u8 reserved_1[0x10]; 3407290650Shselasky u8 op_mod[0x10]; 3408290650Shselasky 3409290650Shselasky u8 reserved_2[0x8]; 3410290650Shselasky u8 tisn[0x18]; 3411290650Shselasky 3412290650Shselasky u8 reserved_3[0x20]; 3413290650Shselasky}; 3414290650Shselasky 3415290650Shselaskystruct mlx5_ifc_query_tir_out_bits { 3416290650Shselasky u8 status[0x8]; 3417290650Shselasky u8 reserved_0[0x18]; 3418290650Shselasky 3419290650Shselasky u8 syndrome[0x20]; 3420290650Shselasky 3421290650Shselasky u8 reserved_1[0xc0]; 3422290650Shselasky 3423290650Shselasky struct mlx5_ifc_tirc_bits tir_context; 3424290650Shselasky}; 3425290650Shselasky 3426290650Shselaskystruct mlx5_ifc_query_tir_in_bits { 3427290650Shselasky u8 opcode[0x10]; 3428290650Shselasky u8 reserved_0[0x10]; 3429290650Shselasky 3430290650Shselasky u8 reserved_1[0x10]; 3431290650Shselasky u8 op_mod[0x10]; 3432290650Shselasky 3433290650Shselasky u8 reserved_2[0x8]; 3434290650Shselasky u8 tirn[0x18]; 3435290650Shselasky 3436290650Shselasky u8 reserved_3[0x20]; 3437290650Shselasky}; 3438290650Shselasky 3439290650Shselaskystruct mlx5_ifc_query_srq_out_bits { 3440290650Shselasky u8 status[0x8]; 3441290650Shselasky u8 reserved_0[0x18]; 3442290650Shselasky 3443290650Shselasky u8 syndrome[0x20]; 3444290650Shselasky 3445290650Shselasky u8 reserved_1[0x40]; 3446290650Shselasky 3447290650Shselasky struct mlx5_ifc_srqc_bits srq_context_entry; 3448290650Shselasky 3449290650Shselasky u8 reserved_2[0x600]; 3450290650Shselasky 3451290650Shselasky u8 pas[0][0x40]; 3452290650Shselasky}; 3453290650Shselasky 3454290650Shselaskystruct mlx5_ifc_query_srq_in_bits { 3455290650Shselasky u8 opcode[0x10]; 3456290650Shselasky u8 reserved_0[0x10]; 3457290650Shselasky 3458290650Shselasky u8 reserved_1[0x10]; 3459290650Shselasky u8 op_mod[0x10]; 3460290650Shselasky 3461290650Shselasky u8 reserved_2[0x8]; 3462290650Shselasky u8 srqn[0x18]; 3463290650Shselasky 3464290650Shselasky u8 reserved_3[0x20]; 3465290650Shselasky}; 3466290650Shselasky 3467290650Shselaskystruct mlx5_ifc_query_sq_out_bits { 3468290650Shselasky u8 status[0x8]; 3469290650Shselasky u8 reserved_0[0x18]; 3470290650Shselasky 3471290650Shselasky u8 syndrome[0x20]; 3472290650Shselasky 3473290650Shselasky u8 reserved_1[0xc0]; 3474290650Shselasky 3475290650Shselasky struct mlx5_ifc_sqc_bits sq_context; 3476290650Shselasky}; 3477290650Shselasky 3478290650Shselaskystruct mlx5_ifc_query_sq_in_bits { 3479290650Shselasky u8 opcode[0x10]; 3480290650Shselasky u8 reserved_0[0x10]; 3481290650Shselasky 3482290650Shselasky u8 reserved_1[0x10]; 3483290650Shselasky u8 op_mod[0x10]; 3484290650Shselasky 3485290650Shselasky u8 reserved_2[0x8]; 3486290650Shselasky u8 sqn[0x18]; 3487290650Shselasky 3488290650Shselasky u8 reserved_3[0x20]; 3489290650Shselasky}; 3490290650Shselasky 3491290650Shselaskystruct mlx5_ifc_query_special_contexts_out_bits { 3492290650Shselasky u8 status[0x8]; 3493290650Shselasky u8 reserved_0[0x18]; 3494290650Shselasky 3495290650Shselasky u8 syndrome[0x20]; 3496290650Shselasky 3497290650Shselasky u8 reserved_1[0x20]; 3498290650Shselasky 3499290650Shselasky u8 resd_lkey[0x20]; 3500290650Shselasky}; 3501290650Shselasky 3502290650Shselaskystruct mlx5_ifc_query_special_contexts_in_bits { 3503290650Shselasky u8 opcode[0x10]; 3504290650Shselasky u8 reserved_0[0x10]; 3505290650Shselasky 3506290650Shselasky u8 reserved_1[0x10]; 3507290650Shselasky u8 op_mod[0x10]; 3508290650Shselasky 3509290650Shselasky u8 reserved_2[0x40]; 3510290650Shselasky}; 3511290650Shselasky 3512290650Shselaskystruct mlx5_ifc_query_rqt_out_bits { 3513290650Shselasky u8 status[0x8]; 3514290650Shselasky u8 reserved_0[0x18]; 3515290650Shselasky 3516290650Shselasky u8 syndrome[0x20]; 3517290650Shselasky 3518290650Shselasky u8 reserved_1[0xc0]; 3519290650Shselasky 3520290650Shselasky struct mlx5_ifc_rqtc_bits rqt_context; 3521290650Shselasky}; 3522290650Shselasky 3523290650Shselaskystruct mlx5_ifc_query_rqt_in_bits { 3524290650Shselasky u8 opcode[0x10]; 3525290650Shselasky u8 reserved_0[0x10]; 3526290650Shselasky 3527290650Shselasky u8 reserved_1[0x10]; 3528290650Shselasky u8 op_mod[0x10]; 3529290650Shselasky 3530290650Shselasky u8 reserved_2[0x8]; 3531290650Shselasky u8 rqtn[0x18]; 3532290650Shselasky 3533290650Shselasky u8 reserved_3[0x20]; 3534290650Shselasky}; 3535290650Shselasky 3536290650Shselaskystruct mlx5_ifc_query_rq_out_bits { 3537290650Shselasky u8 status[0x8]; 3538290650Shselasky u8 reserved_0[0x18]; 3539290650Shselasky 3540290650Shselasky u8 syndrome[0x20]; 3541290650Shselasky 3542290650Shselasky u8 reserved_1[0xc0]; 3543290650Shselasky 3544290650Shselasky struct mlx5_ifc_rqc_bits rq_context; 3545290650Shselasky}; 3546290650Shselasky 3547290650Shselaskystruct mlx5_ifc_query_rq_in_bits { 3548290650Shselasky u8 opcode[0x10]; 3549290650Shselasky u8 reserved_0[0x10]; 3550290650Shselasky 3551290650Shselasky u8 reserved_1[0x10]; 3552290650Shselasky u8 op_mod[0x10]; 3553290650Shselasky 3554290650Shselasky u8 reserved_2[0x8]; 3555290650Shselasky u8 rqn[0x18]; 3556290650Shselasky 3557290650Shselasky u8 reserved_3[0x20]; 3558290650Shselasky}; 3559290650Shselasky 3560290650Shselaskystruct mlx5_ifc_query_roce_address_out_bits { 3561290650Shselasky u8 status[0x8]; 3562290650Shselasky u8 reserved_0[0x18]; 3563290650Shselasky 3564290650Shselasky u8 syndrome[0x20]; 3565290650Shselasky 3566290650Shselasky u8 reserved_1[0x40]; 3567290650Shselasky 3568290650Shselasky struct mlx5_ifc_roce_addr_layout_bits roce_address; 3569290650Shselasky}; 3570290650Shselasky 3571290650Shselaskystruct mlx5_ifc_query_roce_address_in_bits { 3572290650Shselasky u8 opcode[0x10]; 3573290650Shselasky u8 reserved_0[0x10]; 3574290650Shselasky 3575290650Shselasky u8 reserved_1[0x10]; 3576290650Shselasky u8 op_mod[0x10]; 3577290650Shselasky 3578290650Shselasky u8 roce_address_index[0x10]; 3579290650Shselasky u8 reserved_2[0x10]; 3580290650Shselasky 3581290650Shselasky u8 reserved_3[0x20]; 3582290650Shselasky}; 3583290650Shselasky 3584290650Shselaskystruct mlx5_ifc_query_rmp_out_bits { 3585290650Shselasky u8 status[0x8]; 3586290650Shselasky u8 reserved_0[0x18]; 3587290650Shselasky 3588290650Shselasky u8 syndrome[0x20]; 3589290650Shselasky 3590290650Shselasky u8 reserved_1[0xc0]; 3591290650Shselasky 3592290650Shselasky struct mlx5_ifc_rmpc_bits rmp_context; 3593290650Shselasky}; 3594290650Shselasky 3595290650Shselaskystruct mlx5_ifc_query_rmp_in_bits { 3596290650Shselasky u8 opcode[0x10]; 3597290650Shselasky u8 reserved_0[0x10]; 3598290650Shselasky 3599290650Shselasky u8 reserved_1[0x10]; 3600290650Shselasky u8 op_mod[0x10]; 3601290650Shselasky 3602290650Shselasky u8 reserved_2[0x8]; 3603290650Shselasky u8 rmpn[0x18]; 3604290650Shselasky 3605290650Shselasky u8 reserved_3[0x20]; 3606290650Shselasky}; 3607290650Shselasky 3608290650Shselaskystruct mlx5_ifc_query_rdb_out_bits { 3609290650Shselasky u8 status[0x8]; 3610290650Shselasky u8 reserved_0[0x18]; 3611290650Shselasky 3612290650Shselasky u8 syndrome[0x20]; 3613290650Shselasky 3614290650Shselasky u8 reserved_1[0x20]; 3615290650Shselasky 3616290650Shselasky u8 reserved_2[0x18]; 3617290650Shselasky u8 rdb_list_size[0x8]; 3618290650Shselasky 3619290650Shselasky struct mlx5_ifc_rdbc_bits rdb_context[0]; 3620290650Shselasky}; 3621290650Shselasky 3622290650Shselaskystruct mlx5_ifc_query_rdb_in_bits { 3623290650Shselasky u8 opcode[0x10]; 3624290650Shselasky u8 reserved_0[0x10]; 3625290650Shselasky 3626290650Shselasky u8 reserved_1[0x10]; 3627290650Shselasky u8 op_mod[0x10]; 3628290650Shselasky 3629290650Shselasky u8 reserved_2[0x8]; 3630290650Shselasky u8 qpn[0x18]; 3631290650Shselasky 3632290650Shselasky u8 reserved_3[0x20]; 3633290650Shselasky}; 3634290650Shselasky 3635290650Shselaskystruct mlx5_ifc_query_qp_out_bits { 3636290650Shselasky u8 status[0x8]; 3637290650Shselasky u8 reserved_0[0x18]; 3638290650Shselasky 3639290650Shselasky u8 syndrome[0x20]; 3640290650Shselasky 3641290650Shselasky u8 reserved_1[0x40]; 3642290650Shselasky 3643290650Shselasky u8 opt_param_mask[0x20]; 3644290650Shselasky 3645290650Shselasky u8 reserved_2[0x20]; 3646290650Shselasky 3647290650Shselasky struct mlx5_ifc_qpc_bits qpc; 3648290650Shselasky 3649290650Shselasky u8 reserved_3[0x80]; 3650290650Shselasky 3651290650Shselasky u8 pas[0][0x40]; 3652290650Shselasky}; 3653290650Shselasky 3654290650Shselaskystruct mlx5_ifc_query_qp_in_bits { 3655290650Shselasky u8 opcode[0x10]; 3656290650Shselasky u8 reserved_0[0x10]; 3657290650Shselasky 3658290650Shselasky u8 reserved_1[0x10]; 3659290650Shselasky u8 op_mod[0x10]; 3660290650Shselasky 3661290650Shselasky u8 reserved_2[0x8]; 3662290650Shselasky u8 qpn[0x18]; 3663290650Shselasky 3664290650Shselasky u8 reserved_3[0x20]; 3665290650Shselasky}; 3666290650Shselasky 3667290650Shselaskystruct mlx5_ifc_query_q_counter_out_bits { 3668290650Shselasky u8 status[0x8]; 3669290650Shselasky u8 reserved_0[0x18]; 3670290650Shselasky 3671290650Shselasky u8 syndrome[0x20]; 3672290650Shselasky 3673290650Shselasky u8 reserved_1[0x40]; 3674290650Shselasky 3675290650Shselasky u8 rx_write_requests[0x20]; 3676290650Shselasky 3677290650Shselasky u8 reserved_2[0x20]; 3678290650Shselasky 3679290650Shselasky u8 rx_read_requests[0x20]; 3680290650Shselasky 3681290650Shselasky u8 reserved_3[0x20]; 3682290650Shselasky 3683290650Shselasky u8 rx_atomic_requests[0x20]; 3684290650Shselasky 3685290650Shselasky u8 reserved_4[0x20]; 3686290650Shselasky 3687290650Shselasky u8 rx_dct_connect[0x20]; 3688290650Shselasky 3689290650Shselasky u8 reserved_5[0x20]; 3690290650Shselasky 3691290650Shselasky u8 out_of_buffer[0x20]; 3692290650Shselasky 3693290650Shselasky u8 reserved_6[0x20]; 3694290650Shselasky 3695290650Shselasky u8 out_of_sequence[0x20]; 3696290650Shselasky 3697290650Shselasky u8 reserved_7[0x620]; 3698290650Shselasky}; 3699290650Shselasky 3700290650Shselaskystruct mlx5_ifc_query_q_counter_in_bits { 3701290650Shselasky u8 opcode[0x10]; 3702290650Shselasky u8 reserved_0[0x10]; 3703290650Shselasky 3704290650Shselasky u8 reserved_1[0x10]; 3705290650Shselasky u8 op_mod[0x10]; 3706290650Shselasky 3707290650Shselasky u8 reserved_2[0x80]; 3708290650Shselasky 3709290650Shselasky u8 clear[0x1]; 3710290650Shselasky u8 reserved_3[0x1f]; 3711290650Shselasky 3712290650Shselasky u8 reserved_4[0x18]; 3713290650Shselasky u8 counter_set_id[0x8]; 3714290650Shselasky}; 3715290650Shselasky 3716290650Shselaskystruct mlx5_ifc_query_pages_out_bits { 3717290650Shselasky u8 status[0x8]; 3718290650Shselasky u8 reserved_0[0x18]; 3719290650Shselasky 3720290650Shselasky u8 syndrome[0x20]; 3721290650Shselasky 3722290650Shselasky u8 reserved_1[0x10]; 3723290650Shselasky u8 function_id[0x10]; 3724290650Shselasky 3725290650Shselasky u8 num_pages[0x20]; 3726290650Shselasky}; 3727290650Shselasky 3728290650Shselaskyenum { 3729290650Shselasky MLX5_BOOT_PAGES = 0x1, 3730290650Shselasky MLX5_INIT_PAGES = 0x2, 3731290650Shselasky MLX5_POST_INIT_PAGES = 0x3, 3732290650Shselasky}; 3733290650Shselasky 3734290650Shselaskystruct mlx5_ifc_query_pages_in_bits { 3735290650Shselasky u8 opcode[0x10]; 3736290650Shselasky u8 reserved_0[0x10]; 3737290650Shselasky 3738290650Shselasky u8 reserved_1[0x10]; 3739290650Shselasky u8 op_mod[0x10]; 3740290650Shselasky 3741290650Shselasky u8 reserved_2[0x10]; 3742290650Shselasky u8 function_id[0x10]; 3743290650Shselasky 3744290650Shselasky u8 reserved_3[0x20]; 3745290650Shselasky}; 3746290650Shselasky 3747290650Shselaskystruct mlx5_ifc_query_nic_vport_context_out_bits { 3748290650Shselasky u8 status[0x8]; 3749290650Shselasky u8 reserved_0[0x18]; 3750290650Shselasky 3751290650Shselasky u8 syndrome[0x20]; 3752290650Shselasky 3753290650Shselasky u8 reserved_1[0x40]; 3754290650Shselasky 3755290650Shselasky struct mlx5_ifc_nic_vport_context_bits nic_vport_context; 3756290650Shselasky}; 3757290650Shselasky 3758290650Shselaskystruct mlx5_ifc_query_nic_vport_context_in_bits { 3759290650Shselasky u8 opcode[0x10]; 3760290650Shselasky u8 reserved_0[0x10]; 3761290650Shselasky 3762290650Shselasky u8 reserved_1[0x10]; 3763290650Shselasky u8 op_mod[0x10]; 3764290650Shselasky 3765290650Shselasky u8 other_vport[0x1]; 3766290650Shselasky u8 reserved_2[0xf]; 3767290650Shselasky u8 vport_number[0x10]; 3768290650Shselasky 3769290650Shselasky u8 reserved_3[0x5]; 3770290650Shselasky u8 allowed_list_type[0x3]; 3771290650Shselasky u8 reserved_4[0x18]; 3772290650Shselasky}; 3773290650Shselasky 3774290650Shselaskystruct mlx5_ifc_query_mkey_out_bits { 3775290650Shselasky u8 status[0x8]; 3776290650Shselasky u8 reserved_0[0x18]; 3777290650Shselasky 3778290650Shselasky u8 syndrome[0x20]; 3779290650Shselasky 3780290650Shselasky u8 reserved_1[0x40]; 3781290650Shselasky 3782290650Shselasky struct mlx5_ifc_mkc_bits memory_key_mkey_entry; 3783290650Shselasky 3784290650Shselasky u8 reserved_2[0x600]; 3785290650Shselasky 3786290650Shselasky u8 bsf0_klm0_pas_mtt0_1[16][0x8]; 3787290650Shselasky 3788290650Shselasky u8 bsf1_klm1_pas_mtt2_3[16][0x8]; 3789290650Shselasky}; 3790290650Shselasky 3791290650Shselaskystruct mlx5_ifc_query_mkey_in_bits { 3792290650Shselasky u8 opcode[0x10]; 3793290650Shselasky u8 reserved_0[0x10]; 3794290650Shselasky 3795290650Shselasky u8 reserved_1[0x10]; 3796290650Shselasky u8 op_mod[0x10]; 3797290650Shselasky 3798290650Shselasky u8 reserved_2[0x8]; 3799290650Shselasky u8 mkey_index[0x18]; 3800290650Shselasky 3801290650Shselasky u8 pg_access[0x1]; 3802290650Shselasky u8 reserved_3[0x1f]; 3803290650Shselasky}; 3804290650Shselasky 3805290650Shselaskystruct mlx5_ifc_query_mad_demux_out_bits { 3806290650Shselasky u8 status[0x8]; 3807290650Shselasky u8 reserved_0[0x18]; 3808290650Shselasky 3809290650Shselasky u8 syndrome[0x20]; 3810290650Shselasky 3811290650Shselasky u8 reserved_1[0x40]; 3812290650Shselasky 3813290650Shselasky u8 mad_dumux_parameters_block[0x20]; 3814290650Shselasky}; 3815290650Shselasky 3816290650Shselaskystruct mlx5_ifc_query_mad_demux_in_bits { 3817290650Shselasky u8 opcode[0x10]; 3818290650Shselasky u8 reserved_0[0x10]; 3819290650Shselasky 3820290650Shselasky u8 reserved_1[0x10]; 3821290650Shselasky u8 op_mod[0x10]; 3822290650Shselasky 3823290650Shselasky u8 reserved_2[0x40]; 3824290650Shselasky}; 3825290650Shselasky 3826290650Shselaskystruct mlx5_ifc_query_l2_table_entry_out_bits { 3827290650Shselasky u8 status[0x8]; 3828290650Shselasky u8 reserved_0[0x18]; 3829290650Shselasky 3830290650Shselasky u8 syndrome[0x20]; 3831290650Shselasky 3832290650Shselasky u8 reserved_1[0xa0]; 3833290650Shselasky 3834290650Shselasky u8 reserved_2[0x13]; 3835290650Shselasky u8 vlan_valid[0x1]; 3836290650Shselasky u8 vlan[0xc]; 3837290650Shselasky 3838290650Shselasky struct mlx5_ifc_mac_address_layout_bits mac_address; 3839290650Shselasky 3840290650Shselasky u8 reserved_3[0xc0]; 3841290650Shselasky}; 3842290650Shselasky 3843290650Shselaskystruct mlx5_ifc_query_l2_table_entry_in_bits { 3844290650Shselasky u8 opcode[0x10]; 3845290650Shselasky u8 reserved_0[0x10]; 3846290650Shselasky 3847290650Shselasky u8 reserved_1[0x10]; 3848290650Shselasky u8 op_mod[0x10]; 3849290650Shselasky 3850290650Shselasky u8 reserved_2[0x60]; 3851290650Shselasky 3852290650Shselasky u8 reserved_3[0x8]; 3853290650Shselasky u8 table_index[0x18]; 3854290650Shselasky 3855290650Shselasky u8 reserved_4[0x140]; 3856290650Shselasky}; 3857290650Shselasky 3858290650Shselaskystruct mlx5_ifc_query_issi_out_bits { 3859290650Shselasky u8 status[0x8]; 3860290650Shselasky u8 reserved_0[0x18]; 3861290650Shselasky 3862290650Shselasky u8 syndrome[0x20]; 3863290650Shselasky 3864290650Shselasky u8 reserved_1[0x10]; 3865290650Shselasky u8 current_issi[0x10]; 3866290650Shselasky 3867290650Shselasky u8 reserved_2[0xa0]; 3868290650Shselasky 3869290650Shselasky u8 supported_issi_reserved[76][0x8]; 3870290650Shselasky u8 supported_issi_dw0[0x20]; 3871290650Shselasky}; 3872290650Shselasky 3873290650Shselaskystruct mlx5_ifc_query_issi_in_bits { 3874290650Shselasky u8 opcode[0x10]; 3875290650Shselasky u8 reserved_0[0x10]; 3876290650Shselasky 3877290650Shselasky u8 reserved_1[0x10]; 3878290650Shselasky u8 op_mod[0x10]; 3879290650Shselasky 3880290650Shselasky u8 reserved_2[0x40]; 3881290650Shselasky}; 3882290650Shselasky 3883290650Shselaskystruct mlx5_ifc_query_hca_vport_pkey_out_bits { 3884290650Shselasky u8 status[0x8]; 3885290650Shselasky u8 reserved_0[0x18]; 3886290650Shselasky 3887290650Shselasky u8 syndrome[0x20]; 3888290650Shselasky 3889290650Shselasky u8 reserved_1[0x40]; 3890290650Shselasky 3891290650Shselasky struct mlx5_ifc_pkey_bits pkey[0]; 3892290650Shselasky}; 3893290650Shselasky 3894290650Shselaskystruct mlx5_ifc_query_hca_vport_pkey_in_bits { 3895290650Shselasky u8 opcode[0x10]; 3896290650Shselasky u8 reserved_0[0x10]; 3897290650Shselasky 3898290650Shselasky u8 reserved_1[0x10]; 3899290650Shselasky u8 op_mod[0x10]; 3900290650Shselasky 3901290650Shselasky u8 other_vport[0x1]; 3902290650Shselasky u8 reserved_2[0xb]; 3903290650Shselasky u8 port_num[0x4]; 3904290650Shselasky u8 vport_number[0x10]; 3905290650Shselasky 3906290650Shselasky u8 reserved_3[0x10]; 3907290650Shselasky u8 pkey_index[0x10]; 3908290650Shselasky}; 3909290650Shselasky 3910290650Shselaskystruct mlx5_ifc_query_hca_vport_gid_out_bits { 3911290650Shselasky u8 status[0x8]; 3912290650Shselasky u8 reserved_0[0x18]; 3913290650Shselasky 3914290650Shselasky u8 syndrome[0x20]; 3915290650Shselasky 3916290650Shselasky u8 reserved_1[0x20]; 3917290650Shselasky 3918290650Shselasky u8 gids_num[0x10]; 3919290650Shselasky u8 reserved_2[0x10]; 3920290650Shselasky 3921290650Shselasky struct mlx5_ifc_array128_auto_bits gid[0]; 3922290650Shselasky}; 3923290650Shselasky 3924290650Shselaskystruct mlx5_ifc_query_hca_vport_gid_in_bits { 3925290650Shselasky u8 opcode[0x10]; 3926290650Shselasky u8 reserved_0[0x10]; 3927290650Shselasky 3928290650Shselasky u8 reserved_1[0x10]; 3929290650Shselasky u8 op_mod[0x10]; 3930290650Shselasky 3931290650Shselasky u8 other_vport[0x1]; 3932290650Shselasky u8 reserved_2[0xb]; 3933290650Shselasky u8 port_num[0x4]; 3934290650Shselasky u8 vport_number[0x10]; 3935290650Shselasky 3936290650Shselasky u8 reserved_3[0x10]; 3937290650Shselasky u8 gid_index[0x10]; 3938290650Shselasky}; 3939290650Shselasky 3940290650Shselaskystruct mlx5_ifc_query_hca_vport_context_out_bits { 3941290650Shselasky u8 status[0x8]; 3942290650Shselasky u8 reserved_0[0x18]; 3943290650Shselasky 3944290650Shselasky u8 syndrome[0x20]; 3945290650Shselasky 3946290650Shselasky u8 reserved_1[0x40]; 3947290650Shselasky 3948290650Shselasky struct mlx5_ifc_hca_vport_context_bits hca_vport_context; 3949290650Shselasky}; 3950290650Shselasky 3951290650Shselaskystruct mlx5_ifc_query_hca_vport_context_in_bits { 3952290650Shselasky u8 opcode[0x10]; 3953290650Shselasky u8 reserved_0[0x10]; 3954290650Shselasky 3955290650Shselasky u8 reserved_1[0x10]; 3956290650Shselasky u8 op_mod[0x10]; 3957290650Shselasky 3958290650Shselasky u8 other_vport[0x1]; 3959290650Shselasky u8 reserved_2[0xb]; 3960290650Shselasky u8 port_num[0x4]; 3961290650Shselasky u8 vport_number[0x10]; 3962290650Shselasky 3963290650Shselasky u8 reserved_3[0x20]; 3964290650Shselasky}; 3965290650Shselasky 3966290650Shselaskystruct mlx5_ifc_query_hca_cap_out_bits { 3967290650Shselasky u8 status[0x8]; 3968290650Shselasky u8 reserved_0[0x18]; 3969290650Shselasky 3970290650Shselasky u8 syndrome[0x20]; 3971290650Shselasky 3972290650Shselasky u8 reserved_1[0x40]; 3973290650Shselasky 3974290650Shselasky union mlx5_ifc_hca_cap_union_bits capability; 3975290650Shselasky}; 3976290650Shselasky 3977290650Shselaskystruct mlx5_ifc_query_hca_cap_in_bits { 3978290650Shselasky u8 opcode[0x10]; 3979290650Shselasky u8 reserved_0[0x10]; 3980290650Shselasky 3981290650Shselasky u8 reserved_1[0x10]; 3982290650Shselasky u8 op_mod[0x10]; 3983290650Shselasky 3984290650Shselasky u8 reserved_2[0x40]; 3985290650Shselasky}; 3986290650Shselasky 3987290650Shselaskystruct mlx5_ifc_query_flow_table_out_bits { 3988290650Shselasky u8 status[0x8]; 3989290650Shselasky u8 reserved_0[0x18]; 3990290650Shselasky 3991290650Shselasky u8 syndrome[0x20]; 3992290650Shselasky 3993290650Shselasky u8 reserved_1[0x80]; 3994290650Shselasky 3995290650Shselasky u8 reserved_2[0x8]; 3996290650Shselasky u8 level[0x8]; 3997290650Shselasky u8 reserved_3[0x8]; 3998290650Shselasky u8 log_size[0x8]; 3999290650Shselasky 4000290650Shselasky u8 reserved_4[0x120]; 4001290650Shselasky}; 4002290650Shselasky 4003290650Shselaskystruct mlx5_ifc_query_flow_table_in_bits { 4004290650Shselasky u8 opcode[0x10]; 4005290650Shselasky u8 reserved_0[0x10]; 4006290650Shselasky 4007290650Shselasky u8 reserved_1[0x10]; 4008290650Shselasky u8 op_mod[0x10]; 4009290650Shselasky 4010290650Shselasky u8 other_vport[0x1]; 4011290650Shselasky u8 reserved_2[0xf]; 4012290650Shselasky u8 vport_number[0x10]; 4013290650Shselasky 4014290650Shselasky u8 reserved_3[0x20]; 4015290650Shselasky 4016290650Shselasky u8 table_type[0x8]; 4017290650Shselasky u8 reserved_4[0x18]; 4018290650Shselasky 4019290650Shselasky u8 reserved_5[0x8]; 4020290650Shselasky u8 table_id[0x18]; 4021290650Shselasky 4022290650Shselasky u8 reserved_6[0x140]; 4023290650Shselasky}; 4024290650Shselasky 4025290650Shselaskystruct mlx5_ifc_query_fte_out_bits { 4026290650Shselasky u8 status[0x8]; 4027290650Shselasky u8 reserved_0[0x18]; 4028290650Shselasky 4029290650Shselasky u8 syndrome[0x20]; 4030290650Shselasky 4031290650Shselasky u8 reserved_1[0x1c0]; 4032290650Shselasky 4033290650Shselasky struct mlx5_ifc_flow_context_bits flow_context; 4034290650Shselasky}; 4035290650Shselasky 4036290650Shselaskystruct mlx5_ifc_query_fte_in_bits { 4037290650Shselasky u8 opcode[0x10]; 4038290650Shselasky u8 reserved_0[0x10]; 4039290650Shselasky 4040290650Shselasky u8 reserved_1[0x10]; 4041290650Shselasky u8 op_mod[0x10]; 4042290650Shselasky 4043290650Shselasky u8 other_vport[0x1]; 4044290650Shselasky u8 reserved_2[0xf]; 4045290650Shselasky u8 vport_number[0x10]; 4046290650Shselasky 4047290650Shselasky u8 reserved_3[0x20]; 4048290650Shselasky 4049290650Shselasky u8 table_type[0x8]; 4050290650Shselasky u8 reserved_4[0x18]; 4051290650Shselasky 4052290650Shselasky u8 reserved_5[0x8]; 4053290650Shselasky u8 table_id[0x18]; 4054290650Shselasky 4055290650Shselasky u8 reserved_6[0x40]; 4056290650Shselasky 4057290650Shselasky u8 flow_index[0x20]; 4058290650Shselasky 4059290650Shselasky u8 reserved_7[0xe0]; 4060290650Shselasky}; 4061290650Shselasky 4062290650Shselaskyenum { 4063290650Shselasky MLX5_QUERY_FLOW_GROUP_OUT_MATCH_CRITERIA_ENABLE_OUTER_HEADERS = 0x0, 4064290650Shselasky MLX5_QUERY_FLOW_GROUP_OUT_MATCH_CRITERIA_ENABLE_MISC_PARAMETERS = 0x1, 4065290650Shselasky MLX5_QUERY_FLOW_GROUP_OUT_MATCH_CRITERIA_ENABLE_INNER_HEADERS = 0x2, 4066290650Shselasky}; 4067290650Shselasky 4068290650Shselaskystruct mlx5_ifc_query_flow_group_out_bits { 4069290650Shselasky u8 status[0x8]; 4070290650Shselasky u8 reserved_0[0x18]; 4071290650Shselasky 4072290650Shselasky u8 syndrome[0x20]; 4073290650Shselasky 4074290650Shselasky u8 reserved_1[0xa0]; 4075290650Shselasky 4076290650Shselasky u8 start_flow_index[0x20]; 4077290650Shselasky 4078290650Shselasky u8 reserved_2[0x20]; 4079290650Shselasky 4080290650Shselasky u8 end_flow_index[0x20]; 4081290650Shselasky 4082290650Shselasky u8 reserved_3[0xa0]; 4083290650Shselasky 4084290650Shselasky u8 reserved_4[0x18]; 4085290650Shselasky u8 match_criteria_enable[0x8]; 4086290650Shselasky 4087290650Shselasky struct mlx5_ifc_fte_match_param_bits match_criteria; 4088290650Shselasky 4089290650Shselasky u8 reserved_5[0xe00]; 4090290650Shselasky}; 4091290650Shselasky 4092290650Shselaskystruct mlx5_ifc_query_flow_group_in_bits { 4093290650Shselasky u8 opcode[0x10]; 4094290650Shselasky u8 reserved_0[0x10]; 4095290650Shselasky 4096290650Shselasky u8 reserved_1[0x10]; 4097290650Shselasky u8 op_mod[0x10]; 4098290650Shselasky 4099290650Shselasky u8 other_vport[0x1]; 4100290650Shselasky u8 reserved_2[0xf]; 4101290650Shselasky u8 vport_number[0x10]; 4102290650Shselasky 4103290650Shselasky u8 reserved_3[0x20]; 4104290650Shselasky 4105290650Shselasky u8 table_type[0x8]; 4106290650Shselasky u8 reserved_4[0x18]; 4107290650Shselasky 4108290650Shselasky u8 reserved_5[0x8]; 4109290650Shselasky u8 table_id[0x18]; 4110290650Shselasky 4111290650Shselasky u8 group_id[0x20]; 4112290650Shselasky 4113290650Shselasky u8 reserved_6[0x120]; 4114290650Shselasky}; 4115290650Shselasky 4116290650Shselaskystruct mlx5_ifc_query_flow_counter_out_bits { 4117290650Shselasky u8 status[0x8]; 4118290650Shselasky u8 reserved_0[0x18]; 4119290650Shselasky 4120290650Shselasky u8 syndrome[0x20]; 4121290650Shselasky 4122290650Shselasky u8 reserved_1[0x40]; 4123290650Shselasky 4124290650Shselasky struct mlx5_ifc_traffic_counter_bits flow_statistics; 4125290650Shselasky 4126290650Shselasky u8 reserved_2[0x700]; 4127290650Shselasky}; 4128290650Shselasky 4129290650Shselaskystruct mlx5_ifc_query_flow_counter_in_bits { 4130290650Shselasky u8 opcode[0x10]; 4131290650Shselasky u8 reserved_0[0x10]; 4132290650Shselasky 4133290650Shselasky u8 reserved_1[0x10]; 4134290650Shselasky u8 op_mod[0x10]; 4135290650Shselasky 4136290650Shselasky u8 reserved_2[0x80]; 4137290650Shselasky 4138290650Shselasky u8 clear[0x1]; 4139290650Shselasky u8 reserved_3[0x1f]; 4140290650Shselasky 4141290650Shselasky u8 reserved_4[0x10]; 4142290650Shselasky u8 flow_counter_id[0x10]; 4143290650Shselasky}; 4144290650Shselasky 4145290650Shselaskystruct mlx5_ifc_query_esw_vport_context_out_bits { 4146290650Shselasky u8 status[0x8]; 4147290650Shselasky u8 reserved_0[0x18]; 4148290650Shselasky 4149290650Shselasky u8 syndrome[0x20]; 4150290650Shselasky 4151290650Shselasky u8 reserved_1[0x40]; 4152290650Shselasky 4153290650Shselasky struct mlx5_ifc_esw_vport_context_bits esw_vport_context; 4154290650Shselasky}; 4155290650Shselasky 4156290650Shselaskystruct mlx5_ifc_query_esw_vport_context_in_bits { 4157290650Shselasky u8 opcode[0x10]; 4158290650Shselasky u8 reserved_0[0x10]; 4159290650Shselasky 4160290650Shselasky u8 reserved_1[0x10]; 4161290650Shselasky u8 op_mod[0x10]; 4162290650Shselasky 4163290650Shselasky u8 other_vport[0x1]; 4164290650Shselasky u8 reserved_2[0xf]; 4165290650Shselasky u8 vport_number[0x10]; 4166290650Shselasky 4167290650Shselasky u8 reserved_3[0x20]; 4168290650Shselasky}; 4169290650Shselasky 4170290650Shselaskystruct mlx5_ifc_query_eq_out_bits { 4171290650Shselasky u8 status[0x8]; 4172290650Shselasky u8 reserved_0[0x18]; 4173290650Shselasky 4174290650Shselasky u8 syndrome[0x20]; 4175290650Shselasky 4176290650Shselasky u8 reserved_1[0x40]; 4177290650Shselasky 4178290650Shselasky struct mlx5_ifc_eqc_bits eq_context_entry; 4179290650Shselasky 4180290650Shselasky u8 reserved_2[0x40]; 4181290650Shselasky 4182290650Shselasky u8 event_bitmask[0x40]; 4183290650Shselasky 4184290650Shselasky u8 reserved_3[0x580]; 4185290650Shselasky 4186290650Shselasky u8 pas[0][0x40]; 4187290650Shselasky}; 4188290650Shselasky 4189290650Shselaskystruct mlx5_ifc_query_eq_in_bits { 4190290650Shselasky u8 opcode[0x10]; 4191290650Shselasky u8 reserved_0[0x10]; 4192290650Shselasky 4193290650Shselasky u8 reserved_1[0x10]; 4194290650Shselasky u8 op_mod[0x10]; 4195290650Shselasky 4196290650Shselasky u8 reserved_2[0x18]; 4197290650Shselasky u8 eq_number[0x8]; 4198290650Shselasky 4199290650Shselasky u8 reserved_3[0x20]; 4200290650Shselasky}; 4201290650Shselasky 4202290650Shselaskystruct mlx5_ifc_query_dct_out_bits { 4203290650Shselasky u8 status[0x8]; 4204290650Shselasky u8 reserved_0[0x18]; 4205290650Shselasky 4206290650Shselasky u8 syndrome[0x20]; 4207290650Shselasky 4208290650Shselasky u8 reserved_1[0x40]; 4209290650Shselasky 4210290650Shselasky struct mlx5_ifc_dctc_bits dct_context_entry; 4211290650Shselasky 4212290650Shselasky u8 reserved_2[0x180]; 4213290650Shselasky}; 4214290650Shselasky 4215290650Shselaskystruct mlx5_ifc_query_dct_in_bits { 4216290650Shselasky u8 opcode[0x10]; 4217290650Shselasky u8 reserved_0[0x10]; 4218290650Shselasky 4219290650Shselasky u8 reserved_1[0x10]; 4220290650Shselasky u8 op_mod[0x10]; 4221290650Shselasky 4222290650Shselasky u8 reserved_2[0x8]; 4223290650Shselasky u8 dctn[0x18]; 4224290650Shselasky 4225290650Shselasky u8 reserved_3[0x20]; 4226290650Shselasky}; 4227290650Shselasky 4228290650Shselaskystruct mlx5_ifc_query_dc_cnak_trace_out_bits { 4229290650Shselasky u8 status[0x8]; 4230290650Shselasky u8 reserved_0[0x18]; 4231290650Shselasky 4232290650Shselasky u8 syndrome[0x20]; 4233290650Shselasky 4234290650Shselasky u8 enable[0x1]; 4235290650Shselasky u8 reserved_1[0x1f]; 4236290650Shselasky 4237290650Shselasky u8 reserved_2[0x160]; 4238290650Shselasky 4239290650Shselasky struct mlx5_ifc_cmd_pas_bits pas; 4240290650Shselasky}; 4241290650Shselasky 4242290650Shselaskystruct mlx5_ifc_query_dc_cnak_trace_in_bits { 4243290650Shselasky u8 opcode[0x10]; 4244290650Shselasky u8 reserved_0[0x10]; 4245290650Shselasky 4246290650Shselasky u8 reserved_1[0x10]; 4247290650Shselasky u8 op_mod[0x10]; 4248290650Shselasky 4249290650Shselasky u8 reserved_2[0x40]; 4250290650Shselasky}; 4251290650Shselasky 4252290650Shselaskystruct mlx5_ifc_query_cq_out_bits { 4253290650Shselasky u8 status[0x8]; 4254290650Shselasky u8 reserved_0[0x18]; 4255290650Shselasky 4256290650Shselasky u8 syndrome[0x20]; 4257290650Shselasky 4258290650Shselasky u8 reserved_1[0x40]; 4259290650Shselasky 4260290650Shselasky struct mlx5_ifc_cqc_bits cq_context; 4261290650Shselasky 4262290650Shselasky u8 reserved_2[0x600]; 4263290650Shselasky 4264290650Shselasky u8 pas[0][0x40]; 4265290650Shselasky}; 4266290650Shselasky 4267290650Shselaskystruct mlx5_ifc_query_cq_in_bits { 4268290650Shselasky u8 opcode[0x10]; 4269290650Shselasky u8 reserved_0[0x10]; 4270290650Shselasky 4271290650Shselasky u8 reserved_1[0x10]; 4272290650Shselasky u8 op_mod[0x10]; 4273290650Shselasky 4274290650Shselasky u8 reserved_2[0x8]; 4275290650Shselasky u8 cqn[0x18]; 4276290650Shselasky 4277290650Shselasky u8 reserved_3[0x20]; 4278290650Shselasky}; 4279290650Shselasky 4280290650Shselaskystruct mlx5_ifc_query_cong_status_out_bits { 4281290650Shselasky u8 status[0x8]; 4282290650Shselasky u8 reserved_0[0x18]; 4283290650Shselasky 4284290650Shselasky u8 syndrome[0x20]; 4285290650Shselasky 4286290650Shselasky u8 reserved_1[0x20]; 4287290650Shselasky 4288290650Shselasky u8 enable[0x1]; 4289290650Shselasky u8 tag_enable[0x1]; 4290290650Shselasky u8 reserved_2[0x1e]; 4291290650Shselasky}; 4292290650Shselasky 4293290650Shselaskystruct mlx5_ifc_query_cong_status_in_bits { 4294290650Shselasky u8 opcode[0x10]; 4295290650Shselasky u8 reserved_0[0x10]; 4296290650Shselasky 4297290650Shselasky u8 reserved_1[0x10]; 4298290650Shselasky u8 op_mod[0x10]; 4299290650Shselasky 4300290650Shselasky u8 reserved_2[0x18]; 4301290650Shselasky u8 priority[0x4]; 4302290650Shselasky u8 cong_protocol[0x4]; 4303290650Shselasky 4304290650Shselasky u8 reserved_3[0x20]; 4305290650Shselasky}; 4306290650Shselasky 4307290650Shselaskystruct mlx5_ifc_query_cong_statistics_out_bits { 4308290650Shselasky u8 status[0x8]; 4309290650Shselasky u8 reserved_0[0x18]; 4310290650Shselasky 4311290650Shselasky u8 syndrome[0x20]; 4312290650Shselasky 4313290650Shselasky u8 reserved_1[0x40]; 4314290650Shselasky 4315290650Shselasky u8 cur_flows[0x20]; 4316290650Shselasky 4317290650Shselasky u8 sum_flows[0x20]; 4318290650Shselasky 4319290650Shselasky u8 cnp_ignored_high[0x20]; 4320290650Shselasky 4321290650Shselasky u8 cnp_ignored_low[0x20]; 4322290650Shselasky 4323290650Shselasky u8 cnp_handled_high[0x20]; 4324290650Shselasky 4325290650Shselasky u8 cnp_handled_low[0x20]; 4326290650Shselasky 4327290650Shselasky u8 reserved_2[0x100]; 4328290650Shselasky 4329290650Shselasky u8 time_stamp_high[0x20]; 4330290650Shselasky 4331290650Shselasky u8 time_stamp_low[0x20]; 4332290650Shselasky 4333290650Shselasky u8 accumulators_period[0x20]; 4334290650Shselasky 4335290650Shselasky u8 ecn_marked_roce_packets_high[0x20]; 4336290650Shselasky 4337290650Shselasky u8 ecn_marked_roce_packets_low[0x20]; 4338290650Shselasky 4339290650Shselasky u8 cnps_sent_high[0x20]; 4340290650Shselasky 4341290650Shselasky u8 cnps_sent_low[0x20]; 4342290650Shselasky 4343290650Shselasky u8 reserved_3[0x560]; 4344290650Shselasky}; 4345290650Shselasky 4346290650Shselaskystruct mlx5_ifc_query_cong_statistics_in_bits { 4347290650Shselasky u8 opcode[0x10]; 4348290650Shselasky u8 reserved_0[0x10]; 4349290650Shselasky 4350290650Shselasky u8 reserved_1[0x10]; 4351290650Shselasky u8 op_mod[0x10]; 4352290650Shselasky 4353290650Shselasky u8 clear[0x1]; 4354290650Shselasky u8 reserved_2[0x1f]; 4355290650Shselasky 4356290650Shselasky u8 reserved_3[0x20]; 4357290650Shselasky}; 4358290650Shselasky 4359290650Shselaskystruct mlx5_ifc_query_cong_params_out_bits { 4360290650Shselasky u8 status[0x8]; 4361290650Shselasky u8 reserved_0[0x18]; 4362290650Shselasky 4363290650Shselasky u8 syndrome[0x20]; 4364290650Shselasky 4365290650Shselasky u8 reserved_1[0x40]; 4366290650Shselasky 4367290650Shselasky union mlx5_ifc_cong_control_roce_ecn_auto_bits congestion_parameters; 4368290650Shselasky}; 4369290650Shselasky 4370290650Shselaskystruct mlx5_ifc_query_cong_params_in_bits { 4371290650Shselasky u8 opcode[0x10]; 4372290650Shselasky u8 reserved_0[0x10]; 4373290650Shselasky 4374290650Shselasky u8 reserved_1[0x10]; 4375290650Shselasky u8 op_mod[0x10]; 4376290650Shselasky 4377290650Shselasky u8 reserved_2[0x1c]; 4378290650Shselasky u8 cong_protocol[0x4]; 4379290650Shselasky 4380290650Shselasky u8 reserved_3[0x20]; 4381290650Shselasky}; 4382290650Shselasky 4383290650Shselaskystruct mlx5_ifc_query_burst_size_out_bits { 4384290650Shselasky u8 status[0x8]; 4385290650Shselasky u8 reserved_0[0x18]; 4386290650Shselasky 4387290650Shselasky u8 syndrome[0x20]; 4388290650Shselasky 4389290650Shselasky u8 reserved_1[0x20]; 4390290650Shselasky 4391290650Shselasky u8 reserved_2[0x9]; 4392290650Shselasky u8 device_burst_size[0x17]; 4393290650Shselasky}; 4394290650Shselasky 4395290650Shselaskystruct mlx5_ifc_query_burst_size_in_bits { 4396290650Shselasky u8 opcode[0x10]; 4397290650Shselasky u8 reserved_0[0x10]; 4398290650Shselasky 4399290650Shselasky u8 reserved_1[0x10]; 4400290650Shselasky u8 op_mod[0x10]; 4401290650Shselasky 4402290650Shselasky u8 reserved_2[0x40]; 4403290650Shselasky}; 4404290650Shselasky 4405290650Shselaskystruct mlx5_ifc_query_adapter_out_bits { 4406290650Shselasky u8 status[0x8]; 4407290650Shselasky u8 reserved_0[0x18]; 4408290650Shselasky 4409290650Shselasky u8 syndrome[0x20]; 4410290650Shselasky 4411290650Shselasky u8 reserved_1[0x40]; 4412290650Shselasky 4413290650Shselasky struct mlx5_ifc_query_adapter_param_block_bits query_adapter_struct; 4414290650Shselasky}; 4415290650Shselasky 4416290650Shselaskystruct mlx5_ifc_query_adapter_in_bits { 4417290650Shselasky u8 opcode[0x10]; 4418290650Shselasky u8 reserved_0[0x10]; 4419290650Shselasky 4420290650Shselasky u8 reserved_1[0x10]; 4421290650Shselasky u8 op_mod[0x10]; 4422290650Shselasky 4423290650Shselasky u8 reserved_2[0x40]; 4424290650Shselasky}; 4425290650Shselasky 4426290650Shselaskystruct mlx5_ifc_qp_2rst_out_bits { 4427290650Shselasky u8 status[0x8]; 4428290650Shselasky u8 reserved_0[0x18]; 4429290650Shselasky 4430290650Shselasky u8 syndrome[0x20]; 4431290650Shselasky 4432290650Shselasky u8 reserved_1[0x40]; 4433290650Shselasky}; 4434290650Shselasky 4435290650Shselaskystruct mlx5_ifc_qp_2rst_in_bits { 4436290650Shselasky u8 opcode[0x10]; 4437290650Shselasky u8 reserved_0[0x10]; 4438290650Shselasky 4439290650Shselasky u8 reserved_1[0x10]; 4440290650Shselasky u8 op_mod[0x10]; 4441290650Shselasky 4442290650Shselasky u8 reserved_2[0x8]; 4443290650Shselasky u8 qpn[0x18]; 4444290650Shselasky 4445290650Shselasky u8 reserved_3[0x20]; 4446290650Shselasky}; 4447290650Shselasky 4448290650Shselaskystruct mlx5_ifc_qp_2err_out_bits { 4449290650Shselasky u8 status[0x8]; 4450290650Shselasky u8 reserved_0[0x18]; 4451290650Shselasky 4452290650Shselasky u8 syndrome[0x20]; 4453290650Shselasky 4454290650Shselasky u8 reserved_1[0x40]; 4455290650Shselasky}; 4456290650Shselasky 4457290650Shselaskystruct mlx5_ifc_qp_2err_in_bits { 4458290650Shselasky u8 opcode[0x10]; 4459290650Shselasky u8 reserved_0[0x10]; 4460290650Shselasky 4461290650Shselasky u8 reserved_1[0x10]; 4462290650Shselasky u8 op_mod[0x10]; 4463290650Shselasky 4464290650Shselasky u8 reserved_2[0x8]; 4465290650Shselasky u8 qpn[0x18]; 4466290650Shselasky 4467290650Shselasky u8 reserved_3[0x20]; 4468290650Shselasky}; 4469290650Shselasky 4470290650Shselaskystruct mlx5_ifc_page_fault_resume_out_bits { 4471290650Shselasky u8 status[0x8]; 4472290650Shselasky u8 reserved_0[0x18]; 4473290650Shselasky 4474290650Shselasky u8 syndrome[0x20]; 4475290650Shselasky 4476290650Shselasky u8 reserved_1[0x40]; 4477290650Shselasky}; 4478290650Shselasky 4479290650Shselaskystruct mlx5_ifc_page_fault_resume_in_bits { 4480290650Shselasky u8 opcode[0x10]; 4481290650Shselasky u8 reserved_0[0x10]; 4482290650Shselasky 4483290650Shselasky u8 reserved_1[0x10]; 4484290650Shselasky u8 op_mod[0x10]; 4485290650Shselasky 4486290650Shselasky u8 error[0x1]; 4487290650Shselasky u8 reserved_2[0x4]; 4488290650Shselasky u8 rdma[0x1]; 4489290650Shselasky u8 read_write[0x1]; 4490290650Shselasky u8 req_res[0x1]; 4491290650Shselasky u8 qpn[0x18]; 4492290650Shselasky 4493290650Shselasky u8 reserved_3[0x20]; 4494290650Shselasky}; 4495290650Shselasky 4496290650Shselaskystruct mlx5_ifc_nop_out_bits { 4497290650Shselasky u8 status[0x8]; 4498290650Shselasky u8 reserved_0[0x18]; 4499290650Shselasky 4500290650Shselasky u8 syndrome[0x20]; 4501290650Shselasky 4502290650Shselasky u8 reserved_1[0x40]; 4503290650Shselasky}; 4504290650Shselasky 4505290650Shselaskystruct mlx5_ifc_nop_in_bits { 4506290650Shselasky u8 opcode[0x10]; 4507290650Shselasky u8 reserved_0[0x10]; 4508290650Shselasky 4509290650Shselasky u8 reserved_1[0x10]; 4510290650Shselasky u8 op_mod[0x10]; 4511290650Shselasky 4512290650Shselasky u8 reserved_2[0x40]; 4513290650Shselasky}; 4514290650Shselasky 4515290650Shselaskystruct mlx5_ifc_modify_vport_state_out_bits { 4516290650Shselasky u8 status[0x8]; 4517290650Shselasky u8 reserved_0[0x18]; 4518290650Shselasky 4519290650Shselasky u8 syndrome[0x20]; 4520290650Shselasky 4521290650Shselasky u8 reserved_1[0x40]; 4522290650Shselasky}; 4523290650Shselasky 4524290650Shselaskyenum { 4525290650Shselasky MLX5_MODIFY_VPORT_STATE_IN_OP_MOD_NIC_VPORT = 0x0, 4526290650Shselasky MLX5_MODIFY_VPORT_STATE_IN_OP_MOD_ESW_VPORT = 0x1, 4527290650Shselasky MLX5_MODIFY_VPORT_STATE_IN_OP_MOD_UPLINK = 0x2, 4528290650Shselasky}; 4529290650Shselasky 4530290650Shselaskyenum { 4531290650Shselasky MLX5_MODIFY_VPORT_STATE_IN_ADMIN_STATE_DOWN = 0x0, 4532290650Shselasky MLX5_MODIFY_VPORT_STATE_IN_ADMIN_STATE_UP = 0x1, 4533290650Shselasky MLX5_MODIFY_VPORT_STATE_IN_ADMIN_STATE_FOLLOW = 0x2, 4534290650Shselasky}; 4535290650Shselasky 4536290650Shselaskystruct mlx5_ifc_modify_vport_state_in_bits { 4537290650Shselasky u8 opcode[0x10]; 4538290650Shselasky u8 reserved_0[0x10]; 4539290650Shselasky 4540290650Shselasky u8 reserved_1[0x10]; 4541290650Shselasky u8 op_mod[0x10]; 4542290650Shselasky 4543290650Shselasky u8 other_vport[0x1]; 4544290650Shselasky u8 reserved_2[0xf]; 4545290650Shselasky u8 vport_number[0x10]; 4546290650Shselasky 4547290650Shselasky u8 reserved_3[0x18]; 4548290650Shselasky u8 admin_state[0x4]; 4549290650Shselasky u8 reserved_4[0x4]; 4550290650Shselasky}; 4551290650Shselasky 4552290650Shselaskystruct mlx5_ifc_modify_tis_out_bits { 4553290650Shselasky u8 status[0x8]; 4554290650Shselasky u8 reserved_0[0x18]; 4555290650Shselasky 4556290650Shselasky u8 syndrome[0x20]; 4557290650Shselasky 4558290650Shselasky u8 reserved_1[0x40]; 4559290650Shselasky}; 4560290650Shselasky 4561290650Shselaskystruct mlx5_ifc_modify_tis_in_bits { 4562290650Shselasky u8 opcode[0x10]; 4563290650Shselasky u8 reserved_0[0x10]; 4564290650Shselasky 4565290650Shselasky u8 reserved_1[0x10]; 4566290650Shselasky u8 op_mod[0x10]; 4567290650Shselasky 4568290650Shselasky u8 reserved_2[0x8]; 4569290650Shselasky u8 tisn[0x18]; 4570290650Shselasky 4571290650Shselasky u8 reserved_3[0x20]; 4572290650Shselasky 4573290650Shselasky u8 modify_bitmask[0x40]; 4574290650Shselasky 4575290650Shselasky u8 reserved_4[0x40]; 4576290650Shselasky 4577290650Shselasky struct mlx5_ifc_tisc_bits ctx; 4578290650Shselasky}; 4579290650Shselasky 4580290650Shselaskystruct mlx5_ifc_modify_tir_out_bits { 4581290650Shselasky u8 status[0x8]; 4582290650Shselasky u8 reserved_0[0x18]; 4583290650Shselasky 4584290650Shselasky u8 syndrome[0x20]; 4585290650Shselasky 4586290650Shselasky u8 reserved_1[0x40]; 4587290650Shselasky}; 4588290650Shselasky 4589290650Shselaskystruct mlx5_ifc_modify_tir_in_bits { 4590290650Shselasky u8 opcode[0x10]; 4591290650Shselasky u8 reserved_0[0x10]; 4592290650Shselasky 4593290650Shselasky u8 reserved_1[0x10]; 4594290650Shselasky u8 op_mod[0x10]; 4595290650Shselasky 4596290650Shselasky u8 reserved_2[0x8]; 4597290650Shselasky u8 tirn[0x18]; 4598290650Shselasky 4599290650Shselasky u8 reserved_3[0x20]; 4600290650Shselasky 4601290650Shselasky u8 modify_bitmask[0x40]; 4602290650Shselasky 4603290650Shselasky u8 reserved_4[0x40]; 4604290650Shselasky 4605290650Shselasky struct mlx5_ifc_tirc_bits tir_context; 4606290650Shselasky}; 4607290650Shselasky 4608290650Shselaskystruct mlx5_ifc_modify_sq_out_bits { 4609290650Shselasky u8 status[0x8]; 4610290650Shselasky u8 reserved_0[0x18]; 4611290650Shselasky 4612290650Shselasky u8 syndrome[0x20]; 4613290650Shselasky 4614290650Shselasky u8 reserved_1[0x40]; 4615290650Shselasky}; 4616290650Shselasky 4617290650Shselaskystruct mlx5_ifc_modify_sq_in_bits { 4618290650Shselasky u8 opcode[0x10]; 4619290650Shselasky u8 reserved_0[0x10]; 4620290650Shselasky 4621290650Shselasky u8 reserved_1[0x10]; 4622290650Shselasky u8 op_mod[0x10]; 4623290650Shselasky 4624290650Shselasky u8 sq_state[0x4]; 4625290650Shselasky u8 reserved_2[0x4]; 4626290650Shselasky u8 sqn[0x18]; 4627290650Shselasky 4628290650Shselasky u8 reserved_3[0x20]; 4629290650Shselasky 4630290650Shselasky u8 modify_bitmask[0x40]; 4631290650Shselasky 4632290650Shselasky u8 reserved_4[0x40]; 4633290650Shselasky 4634290650Shselasky struct mlx5_ifc_sqc_bits ctx; 4635290650Shselasky}; 4636290650Shselasky 4637290650Shselaskystruct mlx5_ifc_modify_rqt_out_bits { 4638290650Shselasky u8 status[0x8]; 4639290650Shselasky u8 reserved_0[0x18]; 4640290650Shselasky 4641290650Shselasky u8 syndrome[0x20]; 4642290650Shselasky 4643290650Shselasky u8 reserved_1[0x40]; 4644290650Shselasky}; 4645290650Shselasky 4646290650Shselaskystruct mlx5_ifc_modify_rqt_in_bits { 4647290650Shselasky u8 opcode[0x10]; 4648290650Shselasky u8 reserved_0[0x10]; 4649290650Shselasky 4650290650Shselasky u8 reserved_1[0x10]; 4651290650Shselasky u8 op_mod[0x10]; 4652290650Shselasky 4653290650Shselasky u8 reserved_2[0x8]; 4654290650Shselasky u8 rqtn[0x18]; 4655290650Shselasky 4656290650Shselasky u8 reserved_3[0x20]; 4657290650Shselasky 4658290650Shselasky u8 modify_bitmask[0x40]; 4659290650Shselasky 4660290650Shselasky u8 reserved_4[0x40]; 4661290650Shselasky 4662290650Shselasky struct mlx5_ifc_rqtc_bits ctx; 4663290650Shselasky}; 4664290650Shselasky 4665290650Shselaskystruct mlx5_ifc_modify_rq_out_bits { 4666290650Shselasky u8 status[0x8]; 4667290650Shselasky u8 reserved_0[0x18]; 4668290650Shselasky 4669290650Shselasky u8 syndrome[0x20]; 4670290650Shselasky 4671290650Shselasky u8 reserved_1[0x40]; 4672290650Shselasky}; 4673290650Shselasky 4674290650Shselaskystruct mlx5_ifc_modify_rq_in_bits { 4675290650Shselasky u8 opcode[0x10]; 4676290650Shselasky u8 reserved_0[0x10]; 4677290650Shselasky 4678290650Shselasky u8 reserved_1[0x10]; 4679290650Shselasky u8 op_mod[0x10]; 4680290650Shselasky 4681290650Shselasky u8 rq_state[0x4]; 4682290650Shselasky u8 reserved_2[0x4]; 4683290650Shselasky u8 rqn[0x18]; 4684290650Shselasky 4685290650Shselasky u8 reserved_3[0x20]; 4686290650Shselasky 4687290650Shselasky u8 modify_bitmask[0x40]; 4688290650Shselasky 4689290650Shselasky u8 reserved_4[0x40]; 4690290650Shselasky 4691290650Shselasky struct mlx5_ifc_rqc_bits ctx; 4692290650Shselasky}; 4693290650Shselasky 4694290650Shselaskystruct mlx5_ifc_modify_rmp_out_bits { 4695290650Shselasky u8 status[0x8]; 4696290650Shselasky u8 reserved_0[0x18]; 4697290650Shselasky 4698290650Shselasky u8 syndrome[0x20]; 4699290650Shselasky 4700290650Shselasky u8 reserved_1[0x40]; 4701290650Shselasky}; 4702290650Shselasky 4703290650Shselaskystruct mlx5_ifc_rmp_bitmask_bits { 4704290650Shselasky u8 reserved[0x20]; 4705290650Shselasky 4706290650Shselasky u8 reserved1[0x1f]; 4707290650Shselasky u8 lwm[0x1]; 4708290650Shselasky}; 4709290650Shselasky 4710290650Shselaskystruct mlx5_ifc_modify_rmp_in_bits { 4711290650Shselasky u8 opcode[0x10]; 4712290650Shselasky u8 reserved_0[0x10]; 4713290650Shselasky 4714290650Shselasky u8 reserved_1[0x10]; 4715290650Shselasky u8 op_mod[0x10]; 4716290650Shselasky 4717290650Shselasky u8 rmp_state[0x4]; 4718290650Shselasky u8 reserved_2[0x4]; 4719290650Shselasky u8 rmpn[0x18]; 4720290650Shselasky 4721290650Shselasky u8 reserved_3[0x20]; 4722290650Shselasky 4723290650Shselasky struct mlx5_ifc_rmp_bitmask_bits bitmask; 4724290650Shselasky 4725290650Shselasky u8 reserved_4[0x40]; 4726290650Shselasky 4727290650Shselasky struct mlx5_ifc_rmpc_bits ctx; 4728290650Shselasky}; 4729290650Shselasky 4730290650Shselaskystruct mlx5_ifc_modify_nic_vport_context_out_bits { 4731290650Shselasky u8 status[0x8]; 4732290650Shselasky u8 reserved_0[0x18]; 4733290650Shselasky 4734290650Shselasky u8 syndrome[0x20]; 4735290650Shselasky 4736290650Shselasky u8 reserved_1[0x40]; 4737290650Shselasky}; 4738290650Shselasky 4739290650Shselaskystruct mlx5_ifc_modify_nic_vport_field_select_bits { 4740290650Shselasky u8 reserved_0[0x18]; 4741290650Shselasky u8 min_wqe_inline_mode[0x1]; 4742290650Shselasky u8 mtu[0x1]; 4743290650Shselasky u8 change_event[0x1]; 4744290650Shselasky u8 promisc[0x1]; 4745290650Shselasky u8 permanent_address[0x1]; 4746290650Shselasky u8 addresses_list[0x1]; 4747290650Shselasky u8 roce_en[0x1]; 4748290650Shselasky u8 reserved_1[0x1]; 4749290650Shselasky}; 4750290650Shselasky 4751290650Shselaskystruct mlx5_ifc_modify_nic_vport_context_in_bits { 4752290650Shselasky u8 opcode[0x10]; 4753290650Shselasky u8 reserved_0[0x10]; 4754290650Shselasky 4755290650Shselasky u8 reserved_1[0x10]; 4756290650Shselasky u8 op_mod[0x10]; 4757290650Shselasky 4758290650Shselasky u8 other_vport[0x1]; 4759290650Shselasky u8 reserved_2[0xf]; 4760290650Shselasky u8 vport_number[0x10]; 4761290650Shselasky 4762290650Shselasky struct mlx5_ifc_modify_nic_vport_field_select_bits field_select; 4763290650Shselasky 4764290650Shselasky u8 reserved_3[0x780]; 4765290650Shselasky 4766290650Shselasky struct mlx5_ifc_nic_vport_context_bits nic_vport_context; 4767290650Shselasky}; 4768290650Shselasky 4769290650Shselaskystruct mlx5_ifc_modify_hca_vport_context_out_bits { 4770290650Shselasky u8 status[0x8]; 4771290650Shselasky u8 reserved_0[0x18]; 4772290650Shselasky 4773290650Shselasky u8 syndrome[0x20]; 4774290650Shselasky 4775290650Shselasky u8 reserved_1[0x40]; 4776290650Shselasky}; 4777290650Shselasky 4778290650Shselaskystruct mlx5_ifc_modify_hca_vport_context_in_bits { 4779290650Shselasky u8 opcode[0x10]; 4780290650Shselasky u8 reserved_0[0x10]; 4781290650Shselasky 4782290650Shselasky u8 reserved_1[0x10]; 4783290650Shselasky u8 op_mod[0x10]; 4784290650Shselasky 4785290650Shselasky u8 other_vport[0x1]; 4786290650Shselasky u8 reserved_2[0xb]; 4787290650Shselasky u8 port_num[0x4]; 4788290650Shselasky u8 vport_number[0x10]; 4789290650Shselasky 4790290650Shselasky u8 reserved_3[0x20]; 4791290650Shselasky 4792290650Shselasky struct mlx5_ifc_hca_vport_context_bits hca_vport_context; 4793290650Shselasky}; 4794290650Shselasky 4795290650Shselaskystruct mlx5_ifc_modify_esw_vport_context_out_bits { 4796290650Shselasky u8 status[0x8]; 4797290650Shselasky u8 reserved_0[0x18]; 4798290650Shselasky 4799290650Shselasky u8 syndrome[0x20]; 4800290650Shselasky 4801290650Shselasky u8 reserved_1[0x40]; 4802290650Shselasky}; 4803290650Shselasky 4804290650Shselaskystruct mlx5_ifc_modify_esw_vport_context_in_bits { 4805290650Shselasky u8 opcode[0x10]; 4806290650Shselasky u8 reserved_0[0x10]; 4807290650Shselasky 4808290650Shselasky u8 reserved_1[0x10]; 4809290650Shselasky u8 op_mod[0x10]; 4810290650Shselasky 4811290650Shselasky u8 other_vport[0x1]; 4812290650Shselasky u8 reserved_2[0xf]; 4813290650Shselasky u8 vport_number[0x10]; 4814290650Shselasky 4815290650Shselasky u8 field_select[0x20]; 4816290650Shselasky 4817290650Shselasky struct mlx5_ifc_esw_vport_context_bits esw_vport_context; 4818290650Shselasky}; 4819290650Shselasky 4820290650Shselaskystruct mlx5_ifc_modify_cq_out_bits { 4821290650Shselasky u8 status[0x8]; 4822290650Shselasky u8 reserved_0[0x18]; 4823290650Shselasky 4824290650Shselasky u8 syndrome[0x20]; 4825290650Shselasky 4826290650Shselasky u8 reserved_1[0x40]; 4827290650Shselasky}; 4828290650Shselasky 4829290650Shselaskyenum { 4830290650Shselasky MLX5_MODIFY_CQ_IN_OP_MOD_MODIFY_CQ = 0x0, 4831290650Shselasky MLX5_MODIFY_CQ_IN_OP_MOD_RESIZE_CQ = 0x1, 4832290650Shselasky}; 4833290650Shselasky 4834290650Shselaskystruct mlx5_ifc_modify_cq_in_bits { 4835290650Shselasky u8 opcode[0x10]; 4836290650Shselasky u8 reserved_0[0x10]; 4837290650Shselasky 4838290650Shselasky u8 reserved_1[0x10]; 4839290650Shselasky u8 op_mod[0x10]; 4840290650Shselasky 4841290650Shselasky u8 reserved_2[0x8]; 4842290650Shselasky u8 cqn[0x18]; 4843290650Shselasky 4844290650Shselasky union mlx5_ifc_modify_field_select_resize_field_select_auto_bits modify_field_select_resize_field_select; 4845290650Shselasky 4846290650Shselasky struct mlx5_ifc_cqc_bits cq_context; 4847290650Shselasky 4848290650Shselasky u8 reserved_3[0x600]; 4849290650Shselasky 4850290650Shselasky u8 pas[0][0x40]; 4851290650Shselasky}; 4852290650Shselasky 4853290650Shselaskystruct mlx5_ifc_modify_cong_status_out_bits { 4854290650Shselasky u8 status[0x8]; 4855290650Shselasky u8 reserved_0[0x18]; 4856290650Shselasky 4857290650Shselasky u8 syndrome[0x20]; 4858290650Shselasky 4859290650Shselasky u8 reserved_1[0x40]; 4860290650Shselasky}; 4861290650Shselasky 4862290650Shselaskystruct mlx5_ifc_modify_cong_status_in_bits { 4863290650Shselasky u8 opcode[0x10]; 4864290650Shselasky u8 reserved_0[0x10]; 4865290650Shselasky 4866290650Shselasky u8 reserved_1[0x10]; 4867290650Shselasky u8 op_mod[0x10]; 4868290650Shselasky 4869290650Shselasky u8 reserved_2[0x18]; 4870290650Shselasky u8 priority[0x4]; 4871290650Shselasky u8 cong_protocol[0x4]; 4872290650Shselasky 4873290650Shselasky u8 enable[0x1]; 4874290650Shselasky u8 tag_enable[0x1]; 4875290650Shselasky u8 reserved_3[0x1e]; 4876290650Shselasky}; 4877290650Shselasky 4878290650Shselaskystruct mlx5_ifc_modify_cong_params_out_bits { 4879290650Shselasky u8 status[0x8]; 4880290650Shselasky u8 reserved_0[0x18]; 4881290650Shselasky 4882290650Shselasky u8 syndrome[0x20]; 4883290650Shselasky 4884290650Shselasky u8 reserved_1[0x40]; 4885290650Shselasky}; 4886290650Shselasky 4887290650Shselaskystruct mlx5_ifc_modify_cong_params_in_bits { 4888290650Shselasky u8 opcode[0x10]; 4889290650Shselasky u8 reserved_0[0x10]; 4890290650Shselasky 4891290650Shselasky u8 reserved_1[0x10]; 4892290650Shselasky u8 op_mod[0x10]; 4893290650Shselasky 4894290650Shselasky u8 reserved_2[0x1c]; 4895290650Shselasky u8 cong_protocol[0x4]; 4896290650Shselasky 4897290650Shselasky union mlx5_ifc_field_select_802_1_r_roce_auto_bits field_select; 4898290650Shselasky 4899290650Shselasky u8 reserved_3[0x80]; 4900290650Shselasky 4901290650Shselasky union mlx5_ifc_cong_control_roce_ecn_auto_bits congestion_parameters; 4902290650Shselasky}; 4903290650Shselasky 4904290650Shselaskystruct mlx5_ifc_manage_pages_out_bits { 4905290650Shselasky u8 status[0x8]; 4906290650Shselasky u8 reserved_0[0x18]; 4907290650Shselasky 4908290650Shselasky u8 syndrome[0x20]; 4909290650Shselasky 4910290650Shselasky u8 output_num_entries[0x20]; 4911290650Shselasky 4912290650Shselasky u8 reserved_1[0x20]; 4913290650Shselasky 4914290650Shselasky u8 pas[0][0x40]; 4915290650Shselasky}; 4916290650Shselasky 4917290650Shselaskyenum { 4918290650Shselasky MLX5_PAGES_CANT_GIVE = 0x0, 4919290650Shselasky MLX5_PAGES_GIVE = 0x1, 4920290650Shselasky MLX5_PAGES_TAKE = 0x2, 4921290650Shselasky}; 4922290650Shselasky 4923290650Shselaskystruct mlx5_ifc_manage_pages_in_bits { 4924290650Shselasky u8 opcode[0x10]; 4925290650Shselasky u8 reserved_0[0x10]; 4926290650Shselasky 4927290650Shselasky u8 reserved_1[0x10]; 4928290650Shselasky u8 op_mod[0x10]; 4929290650Shselasky 4930290650Shselasky u8 reserved_2[0x10]; 4931290650Shselasky u8 function_id[0x10]; 4932290650Shselasky 4933290650Shselasky u8 input_num_entries[0x20]; 4934290650Shselasky 4935290650Shselasky u8 pas[0][0x40]; 4936290650Shselasky}; 4937290650Shselasky 4938290650Shselaskystruct mlx5_ifc_mad_ifc_out_bits { 4939290650Shselasky u8 status[0x8]; 4940290650Shselasky u8 reserved_0[0x18]; 4941290650Shselasky 4942290650Shselasky u8 syndrome[0x20]; 4943290650Shselasky 4944290650Shselasky u8 reserved_1[0x40]; 4945290650Shselasky 4946290650Shselasky u8 response_mad_packet[256][0x8]; 4947290650Shselasky}; 4948290650Shselasky 4949290650Shselaskystruct mlx5_ifc_mad_ifc_in_bits { 4950290650Shselasky u8 opcode[0x10]; 4951290650Shselasky u8 reserved_0[0x10]; 4952290650Shselasky 4953290650Shselasky u8 reserved_1[0x10]; 4954290650Shselasky u8 op_mod[0x10]; 4955290650Shselasky 4956290650Shselasky u8 remote_lid[0x10]; 4957290650Shselasky u8 reserved_2[0x8]; 4958290650Shselasky u8 port[0x8]; 4959290650Shselasky 4960290650Shselasky u8 reserved_3[0x20]; 4961290650Shselasky 4962290650Shselasky u8 mad[256][0x8]; 4963290650Shselasky}; 4964290650Shselasky 4965290650Shselaskystruct mlx5_ifc_init_hca_out_bits { 4966290650Shselasky u8 status[0x8]; 4967290650Shselasky u8 reserved_0[0x18]; 4968290650Shselasky 4969290650Shselasky u8 syndrome[0x20]; 4970290650Shselasky 4971290650Shselasky u8 reserved_1[0x40]; 4972290650Shselasky}; 4973290650Shselasky 4974290650Shselaskyenum { 4975290650Shselasky MLX5_INIT_HCA_IN_OP_MOD_INIT = 0x0, 4976290650Shselasky MLX5_INIT_HCA_IN_OP_MOD_PRE_INIT = 0x1, 4977290650Shselasky}; 4978290650Shselasky 4979290650Shselaskystruct mlx5_ifc_init_hca_in_bits { 4980290650Shselasky u8 opcode[0x10]; 4981290650Shselasky u8 reserved_0[0x10]; 4982290650Shselasky 4983290650Shselasky u8 reserved_1[0x10]; 4984290650Shselasky u8 op_mod[0x10]; 4985290650Shselasky 4986290650Shselasky u8 reserved_2[0x40]; 4987290650Shselasky}; 4988290650Shselasky 4989290650Shselaskystruct mlx5_ifc_init2rtr_qp_out_bits { 4990290650Shselasky u8 status[0x8]; 4991290650Shselasky u8 reserved_0[0x18]; 4992290650Shselasky 4993290650Shselasky u8 syndrome[0x20]; 4994290650Shselasky 4995290650Shselasky u8 reserved_1[0x40]; 4996290650Shselasky}; 4997290650Shselasky 4998290650Shselaskystruct mlx5_ifc_init2rtr_qp_in_bits { 4999290650Shselasky u8 opcode[0x10]; 5000290650Shselasky u8 reserved_0[0x10]; 5001290650Shselasky 5002290650Shselasky u8 reserved_1[0x10]; 5003290650Shselasky u8 op_mod[0x10]; 5004290650Shselasky 5005290650Shselasky u8 reserved_2[0x8]; 5006290650Shselasky u8 qpn[0x18]; 5007290650Shselasky 5008290650Shselasky u8 reserved_3[0x20]; 5009290650Shselasky 5010290650Shselasky u8 opt_param_mask[0x20]; 5011290650Shselasky 5012290650Shselasky u8 reserved_4[0x20]; 5013290650Shselasky 5014290650Shselasky struct mlx5_ifc_qpc_bits qpc; 5015290650Shselasky 5016290650Shselasky u8 reserved_5[0x80]; 5017290650Shselasky}; 5018290650Shselasky 5019290650Shselaskystruct mlx5_ifc_init2init_qp_out_bits { 5020290650Shselasky u8 status[0x8]; 5021290650Shselasky u8 reserved_0[0x18]; 5022290650Shselasky 5023290650Shselasky u8 syndrome[0x20]; 5024290650Shselasky 5025290650Shselasky u8 reserved_1[0x40]; 5026290650Shselasky}; 5027290650Shselasky 5028290650Shselaskystruct mlx5_ifc_init2init_qp_in_bits { 5029290650Shselasky u8 opcode[0x10]; 5030290650Shselasky u8 reserved_0[0x10]; 5031290650Shselasky 5032290650Shselasky u8 reserved_1[0x10]; 5033290650Shselasky u8 op_mod[0x10]; 5034290650Shselasky 5035290650Shselasky u8 reserved_2[0x8]; 5036290650Shselasky u8 qpn[0x18]; 5037290650Shselasky 5038290650Shselasky u8 reserved_3[0x20]; 5039290650Shselasky 5040290650Shselasky u8 opt_param_mask[0x20]; 5041290650Shselasky 5042290650Shselasky u8 reserved_4[0x20]; 5043290650Shselasky 5044290650Shselasky struct mlx5_ifc_qpc_bits qpc; 5045290650Shselasky 5046290650Shselasky u8 reserved_5[0x80]; 5047290650Shselasky}; 5048290650Shselasky 5049290650Shselaskystruct mlx5_ifc_get_dropped_packet_log_out_bits { 5050290650Shselasky u8 status[0x8]; 5051290650Shselasky u8 reserved_0[0x18]; 5052290650Shselasky 5053290650Shselasky u8 syndrome[0x20]; 5054290650Shselasky 5055290650Shselasky u8 reserved_1[0x40]; 5056290650Shselasky 5057290650Shselasky u8 packet_headers_log[128][0x8]; 5058290650Shselasky 5059290650Shselasky u8 packet_syndrome[64][0x8]; 5060290650Shselasky}; 5061290650Shselasky 5062290650Shselaskystruct mlx5_ifc_get_dropped_packet_log_in_bits { 5063290650Shselasky u8 opcode[0x10]; 5064290650Shselasky u8 reserved_0[0x10]; 5065290650Shselasky 5066290650Shselasky u8 reserved_1[0x10]; 5067290650Shselasky u8 op_mod[0x10]; 5068290650Shselasky 5069290650Shselasky u8 reserved_2[0x40]; 5070290650Shselasky}; 5071290650Shselasky 5072290650Shselaskystruct mlx5_ifc_gen_eqe_in_bits { 5073290650Shselasky u8 opcode[0x10]; 5074290650Shselasky u8 reserved_0[0x10]; 5075290650Shselasky 5076290650Shselasky u8 reserved_1[0x10]; 5077290650Shselasky u8 op_mod[0x10]; 5078290650Shselasky 5079290650Shselasky u8 reserved_2[0x18]; 5080290650Shselasky u8 eq_number[0x8]; 5081290650Shselasky 5082290650Shselasky u8 reserved_3[0x20]; 5083290650Shselasky 5084290650Shselasky u8 eqe[64][0x8]; 5085290650Shselasky}; 5086290650Shselasky 5087290650Shselaskystruct mlx5_ifc_gen_eq_out_bits { 5088290650Shselasky u8 status[0x8]; 5089290650Shselasky u8 reserved_0[0x18]; 5090290650Shselasky 5091290650Shselasky u8 syndrome[0x20]; 5092290650Shselasky 5093290650Shselasky u8 reserved_1[0x40]; 5094290650Shselasky}; 5095290650Shselasky 5096290650Shselaskystruct mlx5_ifc_enable_hca_out_bits { 5097290650Shselasky u8 status[0x8]; 5098290650Shselasky u8 reserved_0[0x18]; 5099290650Shselasky 5100290650Shselasky u8 syndrome[0x20]; 5101290650Shselasky 5102290650Shselasky u8 reserved_1[0x20]; 5103290650Shselasky}; 5104290650Shselasky 5105290650Shselaskystruct mlx5_ifc_enable_hca_in_bits { 5106290650Shselasky u8 opcode[0x10]; 5107290650Shselasky u8 reserved_0[0x10]; 5108290650Shselasky 5109290650Shselasky u8 reserved_1[0x10]; 5110290650Shselasky u8 op_mod[0x10]; 5111290650Shselasky 5112290650Shselasky u8 reserved_2[0x10]; 5113290650Shselasky u8 function_id[0x10]; 5114290650Shselasky 5115290650Shselasky u8 reserved_3[0x20]; 5116290650Shselasky}; 5117290650Shselasky 5118290650Shselaskystruct mlx5_ifc_drain_dct_out_bits { 5119290650Shselasky u8 status[0x8]; 5120290650Shselasky u8 reserved_0[0x18]; 5121290650Shselasky 5122290650Shselasky u8 syndrome[0x20]; 5123290650Shselasky 5124290650Shselasky u8 reserved_1[0x40]; 5125290650Shselasky}; 5126290650Shselasky 5127290650Shselaskystruct mlx5_ifc_drain_dct_in_bits { 5128290650Shselasky u8 opcode[0x10]; 5129290650Shselasky u8 reserved_0[0x10]; 5130290650Shselasky 5131290650Shselasky u8 reserved_1[0x10]; 5132290650Shselasky u8 op_mod[0x10]; 5133290650Shselasky 5134290650Shselasky u8 reserved_2[0x8]; 5135290650Shselasky u8 dctn[0x18]; 5136290650Shselasky 5137290650Shselasky u8 reserved_3[0x20]; 5138290650Shselasky}; 5139290650Shselasky 5140290650Shselaskystruct mlx5_ifc_disable_hca_out_bits { 5141290650Shselasky u8 status[0x8]; 5142290650Shselasky u8 reserved_0[0x18]; 5143290650Shselasky 5144290650Shselasky u8 syndrome[0x20]; 5145290650Shselasky 5146290650Shselasky u8 reserved_1[0x20]; 5147290650Shselasky}; 5148290650Shselasky 5149290650Shselaskystruct mlx5_ifc_disable_hca_in_bits { 5150290650Shselasky u8 opcode[0x10]; 5151290650Shselasky u8 reserved_0[0x10]; 5152290650Shselasky 5153290650Shselasky u8 reserved_1[0x10]; 5154290650Shselasky u8 op_mod[0x10]; 5155290650Shselasky 5156290650Shselasky u8 reserved_2[0x10]; 5157290650Shselasky u8 function_id[0x10]; 5158290650Shselasky 5159290650Shselasky u8 reserved_3[0x20]; 5160290650Shselasky}; 5161290650Shselasky 5162290650Shselaskystruct mlx5_ifc_detach_from_mcg_out_bits { 5163290650Shselasky u8 status[0x8]; 5164290650Shselasky u8 reserved_0[0x18]; 5165290650Shselasky 5166290650Shselasky u8 syndrome[0x20]; 5167290650Shselasky 5168290650Shselasky u8 reserved_1[0x40]; 5169290650Shselasky}; 5170290650Shselasky 5171290650Shselaskystruct mlx5_ifc_detach_from_mcg_in_bits { 5172290650Shselasky u8 opcode[0x10]; 5173290650Shselasky u8 reserved_0[0x10]; 5174290650Shselasky 5175290650Shselasky u8 reserved_1[0x10]; 5176290650Shselasky u8 op_mod[0x10]; 5177290650Shselasky 5178290650Shselasky u8 reserved_2[0x8]; 5179290650Shselasky u8 qpn[0x18]; 5180290650Shselasky 5181290650Shselasky u8 reserved_3[0x20]; 5182290650Shselasky 5183290650Shselasky u8 multicast_gid[16][0x8]; 5184290650Shselasky}; 5185290650Shselasky 5186290650Shselaskystruct mlx5_ifc_destroy_xrc_srq_out_bits { 5187290650Shselasky u8 status[0x8]; 5188290650Shselasky u8 reserved_0[0x18]; 5189290650Shselasky 5190290650Shselasky u8 syndrome[0x20]; 5191290650Shselasky 5192290650Shselasky u8 reserved_1[0x40]; 5193290650Shselasky}; 5194290650Shselasky 5195290650Shselaskystruct mlx5_ifc_destroy_xrc_srq_in_bits { 5196290650Shselasky u8 opcode[0x10]; 5197290650Shselasky u8 reserved_0[0x10]; 5198290650Shselasky 5199290650Shselasky u8 reserved_1[0x10]; 5200290650Shselasky u8 op_mod[0x10]; 5201290650Shselasky 5202290650Shselasky u8 reserved_2[0x8]; 5203290650Shselasky u8 xrc_srqn[0x18]; 5204290650Shselasky 5205290650Shselasky u8 reserved_3[0x20]; 5206290650Shselasky}; 5207290650Shselasky 5208290650Shselaskystruct mlx5_ifc_destroy_tis_out_bits { 5209290650Shselasky u8 status[0x8]; 5210290650Shselasky u8 reserved_0[0x18]; 5211290650Shselasky 5212290650Shselasky u8 syndrome[0x20]; 5213290650Shselasky 5214290650Shselasky u8 reserved_1[0x40]; 5215290650Shselasky}; 5216290650Shselasky 5217290650Shselaskystruct mlx5_ifc_destroy_tis_in_bits { 5218290650Shselasky u8 opcode[0x10]; 5219290650Shselasky u8 reserved_0[0x10]; 5220290650Shselasky 5221290650Shselasky u8 reserved_1[0x10]; 5222290650Shselasky u8 op_mod[0x10]; 5223290650Shselasky 5224290650Shselasky u8 reserved_2[0x8]; 5225290650Shselasky u8 tisn[0x18]; 5226290650Shselasky 5227290650Shselasky u8 reserved_3[0x20]; 5228290650Shselasky}; 5229290650Shselasky 5230290650Shselaskystruct mlx5_ifc_destroy_tir_out_bits { 5231290650Shselasky u8 status[0x8]; 5232290650Shselasky u8 reserved_0[0x18]; 5233290650Shselasky 5234290650Shselasky u8 syndrome[0x20]; 5235290650Shselasky 5236290650Shselasky u8 reserved_1[0x40]; 5237290650Shselasky}; 5238290650Shselasky 5239290650Shselaskystruct mlx5_ifc_destroy_tir_in_bits { 5240290650Shselasky u8 opcode[0x10]; 5241290650Shselasky u8 reserved_0[0x10]; 5242290650Shselasky 5243290650Shselasky u8 reserved_1[0x10]; 5244290650Shselasky u8 op_mod[0x10]; 5245290650Shselasky 5246290650Shselasky u8 reserved_2[0x8]; 5247290650Shselasky u8 tirn[0x18]; 5248290650Shselasky 5249290650Shselasky u8 reserved_3[0x20]; 5250290650Shselasky}; 5251290650Shselasky 5252290650Shselaskystruct mlx5_ifc_destroy_srq_out_bits { 5253290650Shselasky u8 status[0x8]; 5254290650Shselasky u8 reserved_0[0x18]; 5255290650Shselasky 5256290650Shselasky u8 syndrome[0x20]; 5257290650Shselasky 5258290650Shselasky u8 reserved_1[0x40]; 5259290650Shselasky}; 5260290650Shselasky 5261290650Shselaskystruct mlx5_ifc_destroy_srq_in_bits { 5262290650Shselasky u8 opcode[0x10]; 5263290650Shselasky u8 reserved_0[0x10]; 5264290650Shselasky 5265290650Shselasky u8 reserved_1[0x10]; 5266290650Shselasky u8 op_mod[0x10]; 5267290650Shselasky 5268290650Shselasky u8 reserved_2[0x8]; 5269290650Shselasky u8 srqn[0x18]; 5270290650Shselasky 5271290650Shselasky u8 reserved_3[0x20]; 5272290650Shselasky}; 5273290650Shselasky 5274290650Shselaskystruct mlx5_ifc_destroy_sq_out_bits { 5275290650Shselasky u8 status[0x8]; 5276290650Shselasky u8 reserved_0[0x18]; 5277290650Shselasky 5278290650Shselasky u8 syndrome[0x20]; 5279290650Shselasky 5280290650Shselasky u8 reserved_1[0x40]; 5281290650Shselasky}; 5282290650Shselasky 5283290650Shselaskystruct mlx5_ifc_destroy_sq_in_bits { 5284290650Shselasky u8 opcode[0x10]; 5285290650Shselasky u8 reserved_0[0x10]; 5286290650Shselasky 5287290650Shselasky u8 reserved_1[0x10]; 5288290650Shselasky u8 op_mod[0x10]; 5289290650Shselasky 5290290650Shselasky u8 reserved_2[0x8]; 5291290650Shselasky u8 sqn[0x18]; 5292290650Shselasky 5293290650Shselasky u8 reserved_3[0x20]; 5294290650Shselasky}; 5295290650Shselasky 5296290650Shselaskystruct mlx5_ifc_destroy_rqt_out_bits { 5297290650Shselasky u8 status[0x8]; 5298290650Shselasky u8 reserved_0[0x18]; 5299290650Shselasky 5300290650Shselasky u8 syndrome[0x20]; 5301290650Shselasky 5302290650Shselasky u8 reserved_1[0x40]; 5303290650Shselasky}; 5304290650Shselasky 5305290650Shselaskystruct mlx5_ifc_destroy_rqt_in_bits { 5306290650Shselasky u8 opcode[0x10]; 5307290650Shselasky u8 reserved_0[0x10]; 5308290650Shselasky 5309290650Shselasky u8 reserved_1[0x10]; 5310290650Shselasky u8 op_mod[0x10]; 5311290650Shselasky 5312290650Shselasky u8 reserved_2[0x8]; 5313290650Shselasky u8 rqtn[0x18]; 5314290650Shselasky 5315290650Shselasky u8 reserved_3[0x20]; 5316290650Shselasky}; 5317290650Shselasky 5318290650Shselaskystruct mlx5_ifc_destroy_rq_out_bits { 5319290650Shselasky u8 status[0x8]; 5320290650Shselasky u8 reserved_0[0x18]; 5321290650Shselasky 5322290650Shselasky u8 syndrome[0x20]; 5323290650Shselasky 5324290650Shselasky u8 reserved_1[0x40]; 5325290650Shselasky}; 5326290650Shselasky 5327290650Shselaskystruct mlx5_ifc_destroy_rq_in_bits { 5328290650Shselasky u8 opcode[0x10]; 5329290650Shselasky u8 reserved_0[0x10]; 5330290650Shselasky 5331290650Shselasky u8 reserved_1[0x10]; 5332290650Shselasky u8 op_mod[0x10]; 5333290650Shselasky 5334290650Shselasky u8 reserved_2[0x8]; 5335290650Shselasky u8 rqn[0x18]; 5336290650Shselasky 5337290650Shselasky u8 reserved_3[0x20]; 5338290650Shselasky}; 5339290650Shselasky 5340290650Shselaskystruct mlx5_ifc_destroy_rmp_out_bits { 5341290650Shselasky u8 status[0x8]; 5342290650Shselasky u8 reserved_0[0x18]; 5343290650Shselasky 5344290650Shselasky u8 syndrome[0x20]; 5345290650Shselasky 5346290650Shselasky u8 reserved_1[0x40]; 5347290650Shselasky}; 5348290650Shselasky 5349290650Shselaskystruct mlx5_ifc_destroy_rmp_in_bits { 5350290650Shselasky u8 opcode[0x10]; 5351290650Shselasky u8 reserved_0[0x10]; 5352290650Shselasky 5353290650Shselasky u8 reserved_1[0x10]; 5354290650Shselasky u8 op_mod[0x10]; 5355290650Shselasky 5356290650Shselasky u8 reserved_2[0x8]; 5357290650Shselasky u8 rmpn[0x18]; 5358290650Shselasky 5359290650Shselasky u8 reserved_3[0x20]; 5360290650Shselasky}; 5361290650Shselasky 5362290650Shselaskystruct mlx5_ifc_destroy_qp_out_bits { 5363290650Shselasky u8 status[0x8]; 5364290650Shselasky u8 reserved_0[0x18]; 5365290650Shselasky 5366290650Shselasky u8 syndrome[0x20]; 5367290650Shselasky 5368290650Shselasky u8 reserved_1[0x40]; 5369290650Shselasky}; 5370290650Shselasky 5371290650Shselaskystruct mlx5_ifc_destroy_qp_in_bits { 5372290650Shselasky u8 opcode[0x10]; 5373290650Shselasky u8 reserved_0[0x10]; 5374290650Shselasky 5375290650Shselasky u8 reserved_1[0x10]; 5376290650Shselasky u8 op_mod[0x10]; 5377290650Shselasky 5378290650Shselasky u8 reserved_2[0x8]; 5379290650Shselasky u8 qpn[0x18]; 5380290650Shselasky 5381290650Shselasky u8 reserved_3[0x20]; 5382290650Shselasky}; 5383290650Shselasky 5384290650Shselaskystruct mlx5_ifc_destroy_psv_out_bits { 5385290650Shselasky u8 status[0x8]; 5386290650Shselasky u8 reserved_0[0x18]; 5387290650Shselasky 5388290650Shselasky u8 syndrome[0x20]; 5389290650Shselasky 5390290650Shselasky u8 reserved_1[0x40]; 5391290650Shselasky}; 5392290650Shselasky 5393290650Shselaskystruct mlx5_ifc_destroy_psv_in_bits { 5394290650Shselasky u8 opcode[0x10]; 5395290650Shselasky u8 reserved_0[0x10]; 5396290650Shselasky 5397290650Shselasky u8 reserved_1[0x10]; 5398290650Shselasky u8 op_mod[0x10]; 5399290650Shselasky 5400290650Shselasky u8 reserved_2[0x8]; 5401290650Shselasky u8 psvn[0x18]; 5402290650Shselasky 5403290650Shselasky u8 reserved_3[0x20]; 5404290650Shselasky}; 5405290650Shselasky 5406290650Shselaskystruct mlx5_ifc_destroy_mkey_out_bits { 5407290650Shselasky u8 status[0x8]; 5408290650Shselasky u8 reserved_0[0x18]; 5409290650Shselasky 5410290650Shselasky u8 syndrome[0x20]; 5411290650Shselasky 5412290650Shselasky u8 reserved_1[0x40]; 5413290650Shselasky}; 5414290650Shselasky 5415290650Shselaskystruct mlx5_ifc_destroy_mkey_in_bits { 5416290650Shselasky u8 opcode[0x10]; 5417290650Shselasky u8 reserved_0[0x10]; 5418290650Shselasky 5419290650Shselasky u8 reserved_1[0x10]; 5420290650Shselasky u8 op_mod[0x10]; 5421290650Shselasky 5422290650Shselasky u8 reserved_2[0x8]; 5423290650Shselasky u8 mkey_index[0x18]; 5424290650Shselasky 5425290650Shselasky u8 reserved_3[0x20]; 5426290650Shselasky}; 5427290650Shselasky 5428290650Shselaskystruct mlx5_ifc_destroy_flow_table_out_bits { 5429290650Shselasky u8 status[0x8]; 5430290650Shselasky u8 reserved_0[0x18]; 5431290650Shselasky 5432290650Shselasky u8 syndrome[0x20]; 5433290650Shselasky 5434290650Shselasky u8 reserved_1[0x40]; 5435290650Shselasky}; 5436290650Shselasky 5437290650Shselaskystruct mlx5_ifc_destroy_flow_table_in_bits { 5438290650Shselasky u8 opcode[0x10]; 5439290650Shselasky u8 reserved_0[0x10]; 5440290650Shselasky 5441290650Shselasky u8 reserved_1[0x10]; 5442290650Shselasky u8 op_mod[0x10]; 5443290650Shselasky 5444290650Shselasky u8 other_vport[0x1]; 5445290650Shselasky u8 reserved_2[0xf]; 5446290650Shselasky u8 vport_number[0x10]; 5447290650Shselasky 5448290650Shselasky u8 reserved_3[0x20]; 5449290650Shselasky 5450290650Shselasky u8 table_type[0x8]; 5451290650Shselasky u8 reserved_4[0x18]; 5452290650Shselasky 5453290650Shselasky u8 reserved_5[0x8]; 5454290650Shselasky u8 table_id[0x18]; 5455290650Shselasky 5456290650Shselasky u8 reserved_6[0x140]; 5457290650Shselasky}; 5458290650Shselasky 5459290650Shselaskystruct mlx5_ifc_destroy_flow_group_out_bits { 5460290650Shselasky u8 status[0x8]; 5461290650Shselasky u8 reserved_0[0x18]; 5462290650Shselasky 5463290650Shselasky u8 syndrome[0x20]; 5464290650Shselasky 5465290650Shselasky u8 reserved_1[0x40]; 5466290650Shselasky}; 5467290650Shselasky 5468290650Shselaskystruct mlx5_ifc_destroy_flow_group_in_bits { 5469290650Shselasky u8 opcode[0x10]; 5470290650Shselasky u8 reserved_0[0x10]; 5471290650Shselasky 5472290650Shselasky u8 reserved_1[0x10]; 5473290650Shselasky u8 op_mod[0x10]; 5474290650Shselasky 5475290650Shselasky u8 other_vport[0x1]; 5476290650Shselasky u8 reserved_2[0xf]; 5477290650Shselasky u8 vport_number[0x10]; 5478290650Shselasky 5479290650Shselasky u8 reserved_3[0x20]; 5480290650Shselasky 5481290650Shselasky u8 table_type[0x8]; 5482290650Shselasky u8 reserved_4[0x18]; 5483290650Shselasky 5484290650Shselasky u8 reserved_5[0x8]; 5485290650Shselasky u8 table_id[0x18]; 5486290650Shselasky 5487290650Shselasky u8 group_id[0x20]; 5488290650Shselasky 5489290650Shselasky u8 reserved_6[0x120]; 5490290650Shselasky}; 5491290650Shselasky 5492290650Shselaskystruct mlx5_ifc_destroy_eq_out_bits { 5493290650Shselasky u8 status[0x8]; 5494290650Shselasky u8 reserved_0[0x18]; 5495290650Shselasky 5496290650Shselasky u8 syndrome[0x20]; 5497290650Shselasky 5498290650Shselasky u8 reserved_1[0x40]; 5499290650Shselasky}; 5500290650Shselasky 5501290650Shselaskystruct mlx5_ifc_destroy_eq_in_bits { 5502290650Shselasky u8 opcode[0x10]; 5503290650Shselasky u8 reserved_0[0x10]; 5504290650Shselasky 5505290650Shselasky u8 reserved_1[0x10]; 5506290650Shselasky u8 op_mod[0x10]; 5507290650Shselasky 5508290650Shselasky u8 reserved_2[0x18]; 5509290650Shselasky u8 eq_number[0x8]; 5510290650Shselasky 5511290650Shselasky u8 reserved_3[0x20]; 5512290650Shselasky}; 5513290650Shselasky 5514290650Shselaskystruct mlx5_ifc_destroy_dct_out_bits { 5515290650Shselasky u8 status[0x8]; 5516290650Shselasky u8 reserved_0[0x18]; 5517290650Shselasky 5518290650Shselasky u8 syndrome[0x20]; 5519290650Shselasky 5520290650Shselasky u8 reserved_1[0x40]; 5521290650Shselasky}; 5522290650Shselasky 5523290650Shselaskystruct mlx5_ifc_destroy_dct_in_bits { 5524290650Shselasky u8 opcode[0x10]; 5525290650Shselasky u8 reserved_0[0x10]; 5526290650Shselasky 5527290650Shselasky u8 reserved_1[0x10]; 5528290650Shselasky u8 op_mod[0x10]; 5529290650Shselasky 5530290650Shselasky u8 reserved_2[0x8]; 5531290650Shselasky u8 dctn[0x18]; 5532290650Shselasky 5533290650Shselasky u8 reserved_3[0x20]; 5534290650Shselasky}; 5535290650Shselasky 5536290650Shselaskystruct mlx5_ifc_destroy_cq_out_bits { 5537290650Shselasky u8 status[0x8]; 5538290650Shselasky u8 reserved_0[0x18]; 5539290650Shselasky 5540290650Shselasky u8 syndrome[0x20]; 5541290650Shselasky 5542290650Shselasky u8 reserved_1[0x40]; 5543290650Shselasky}; 5544290650Shselasky 5545290650Shselaskystruct mlx5_ifc_destroy_cq_in_bits { 5546290650Shselasky u8 opcode[0x10]; 5547290650Shselasky u8 reserved_0[0x10]; 5548290650Shselasky 5549290650Shselasky u8 reserved_1[0x10]; 5550290650Shselasky u8 op_mod[0x10]; 5551290650Shselasky 5552290650Shselasky u8 reserved_2[0x8]; 5553290650Shselasky u8 cqn[0x18]; 5554290650Shselasky 5555290650Shselasky u8 reserved_3[0x20]; 5556290650Shselasky}; 5557290650Shselasky 5558290650Shselaskystruct mlx5_ifc_delete_vxlan_udp_dport_out_bits { 5559290650Shselasky u8 status[0x8]; 5560290650Shselasky u8 reserved_0[0x18]; 5561290650Shselasky 5562290650Shselasky u8 syndrome[0x20]; 5563290650Shselasky 5564290650Shselasky u8 reserved_1[0x40]; 5565290650Shselasky}; 5566290650Shselasky 5567290650Shselaskystruct mlx5_ifc_delete_vxlan_udp_dport_in_bits { 5568290650Shselasky u8 opcode[0x10]; 5569290650Shselasky u8 reserved_0[0x10]; 5570290650Shselasky 5571290650Shselasky u8 reserved_1[0x10]; 5572290650Shselasky u8 op_mod[0x10]; 5573290650Shselasky 5574290650Shselasky u8 reserved_2[0x20]; 5575290650Shselasky 5576290650Shselasky u8 reserved_3[0x10]; 5577290650Shselasky u8 vxlan_udp_port[0x10]; 5578290650Shselasky}; 5579290650Shselasky 5580290650Shselaskystruct mlx5_ifc_delete_l2_table_entry_out_bits { 5581290650Shselasky u8 status[0x8]; 5582290650Shselasky u8 reserved_0[0x18]; 5583290650Shselasky 5584290650Shselasky u8 syndrome[0x20]; 5585290650Shselasky 5586290650Shselasky u8 reserved_1[0x40]; 5587290650Shselasky}; 5588290650Shselasky 5589290650Shselaskystruct mlx5_ifc_delete_l2_table_entry_in_bits { 5590290650Shselasky u8 opcode[0x10]; 5591290650Shselasky u8 reserved_0[0x10]; 5592290650Shselasky 5593290650Shselasky u8 reserved_1[0x10]; 5594290650Shselasky u8 op_mod[0x10]; 5595290650Shselasky 5596290650Shselasky u8 reserved_2[0x60]; 5597290650Shselasky 5598290650Shselasky u8 reserved_3[0x8]; 5599290650Shselasky u8 table_index[0x18]; 5600290650Shselasky 5601290650Shselasky u8 reserved_4[0x140]; 5602290650Shselasky}; 5603290650Shselasky 5604290650Shselaskystruct mlx5_ifc_delete_fte_out_bits { 5605290650Shselasky u8 status[0x8]; 5606290650Shselasky u8 reserved_0[0x18]; 5607290650Shselasky 5608290650Shselasky u8 syndrome[0x20]; 5609290650Shselasky 5610290650Shselasky u8 reserved_1[0x40]; 5611290650Shselasky}; 5612290650Shselasky 5613290650Shselaskystruct mlx5_ifc_delete_fte_in_bits { 5614290650Shselasky u8 opcode[0x10]; 5615290650Shselasky u8 reserved_0[0x10]; 5616290650Shselasky 5617290650Shselasky u8 reserved_1[0x10]; 5618290650Shselasky u8 op_mod[0x10]; 5619290650Shselasky 5620290650Shselasky u8 other_vport[0x1]; 5621290650Shselasky u8 reserved_2[0xf]; 5622290650Shselasky u8 vport_number[0x10]; 5623290650Shselasky 5624290650Shselasky u8 reserved_3[0x20]; 5625290650Shselasky 5626290650Shselasky u8 table_type[0x8]; 5627290650Shselasky u8 reserved_4[0x18]; 5628290650Shselasky 5629290650Shselasky u8 reserved_5[0x8]; 5630290650Shselasky u8 table_id[0x18]; 5631290650Shselasky 5632290650Shselasky u8 reserved_6[0x40]; 5633290650Shselasky 5634290650Shselasky u8 flow_index[0x20]; 5635290650Shselasky 5636290650Shselasky u8 reserved_7[0xe0]; 5637290650Shselasky}; 5638290650Shselasky 5639290650Shselaskystruct mlx5_ifc_dealloc_xrcd_out_bits { 5640290650Shselasky u8 status[0x8]; 5641290650Shselasky u8 reserved_0[0x18]; 5642290650Shselasky 5643290650Shselasky u8 syndrome[0x20]; 5644290650Shselasky 5645290650Shselasky u8 reserved_1[0x40]; 5646290650Shselasky}; 5647290650Shselasky 5648290650Shselaskystruct mlx5_ifc_dealloc_xrcd_in_bits { 5649290650Shselasky u8 opcode[0x10]; 5650290650Shselasky u8 reserved_0[0x10]; 5651290650Shselasky 5652290650Shselasky u8 reserved_1[0x10]; 5653290650Shselasky u8 op_mod[0x10]; 5654290650Shselasky 5655290650Shselasky u8 reserved_2[0x8]; 5656290650Shselasky u8 xrcd[0x18]; 5657290650Shselasky 5658290650Shselasky u8 reserved_3[0x20]; 5659290650Shselasky}; 5660290650Shselasky 5661290650Shselaskystruct mlx5_ifc_dealloc_uar_out_bits { 5662290650Shselasky u8 status[0x8]; 5663290650Shselasky u8 reserved_0[0x18]; 5664290650Shselasky 5665290650Shselasky u8 syndrome[0x20]; 5666290650Shselasky 5667290650Shselasky u8 reserved_1[0x40]; 5668290650Shselasky}; 5669290650Shselasky 5670290650Shselaskystruct mlx5_ifc_dealloc_uar_in_bits { 5671290650Shselasky u8 opcode[0x10]; 5672290650Shselasky u8 reserved_0[0x10]; 5673290650Shselasky 5674290650Shselasky u8 reserved_1[0x10]; 5675290650Shselasky u8 op_mod[0x10]; 5676290650Shselasky 5677290650Shselasky u8 reserved_2[0x8]; 5678290650Shselasky u8 uar[0x18]; 5679290650Shselasky 5680290650Shselasky u8 reserved_3[0x20]; 5681290650Shselasky}; 5682290650Shselasky 5683290650Shselaskystruct mlx5_ifc_dealloc_transport_domain_out_bits { 5684290650Shselasky u8 status[0x8]; 5685290650Shselasky u8 reserved_0[0x18]; 5686290650Shselasky 5687290650Shselasky u8 syndrome[0x20]; 5688290650Shselasky 5689290650Shselasky u8 reserved_1[0x40]; 5690290650Shselasky}; 5691290650Shselasky 5692290650Shselaskystruct mlx5_ifc_dealloc_transport_domain_in_bits { 5693290650Shselasky u8 opcode[0x10]; 5694290650Shselasky u8 reserved_0[0x10]; 5695290650Shselasky 5696290650Shselasky u8 reserved_1[0x10]; 5697290650Shselasky u8 op_mod[0x10]; 5698290650Shselasky 5699290650Shselasky u8 reserved_2[0x8]; 5700290650Shselasky u8 transport_domain[0x18]; 5701290650Shselasky 5702290650Shselasky u8 reserved_3[0x20]; 5703290650Shselasky}; 5704290650Shselasky 5705290650Shselaskystruct mlx5_ifc_dealloc_q_counter_out_bits { 5706290650Shselasky u8 status[0x8]; 5707290650Shselasky u8 reserved_0[0x18]; 5708290650Shselasky 5709290650Shselasky u8 syndrome[0x20]; 5710290650Shselasky 5711290650Shselasky u8 reserved_1[0x40]; 5712290650Shselasky}; 5713290650Shselasky 5714290650Shselaskystruct mlx5_ifc_dealloc_q_counter_in_bits { 5715290650Shselasky u8 opcode[0x10]; 5716290650Shselasky u8 reserved_0[0x10]; 5717290650Shselasky 5718290650Shselasky u8 reserved_1[0x10]; 5719290650Shselasky u8 op_mod[0x10]; 5720290650Shselasky 5721290650Shselasky u8 reserved_2[0x18]; 5722290650Shselasky u8 counter_set_id[0x8]; 5723290650Shselasky 5724290650Shselasky u8 reserved_3[0x20]; 5725290650Shselasky}; 5726290650Shselasky 5727290650Shselaskystruct mlx5_ifc_dealloc_pd_out_bits { 5728290650Shselasky u8 status[0x8]; 5729290650Shselasky u8 reserved_0[0x18]; 5730290650Shselasky 5731290650Shselasky u8 syndrome[0x20]; 5732290650Shselasky 5733290650Shselasky u8 reserved_1[0x40]; 5734290650Shselasky}; 5735290650Shselasky 5736290650Shselaskystruct mlx5_ifc_dealloc_pd_in_bits { 5737290650Shselasky u8 opcode[0x10]; 5738290650Shselasky u8 reserved_0[0x10]; 5739290650Shselasky 5740290650Shselasky u8 reserved_1[0x10]; 5741290650Shselasky u8 op_mod[0x10]; 5742290650Shselasky 5743290650Shselasky u8 reserved_2[0x8]; 5744290650Shselasky u8 pd[0x18]; 5745290650Shselasky 5746290650Shselasky u8 reserved_3[0x20]; 5747290650Shselasky}; 5748290650Shselasky 5749290650Shselaskystruct mlx5_ifc_dealloc_flow_counter_out_bits { 5750290650Shselasky u8 status[0x8]; 5751290650Shselasky u8 reserved_0[0x18]; 5752290650Shselasky 5753290650Shselasky u8 syndrome[0x20]; 5754290650Shselasky 5755290650Shselasky u8 reserved_1[0x40]; 5756290650Shselasky}; 5757290650Shselasky 5758290650Shselaskystruct mlx5_ifc_dealloc_flow_counter_in_bits { 5759290650Shselasky u8 opcode[0x10]; 5760290650Shselasky u8 reserved_0[0x10]; 5761290650Shselasky 5762290650Shselasky u8 reserved_1[0x10]; 5763290650Shselasky u8 op_mod[0x10]; 5764290650Shselasky 5765290650Shselasky u8 reserved_2[0x10]; 5766290650Shselasky u8 flow_counter_id[0x10]; 5767290650Shselasky 5768290650Shselasky u8 reserved_3[0x20]; 5769290650Shselasky}; 5770290650Shselasky 5771290650Shselaskystruct mlx5_ifc_deactivate_tracer_out_bits { 5772290650Shselasky u8 status[0x8]; 5773290650Shselasky u8 reserved_0[0x18]; 5774290650Shselasky 5775290650Shselasky u8 syndrome[0x20]; 5776290650Shselasky 5777290650Shselasky u8 reserved_1[0x40]; 5778290650Shselasky}; 5779290650Shselasky 5780290650Shselaskystruct mlx5_ifc_deactivate_tracer_in_bits { 5781290650Shselasky u8 opcode[0x10]; 5782290650Shselasky u8 reserved_0[0x10]; 5783290650Shselasky 5784290650Shselasky u8 reserved_1[0x10]; 5785290650Shselasky u8 op_mod[0x10]; 5786290650Shselasky 5787290650Shselasky u8 mkey[0x20]; 5788290650Shselasky 5789290650Shselasky u8 reserved_2[0x20]; 5790290650Shselasky}; 5791290650Shselasky 5792290650Shselaskystruct mlx5_ifc_create_xrc_srq_out_bits { 5793290650Shselasky u8 status[0x8]; 5794290650Shselasky u8 reserved_0[0x18]; 5795290650Shselasky 5796290650Shselasky u8 syndrome[0x20]; 5797290650Shselasky 5798290650Shselasky u8 reserved_1[0x8]; 5799290650Shselasky u8 xrc_srqn[0x18]; 5800290650Shselasky 5801290650Shselasky u8 reserved_2[0x20]; 5802290650Shselasky}; 5803290650Shselasky 5804290650Shselaskystruct mlx5_ifc_create_xrc_srq_in_bits { 5805290650Shselasky u8 opcode[0x10]; 5806290650Shselasky u8 reserved_0[0x10]; 5807290650Shselasky 5808290650Shselasky u8 reserved_1[0x10]; 5809290650Shselasky u8 op_mod[0x10]; 5810290650Shselasky 5811290650Shselasky u8 reserved_2[0x40]; 5812290650Shselasky 5813290650Shselasky struct mlx5_ifc_xrc_srqc_bits xrc_srq_context_entry; 5814290650Shselasky 5815290650Shselasky u8 reserved_3[0x600]; 5816290650Shselasky 5817290650Shselasky u8 pas[0][0x40]; 5818290650Shselasky}; 5819290650Shselasky 5820290650Shselaskystruct mlx5_ifc_create_tis_out_bits { 5821290650Shselasky u8 status[0x8]; 5822290650Shselasky u8 reserved_0[0x18]; 5823290650Shselasky 5824290650Shselasky u8 syndrome[0x20]; 5825290650Shselasky 5826290650Shselasky u8 reserved_1[0x8]; 5827290650Shselasky u8 tisn[0x18]; 5828290650Shselasky 5829290650Shselasky u8 reserved_2[0x20]; 5830290650Shselasky}; 5831290650Shselasky 5832290650Shselaskystruct mlx5_ifc_create_tis_in_bits { 5833290650Shselasky u8 opcode[0x10]; 5834290650Shselasky u8 reserved_0[0x10]; 5835290650Shselasky 5836290650Shselasky u8 reserved_1[0x10]; 5837290650Shselasky u8 op_mod[0x10]; 5838290650Shselasky 5839290650Shselasky u8 reserved_2[0xc0]; 5840290650Shselasky 5841290650Shselasky struct mlx5_ifc_tisc_bits ctx; 5842290650Shselasky}; 5843290650Shselasky 5844290650Shselaskystruct mlx5_ifc_create_tir_out_bits { 5845290650Shselasky u8 status[0x8]; 5846290650Shselasky u8 reserved_0[0x18]; 5847290650Shselasky 5848290650Shselasky u8 syndrome[0x20]; 5849290650Shselasky 5850290650Shselasky u8 reserved_1[0x8]; 5851290650Shselasky u8 tirn[0x18]; 5852290650Shselasky 5853290650Shselasky u8 reserved_2[0x20]; 5854290650Shselasky}; 5855290650Shselasky 5856290650Shselaskystruct mlx5_ifc_create_tir_in_bits { 5857290650Shselasky u8 opcode[0x10]; 5858290650Shselasky u8 reserved_0[0x10]; 5859290650Shselasky 5860290650Shselasky u8 reserved_1[0x10]; 5861290650Shselasky u8 op_mod[0x10]; 5862290650Shselasky 5863290650Shselasky u8 reserved_2[0xc0]; 5864290650Shselasky 5865290650Shselasky struct mlx5_ifc_tirc_bits tir_context; 5866290650Shselasky}; 5867290650Shselasky 5868290650Shselaskystruct mlx5_ifc_create_srq_out_bits { 5869290650Shselasky u8 status[0x8]; 5870290650Shselasky u8 reserved_0[0x18]; 5871290650Shselasky 5872290650Shselasky u8 syndrome[0x20]; 5873290650Shselasky 5874290650Shselasky u8 reserved_1[0x8]; 5875290650Shselasky u8 srqn[0x18]; 5876290650Shselasky 5877290650Shselasky u8 reserved_2[0x20]; 5878290650Shselasky}; 5879290650Shselasky 5880290650Shselaskystruct mlx5_ifc_create_srq_in_bits { 5881290650Shselasky u8 opcode[0x10]; 5882290650Shselasky u8 reserved_0[0x10]; 5883290650Shselasky 5884290650Shselasky u8 reserved_1[0x10]; 5885290650Shselasky u8 op_mod[0x10]; 5886290650Shselasky 5887290650Shselasky u8 reserved_2[0x40]; 5888290650Shselasky 5889290650Shselasky struct mlx5_ifc_srqc_bits srq_context_entry; 5890290650Shselasky 5891290650Shselasky u8 reserved_3[0x600]; 5892290650Shselasky 5893290650Shselasky u8 pas[0][0x40]; 5894290650Shselasky}; 5895290650Shselasky 5896290650Shselaskystruct mlx5_ifc_create_sq_out_bits { 5897290650Shselasky u8 status[0x8]; 5898290650Shselasky u8 reserved_0[0x18]; 5899290650Shselasky 5900290650Shselasky u8 syndrome[0x20]; 5901290650Shselasky 5902290650Shselasky u8 reserved_1[0x8]; 5903290650Shselasky u8 sqn[0x18]; 5904290650Shselasky 5905290650Shselasky u8 reserved_2[0x20]; 5906290650Shselasky}; 5907290650Shselasky 5908290650Shselaskystruct mlx5_ifc_create_sq_in_bits { 5909290650Shselasky u8 opcode[0x10]; 5910290650Shselasky u8 reserved_0[0x10]; 5911290650Shselasky 5912290650Shselasky u8 reserved_1[0x10]; 5913290650Shselasky u8 op_mod[0x10]; 5914290650Shselasky 5915290650Shselasky u8 reserved_2[0xc0]; 5916290650Shselasky 5917290650Shselasky struct mlx5_ifc_sqc_bits ctx; 5918290650Shselasky}; 5919290650Shselasky 5920290650Shselaskystruct mlx5_ifc_create_rqt_out_bits { 5921290650Shselasky u8 status[0x8]; 5922290650Shselasky u8 reserved_0[0x18]; 5923290650Shselasky 5924290650Shselasky u8 syndrome[0x20]; 5925290650Shselasky 5926290650Shselasky u8 reserved_1[0x8]; 5927290650Shselasky u8 rqtn[0x18]; 5928290650Shselasky 5929290650Shselasky u8 reserved_2[0x20]; 5930290650Shselasky}; 5931290650Shselasky 5932290650Shselaskystruct mlx5_ifc_create_rqt_in_bits { 5933290650Shselasky u8 opcode[0x10]; 5934290650Shselasky u8 reserved_0[0x10]; 5935290650Shselasky 5936290650Shselasky u8 reserved_1[0x10]; 5937290650Shselasky u8 op_mod[0x10]; 5938290650Shselasky 5939290650Shselasky u8 reserved_2[0xc0]; 5940290650Shselasky 5941290650Shselasky struct mlx5_ifc_rqtc_bits rqt_context; 5942290650Shselasky}; 5943290650Shselasky 5944290650Shselaskystruct mlx5_ifc_create_rq_out_bits { 5945290650Shselasky u8 status[0x8]; 5946290650Shselasky u8 reserved_0[0x18]; 5947290650Shselasky 5948290650Shselasky u8 syndrome[0x20]; 5949290650Shselasky 5950290650Shselasky u8 reserved_1[0x8]; 5951290650Shselasky u8 rqn[0x18]; 5952290650Shselasky 5953290650Shselasky u8 reserved_2[0x20]; 5954290650Shselasky}; 5955290650Shselasky 5956290650Shselaskystruct mlx5_ifc_create_rq_in_bits { 5957290650Shselasky u8 opcode[0x10]; 5958290650Shselasky u8 reserved_0[0x10]; 5959290650Shselasky 5960290650Shselasky u8 reserved_1[0x10]; 5961290650Shselasky u8 op_mod[0x10]; 5962290650Shselasky 5963290650Shselasky u8 reserved_2[0xc0]; 5964290650Shselasky 5965290650Shselasky struct mlx5_ifc_rqc_bits ctx; 5966290650Shselasky}; 5967290650Shselasky 5968290650Shselaskystruct mlx5_ifc_create_rmp_out_bits { 5969290650Shselasky u8 status[0x8]; 5970290650Shselasky u8 reserved_0[0x18]; 5971290650Shselasky 5972290650Shselasky u8 syndrome[0x20]; 5973290650Shselasky 5974290650Shselasky u8 reserved_1[0x8]; 5975290650Shselasky u8 rmpn[0x18]; 5976290650Shselasky 5977290650Shselasky u8 reserved_2[0x20]; 5978290650Shselasky}; 5979290650Shselasky 5980290650Shselaskystruct mlx5_ifc_create_rmp_in_bits { 5981290650Shselasky u8 opcode[0x10]; 5982290650Shselasky u8 reserved_0[0x10]; 5983290650Shselasky 5984290650Shselasky u8 reserved_1[0x10]; 5985290650Shselasky u8 op_mod[0x10]; 5986290650Shselasky 5987290650Shselasky u8 reserved_2[0xc0]; 5988290650Shselasky 5989290650Shselasky struct mlx5_ifc_rmpc_bits ctx; 5990290650Shselasky}; 5991290650Shselasky 5992290650Shselaskystruct mlx5_ifc_create_qp_out_bits { 5993290650Shselasky u8 status[0x8]; 5994290650Shselasky u8 reserved_0[0x18]; 5995290650Shselasky 5996290650Shselasky u8 syndrome[0x20]; 5997290650Shselasky 5998290650Shselasky u8 reserved_1[0x8]; 5999290650Shselasky u8 qpn[0x18]; 6000290650Shselasky 6001290650Shselasky u8 reserved_2[0x20]; 6002290650Shselasky}; 6003290650Shselasky 6004290650Shselaskystruct mlx5_ifc_create_qp_in_bits { 6005290650Shselasky u8 opcode[0x10]; 6006290650Shselasky u8 reserved_0[0x10]; 6007290650Shselasky 6008290650Shselasky u8 reserved_1[0x10]; 6009290650Shselasky u8 op_mod[0x10]; 6010290650Shselasky 6011290650Shselasky u8 reserved_2[0x40]; 6012290650Shselasky 6013290650Shselasky u8 opt_param_mask[0x20]; 6014290650Shselasky 6015290650Shselasky u8 reserved_3[0x20]; 6016290650Shselasky 6017290650Shselasky struct mlx5_ifc_qpc_bits qpc; 6018290650Shselasky 6019290650Shselasky u8 reserved_4[0x80]; 6020290650Shselasky 6021290650Shselasky u8 pas[0][0x40]; 6022290650Shselasky}; 6023290650Shselasky 6024290650Shselaskystruct mlx5_ifc_create_psv_out_bits { 6025290650Shselasky u8 status[0x8]; 6026290650Shselasky u8 reserved_0[0x18]; 6027290650Shselasky 6028290650Shselasky u8 syndrome[0x20]; 6029290650Shselasky 6030290650Shselasky u8 reserved_1[0x40]; 6031290650Shselasky 6032290650Shselasky u8 reserved_2[0x8]; 6033290650Shselasky u8 psv0_index[0x18]; 6034290650Shselasky 6035290650Shselasky u8 reserved_3[0x8]; 6036290650Shselasky u8 psv1_index[0x18]; 6037290650Shselasky 6038290650Shselasky u8 reserved_4[0x8]; 6039290650Shselasky u8 psv2_index[0x18]; 6040290650Shselasky 6041290650Shselasky u8 reserved_5[0x8]; 6042290650Shselasky u8 psv3_index[0x18]; 6043290650Shselasky}; 6044290650Shselasky 6045290650Shselaskystruct mlx5_ifc_create_psv_in_bits { 6046290650Shselasky u8 opcode[0x10]; 6047290650Shselasky u8 reserved_0[0x10]; 6048290650Shselasky 6049290650Shselasky u8 reserved_1[0x10]; 6050290650Shselasky u8 op_mod[0x10]; 6051290650Shselasky 6052290650Shselasky u8 num_psv[0x4]; 6053290650Shselasky u8 reserved_2[0x4]; 6054290650Shselasky u8 pd[0x18]; 6055290650Shselasky 6056290650Shselasky u8 reserved_3[0x20]; 6057290650Shselasky}; 6058290650Shselasky 6059290650Shselaskystruct mlx5_ifc_create_mkey_out_bits { 6060290650Shselasky u8 status[0x8]; 6061290650Shselasky u8 reserved_0[0x18]; 6062290650Shselasky 6063290650Shselasky u8 syndrome[0x20]; 6064290650Shselasky 6065290650Shselasky u8 reserved_1[0x8]; 6066290650Shselasky u8 mkey_index[0x18]; 6067290650Shselasky 6068290650Shselasky u8 reserved_2[0x20]; 6069290650Shselasky}; 6070290650Shselasky 6071290650Shselaskystruct mlx5_ifc_create_mkey_in_bits { 6072290650Shselasky u8 opcode[0x10]; 6073290650Shselasky u8 reserved_0[0x10]; 6074290650Shselasky 6075290650Shselasky u8 reserved_1[0x10]; 6076290650Shselasky u8 op_mod[0x10]; 6077290650Shselasky 6078290650Shselasky u8 reserved_2[0x20]; 6079290650Shselasky 6080290650Shselasky u8 pg_access[0x1]; 6081290650Shselasky u8 reserved_3[0x1f]; 6082290650Shselasky 6083290650Shselasky struct mlx5_ifc_mkc_bits memory_key_mkey_entry; 6084290650Shselasky 6085290650Shselasky u8 reserved_4[0x80]; 6086290650Shselasky 6087290650Shselasky u8 translations_octword_actual_size[0x20]; 6088290650Shselasky 6089290650Shselasky u8 reserved_5[0x560]; 6090290650Shselasky 6091290650Shselasky u8 klm_pas_mtt[0][0x20]; 6092290650Shselasky}; 6093290650Shselasky 6094290650Shselaskystruct mlx5_ifc_create_flow_table_out_bits { 6095290650Shselasky u8 status[0x8]; 6096290650Shselasky u8 reserved_0[0x18]; 6097290650Shselasky 6098290650Shselasky u8 syndrome[0x20]; 6099290650Shselasky 6100290650Shselasky u8 reserved_1[0x8]; 6101290650Shselasky u8 table_id[0x18]; 6102290650Shselasky 6103290650Shselasky u8 reserved_2[0x20]; 6104290650Shselasky}; 6105290650Shselasky 6106290650Shselaskystruct mlx5_ifc_create_flow_table_in_bits { 6107290650Shselasky u8 opcode[0x10]; 6108290650Shselasky u8 reserved_0[0x10]; 6109290650Shselasky 6110290650Shselasky u8 reserved_1[0x10]; 6111290650Shselasky u8 op_mod[0x10]; 6112290650Shselasky 6113290650Shselasky u8 other_vport[0x1]; 6114290650Shselasky u8 reserved_2[0xf]; 6115290650Shselasky u8 vport_number[0x10]; 6116290650Shselasky 6117290650Shselasky u8 reserved_3[0x20]; 6118290650Shselasky 6119290650Shselasky u8 table_type[0x8]; 6120290650Shselasky u8 reserved_4[0x18]; 6121290650Shselasky 6122290650Shselasky u8 reserved_5[0x20]; 6123290650Shselasky 6124290650Shselasky u8 reserved_6[0x8]; 6125290650Shselasky u8 level[0x8]; 6126290650Shselasky u8 reserved_7[0x8]; 6127290650Shselasky u8 log_size[0x8]; 6128290650Shselasky 6129290650Shselasky u8 reserved_8[0x120]; 6130290650Shselasky}; 6131290650Shselasky 6132290650Shselaskystruct mlx5_ifc_create_flow_group_out_bits { 6133290650Shselasky u8 status[0x8]; 6134290650Shselasky u8 reserved_0[0x18]; 6135290650Shselasky 6136290650Shselasky u8 syndrome[0x20]; 6137290650Shselasky 6138290650Shselasky u8 reserved_1[0x8]; 6139290650Shselasky u8 group_id[0x18]; 6140290650Shselasky 6141290650Shselasky u8 reserved_2[0x20]; 6142290650Shselasky}; 6143290650Shselasky 6144290650Shselaskyenum { 6145290650Shselasky MLX5_CREATE_FLOW_GROUP_IN_MATCH_CRITERIA_ENABLE_OUTER_HEADERS = 0x0, 6146290650Shselasky MLX5_CREATE_FLOW_GROUP_IN_MATCH_CRITERIA_ENABLE_MISC_PARAMETERS = 0x1, 6147290650Shselasky MLX5_CREATE_FLOW_GROUP_IN_MATCH_CRITERIA_ENABLE_INNER_HEADERS = 0x2, 6148290650Shselasky}; 6149290650Shselasky 6150290650Shselaskystruct mlx5_ifc_create_flow_group_in_bits { 6151290650Shselasky u8 opcode[0x10]; 6152290650Shselasky u8 reserved_0[0x10]; 6153290650Shselasky 6154290650Shselasky u8 reserved_1[0x10]; 6155290650Shselasky u8 op_mod[0x10]; 6156290650Shselasky 6157290650Shselasky u8 other_vport[0x1]; 6158290650Shselasky u8 reserved_2[0xf]; 6159290650Shselasky u8 vport_number[0x10]; 6160290650Shselasky 6161290650Shselasky u8 reserved_3[0x20]; 6162290650Shselasky 6163290650Shselasky u8 table_type[0x8]; 6164290650Shselasky u8 reserved_4[0x18]; 6165290650Shselasky 6166290650Shselasky u8 reserved_5[0x8]; 6167290650Shselasky u8 table_id[0x18]; 6168290650Shselasky 6169290650Shselasky u8 reserved_6[0x20]; 6170290650Shselasky 6171290650Shselasky u8 start_flow_index[0x20]; 6172290650Shselasky 6173290650Shselasky u8 reserved_7[0x20]; 6174290650Shselasky 6175290650Shselasky u8 end_flow_index[0x20]; 6176290650Shselasky 6177290650Shselasky u8 reserved_8[0xa0]; 6178290650Shselasky 6179290650Shselasky u8 reserved_9[0x18]; 6180290650Shselasky u8 match_criteria_enable[0x8]; 6181290650Shselasky 6182290650Shselasky struct mlx5_ifc_fte_match_param_bits match_criteria; 6183290650Shselasky 6184290650Shselasky u8 reserved_10[0xe00]; 6185290650Shselasky}; 6186290650Shselasky 6187290650Shselaskystruct mlx5_ifc_create_eq_out_bits { 6188290650Shselasky u8 status[0x8]; 6189290650Shselasky u8 reserved_0[0x18]; 6190290650Shselasky 6191290650Shselasky u8 syndrome[0x20]; 6192290650Shselasky 6193290650Shselasky u8 reserved_1[0x18]; 6194290650Shselasky u8 eq_number[0x8]; 6195290650Shselasky 6196290650Shselasky u8 reserved_2[0x20]; 6197290650Shselasky}; 6198290650Shselasky 6199290650Shselaskystruct mlx5_ifc_create_eq_in_bits { 6200290650Shselasky u8 opcode[0x10]; 6201290650Shselasky u8 reserved_0[0x10]; 6202290650Shselasky 6203290650Shselasky u8 reserved_1[0x10]; 6204290650Shselasky u8 op_mod[0x10]; 6205290650Shselasky 6206290650Shselasky u8 reserved_2[0x40]; 6207290650Shselasky 6208290650Shselasky struct mlx5_ifc_eqc_bits eq_context_entry; 6209290650Shselasky 6210290650Shselasky u8 reserved_3[0x40]; 6211290650Shselasky 6212290650Shselasky u8 event_bitmask[0x40]; 6213290650Shselasky 6214290650Shselasky u8 reserved_4[0x580]; 6215290650Shselasky 6216290650Shselasky u8 pas[0][0x40]; 6217290650Shselasky}; 6218290650Shselasky 6219290650Shselaskystruct mlx5_ifc_create_dct_out_bits { 6220290650Shselasky u8 status[0x8]; 6221290650Shselasky u8 reserved_0[0x18]; 6222290650Shselasky 6223290650Shselasky u8 syndrome[0x20]; 6224290650Shselasky 6225290650Shselasky u8 reserved_1[0x8]; 6226290650Shselasky u8 dctn[0x18]; 6227290650Shselasky 6228290650Shselasky u8 reserved_2[0x20]; 6229290650Shselasky}; 6230290650Shselasky 6231290650Shselaskystruct mlx5_ifc_create_dct_in_bits { 6232290650Shselasky u8 opcode[0x10]; 6233290650Shselasky u8 reserved_0[0x10]; 6234290650Shselasky 6235290650Shselasky u8 reserved_1[0x10]; 6236290650Shselasky u8 op_mod[0x10]; 6237290650Shselasky 6238290650Shselasky u8 reserved_2[0x40]; 6239290650Shselasky 6240290650Shselasky struct mlx5_ifc_dctc_bits dct_context_entry; 6241290650Shselasky 6242290650Shselasky u8 reserved_3[0x180]; 6243290650Shselasky}; 6244290650Shselasky 6245290650Shselaskystruct mlx5_ifc_create_cq_out_bits { 6246290650Shselasky u8 status[0x8]; 6247290650Shselasky u8 reserved_0[0x18]; 6248290650Shselasky 6249290650Shselasky u8 syndrome[0x20]; 6250290650Shselasky 6251290650Shselasky u8 reserved_1[0x8]; 6252290650Shselasky u8 cqn[0x18]; 6253290650Shselasky 6254290650Shselasky u8 reserved_2[0x20]; 6255290650Shselasky}; 6256290650Shselasky 6257290650Shselaskystruct mlx5_ifc_create_cq_in_bits { 6258290650Shselasky u8 opcode[0x10]; 6259290650Shselasky u8 reserved_0[0x10]; 6260290650Shselasky 6261290650Shselasky u8 reserved_1[0x10]; 6262290650Shselasky u8 op_mod[0x10]; 6263290650Shselasky 6264290650Shselasky u8 reserved_2[0x40]; 6265290650Shselasky 6266290650Shselasky struct mlx5_ifc_cqc_bits cq_context; 6267290650Shselasky 6268290650Shselasky u8 reserved_3[0x600]; 6269290650Shselasky 6270290650Shselasky u8 pas[0][0x40]; 6271290650Shselasky}; 6272290650Shselasky 6273290650Shselaskystruct mlx5_ifc_config_int_moderation_out_bits { 6274290650Shselasky u8 status[0x8]; 6275290650Shselasky u8 reserved_0[0x18]; 6276290650Shselasky 6277290650Shselasky u8 syndrome[0x20]; 6278290650Shselasky 6279290650Shselasky u8 reserved_1[0x4]; 6280290650Shselasky u8 min_delay[0xc]; 6281290650Shselasky u8 int_vector[0x10]; 6282290650Shselasky 6283290650Shselasky u8 reserved_2[0x20]; 6284290650Shselasky}; 6285290650Shselasky 6286290650Shselaskyenum { 6287290650Shselasky MLX5_CONFIG_INT_MODERATION_IN_OP_MOD_WRITE = 0x0, 6288290650Shselasky MLX5_CONFIG_INT_MODERATION_IN_OP_MOD_READ = 0x1, 6289290650Shselasky}; 6290290650Shselasky 6291290650Shselaskystruct mlx5_ifc_config_int_moderation_in_bits { 6292290650Shselasky u8 opcode[0x10]; 6293290650Shselasky u8 reserved_0[0x10]; 6294290650Shselasky 6295290650Shselasky u8 reserved_1[0x10]; 6296290650Shselasky u8 op_mod[0x10]; 6297290650Shselasky 6298290650Shselasky u8 reserved_2[0x4]; 6299290650Shselasky u8 min_delay[0xc]; 6300290650Shselasky u8 int_vector[0x10]; 6301290650Shselasky 6302290650Shselasky u8 reserved_3[0x20]; 6303290650Shselasky}; 6304290650Shselasky 6305290650Shselaskystruct mlx5_ifc_attach_to_mcg_out_bits { 6306290650Shselasky u8 status[0x8]; 6307290650Shselasky u8 reserved_0[0x18]; 6308290650Shselasky 6309290650Shselasky u8 syndrome[0x20]; 6310290650Shselasky 6311290650Shselasky u8 reserved_1[0x40]; 6312290650Shselasky}; 6313290650Shselasky 6314290650Shselaskystruct mlx5_ifc_attach_to_mcg_in_bits { 6315290650Shselasky u8 opcode[0x10]; 6316290650Shselasky u8 reserved_0[0x10]; 6317290650Shselasky 6318290650Shselasky u8 reserved_1[0x10]; 6319290650Shselasky u8 op_mod[0x10]; 6320290650Shselasky 6321290650Shselasky u8 reserved_2[0x8]; 6322290650Shselasky u8 qpn[0x18]; 6323290650Shselasky 6324290650Shselasky u8 reserved_3[0x20]; 6325290650Shselasky 6326290650Shselasky u8 multicast_gid[16][0x8]; 6327290650Shselasky}; 6328290650Shselasky 6329290650Shselaskystruct mlx5_ifc_arm_xrc_srq_out_bits { 6330290650Shselasky u8 status[0x8]; 6331290650Shselasky u8 reserved_0[0x18]; 6332290650Shselasky 6333290650Shselasky u8 syndrome[0x20]; 6334290650Shselasky 6335290650Shselasky u8 reserved_1[0x40]; 6336290650Shselasky}; 6337290650Shselasky 6338290650Shselaskyenum { 6339290650Shselasky MLX5_ARM_XRC_SRQ_IN_OP_MOD_XRC_SRQ = 0x1, 6340290650Shselasky}; 6341290650Shselasky 6342290650Shselaskystruct mlx5_ifc_arm_xrc_srq_in_bits { 6343290650Shselasky u8 opcode[0x10]; 6344290650Shselasky u8 reserved_0[0x10]; 6345290650Shselasky 6346290650Shselasky u8 reserved_1[0x10]; 6347290650Shselasky u8 op_mod[0x10]; 6348290650Shselasky 6349290650Shselasky u8 reserved_2[0x8]; 6350290650Shselasky u8 xrc_srqn[0x18]; 6351290650Shselasky 6352290650Shselasky u8 reserved_3[0x10]; 6353290650Shselasky u8 lwm[0x10]; 6354290650Shselasky}; 6355290650Shselasky 6356290650Shselaskystruct mlx5_ifc_arm_rq_out_bits { 6357290650Shselasky u8 status[0x8]; 6358290650Shselasky u8 reserved_0[0x18]; 6359290650Shselasky 6360290650Shselasky u8 syndrome[0x20]; 6361290650Shselasky 6362290650Shselasky u8 reserved_1[0x40]; 6363290650Shselasky}; 6364290650Shselasky 6365290650Shselaskyenum { 6366290650Shselasky MLX5_ARM_RQ_IN_OP_MOD_SRQ = 0x1, 6367290650Shselasky}; 6368290650Shselasky 6369290650Shselaskystruct mlx5_ifc_arm_rq_in_bits { 6370290650Shselasky u8 opcode[0x10]; 6371290650Shselasky u8 reserved_0[0x10]; 6372290650Shselasky 6373290650Shselasky u8 reserved_1[0x10]; 6374290650Shselasky u8 op_mod[0x10]; 6375290650Shselasky 6376290650Shselasky u8 reserved_2[0x8]; 6377290650Shselasky u8 srq_number[0x18]; 6378290650Shselasky 6379290650Shselasky u8 reserved_3[0x10]; 6380290650Shselasky u8 lwm[0x10]; 6381290650Shselasky}; 6382290650Shselasky 6383290650Shselaskystruct mlx5_ifc_arm_dct_out_bits { 6384290650Shselasky u8 status[0x8]; 6385290650Shselasky u8 reserved_0[0x18]; 6386290650Shselasky 6387290650Shselasky u8 syndrome[0x20]; 6388290650Shselasky 6389290650Shselasky u8 reserved_1[0x40]; 6390290650Shselasky}; 6391290650Shselasky 6392290650Shselaskystruct mlx5_ifc_arm_dct_in_bits { 6393290650Shselasky u8 opcode[0x10]; 6394290650Shselasky u8 reserved_0[0x10]; 6395290650Shselasky 6396290650Shselasky u8 reserved_1[0x10]; 6397290650Shselasky u8 op_mod[0x10]; 6398290650Shselasky 6399290650Shselasky u8 reserved_2[0x8]; 6400290650Shselasky u8 dctn[0x18]; 6401290650Shselasky 6402290650Shselasky u8 reserved_3[0x20]; 6403290650Shselasky}; 6404290650Shselasky 6405290650Shselaskystruct mlx5_ifc_alloc_xrcd_out_bits { 6406290650Shselasky u8 status[0x8]; 6407290650Shselasky u8 reserved_0[0x18]; 6408290650Shselasky 6409290650Shselasky u8 syndrome[0x20]; 6410290650Shselasky 6411290650Shselasky u8 reserved_1[0x8]; 6412290650Shselasky u8 xrcd[0x18]; 6413290650Shselasky 6414290650Shselasky u8 reserved_2[0x20]; 6415290650Shselasky}; 6416290650Shselasky 6417290650Shselaskystruct mlx5_ifc_alloc_xrcd_in_bits { 6418290650Shselasky u8 opcode[0x10]; 6419290650Shselasky u8 reserved_0[0x10]; 6420290650Shselasky 6421290650Shselasky u8 reserved_1[0x10]; 6422290650Shselasky u8 op_mod[0x10]; 6423290650Shselasky 6424290650Shselasky u8 reserved_2[0x40]; 6425290650Shselasky}; 6426290650Shselasky 6427290650Shselaskystruct mlx5_ifc_alloc_uar_out_bits { 6428290650Shselasky u8 status[0x8]; 6429290650Shselasky u8 reserved_0[0x18]; 6430290650Shselasky 6431290650Shselasky u8 syndrome[0x20]; 6432290650Shselasky 6433290650Shselasky u8 reserved_1[0x8]; 6434290650Shselasky u8 uar[0x18]; 6435290650Shselasky 6436290650Shselasky u8 reserved_2[0x20]; 6437290650Shselasky}; 6438290650Shselasky 6439290650Shselaskystruct mlx5_ifc_alloc_uar_in_bits { 6440290650Shselasky u8 opcode[0x10]; 6441290650Shselasky u8 reserved_0[0x10]; 6442290650Shselasky 6443290650Shselasky u8 reserved_1[0x10]; 6444290650Shselasky u8 op_mod[0x10]; 6445290650Shselasky 6446290650Shselasky u8 reserved_2[0x40]; 6447290650Shselasky}; 6448290650Shselasky 6449290650Shselaskystruct mlx5_ifc_alloc_transport_domain_out_bits { 6450290650Shselasky u8 status[0x8]; 6451290650Shselasky u8 reserved_0[0x18]; 6452290650Shselasky 6453290650Shselasky u8 syndrome[0x20]; 6454290650Shselasky 6455290650Shselasky u8 reserved_1[0x8]; 6456290650Shselasky u8 transport_domain[0x18]; 6457290650Shselasky 6458290650Shselasky u8 reserved_2[0x20]; 6459290650Shselasky}; 6460290650Shselasky 6461290650Shselaskystruct mlx5_ifc_alloc_transport_domain_in_bits { 6462290650Shselasky u8 opcode[0x10]; 6463290650Shselasky u8 reserved_0[0x10]; 6464290650Shselasky 6465290650Shselasky u8 reserved_1[0x10]; 6466290650Shselasky u8 op_mod[0x10]; 6467290650Shselasky 6468290650Shselasky u8 reserved_2[0x40]; 6469290650Shselasky}; 6470290650Shselasky 6471290650Shselaskystruct mlx5_ifc_alloc_q_counter_out_bits { 6472290650Shselasky u8 status[0x8]; 6473290650Shselasky u8 reserved_0[0x18]; 6474290650Shselasky 6475290650Shselasky u8 syndrome[0x20]; 6476290650Shselasky 6477290650Shselasky u8 reserved_1[0x18]; 6478290650Shselasky u8 counter_set_id[0x8]; 6479290650Shselasky 6480290650Shselasky u8 reserved_2[0x20]; 6481290650Shselasky}; 6482290650Shselasky 6483290650Shselaskystruct mlx5_ifc_alloc_q_counter_in_bits { 6484290650Shselasky u8 opcode[0x10]; 6485290650Shselasky u8 reserved_0[0x10]; 6486290650Shselasky 6487290650Shselasky u8 reserved_1[0x10]; 6488290650Shselasky u8 op_mod[0x10]; 6489290650Shselasky 6490290650Shselasky u8 reserved_2[0x40]; 6491290650Shselasky}; 6492290650Shselasky 6493290650Shselaskystruct mlx5_ifc_alloc_pd_out_bits { 6494290650Shselasky u8 status[0x8]; 6495290650Shselasky u8 reserved_0[0x18]; 6496290650Shselasky 6497290650Shselasky u8 syndrome[0x20]; 6498290650Shselasky 6499290650Shselasky u8 reserved_1[0x8]; 6500290650Shselasky u8 pd[0x18]; 6501290650Shselasky 6502290650Shselasky u8 reserved_2[0x20]; 6503290650Shselasky}; 6504290650Shselasky 6505290650Shselaskystruct mlx5_ifc_alloc_pd_in_bits { 6506290650Shselasky u8 opcode[0x10]; 6507290650Shselasky u8 reserved_0[0x10]; 6508290650Shselasky 6509290650Shselasky u8 reserved_1[0x10]; 6510290650Shselasky u8 op_mod[0x10]; 6511290650Shselasky 6512290650Shselasky u8 reserved_2[0x40]; 6513290650Shselasky}; 6514290650Shselasky 6515290650Shselaskystruct mlx5_ifc_alloc_flow_counter_out_bits { 6516290650Shselasky u8 status[0x8]; 6517290650Shselasky u8 reserved_0[0x18]; 6518290650Shselasky 6519290650Shselasky u8 syndrome[0x20]; 6520290650Shselasky 6521290650Shselasky u8 reserved_1[0x10]; 6522290650Shselasky u8 flow_counter_id[0x10]; 6523290650Shselasky 6524290650Shselasky u8 reserved_2[0x20]; 6525290650Shselasky}; 6526290650Shselasky 6527290650Shselaskystruct mlx5_ifc_alloc_flow_counter_in_bits { 6528290650Shselasky u8 opcode[0x10]; 6529290650Shselasky u8 reserved_0[0x10]; 6530290650Shselasky 6531290650Shselasky u8 reserved_1[0x10]; 6532290650Shselasky u8 op_mod[0x10]; 6533290650Shselasky 6534290650Shselasky u8 reserved_2[0x40]; 6535290650Shselasky}; 6536290650Shselasky 6537290650Shselaskystruct mlx5_ifc_add_vxlan_udp_dport_out_bits { 6538290650Shselasky u8 status[0x8]; 6539290650Shselasky u8 reserved_0[0x18]; 6540290650Shselasky 6541290650Shselasky u8 syndrome[0x20]; 6542290650Shselasky 6543290650Shselasky u8 reserved_1[0x40]; 6544290650Shselasky}; 6545290650Shselasky 6546290650Shselaskystruct mlx5_ifc_add_vxlan_udp_dport_in_bits { 6547290650Shselasky u8 opcode[0x10]; 6548290650Shselasky u8 reserved_0[0x10]; 6549290650Shselasky 6550290650Shselasky u8 reserved_1[0x10]; 6551290650Shselasky u8 op_mod[0x10]; 6552290650Shselasky 6553290650Shselasky u8 reserved_2[0x20]; 6554290650Shselasky 6555290650Shselasky u8 reserved_3[0x10]; 6556290650Shselasky u8 vxlan_udp_port[0x10]; 6557290650Shselasky}; 6558290650Shselasky 6559290650Shselaskystruct mlx5_ifc_activate_tracer_out_bits { 6560290650Shselasky u8 status[0x8]; 6561290650Shselasky u8 reserved_0[0x18]; 6562290650Shselasky 6563290650Shselasky u8 syndrome[0x20]; 6564290650Shselasky 6565290650Shselasky u8 reserved_1[0x40]; 6566290650Shselasky}; 6567290650Shselasky 6568290650Shselaskystruct mlx5_ifc_activate_tracer_in_bits { 6569290650Shselasky u8 opcode[0x10]; 6570290650Shselasky u8 reserved_0[0x10]; 6571290650Shselasky 6572290650Shselasky u8 reserved_1[0x10]; 6573290650Shselasky u8 op_mod[0x10]; 6574290650Shselasky 6575290650Shselasky u8 mkey[0x20]; 6576290650Shselasky 6577290650Shselasky u8 reserved_2[0x20]; 6578290650Shselasky}; 6579290650Shselasky 6580290650Shselaskystruct mlx5_ifc_access_register_out_bits { 6581290650Shselasky u8 status[0x8]; 6582290650Shselasky u8 reserved_0[0x18]; 6583290650Shselasky 6584290650Shselasky u8 syndrome[0x20]; 6585290650Shselasky 6586290650Shselasky u8 reserved_1[0x40]; 6587290650Shselasky 6588290650Shselasky u8 register_data[0][0x20]; 6589290650Shselasky}; 6590290650Shselasky 6591290650Shselaskyenum { 6592290650Shselasky MLX5_ACCESS_REGISTER_IN_OP_MOD_WRITE = 0x0, 6593290650Shselasky MLX5_ACCESS_REGISTER_IN_OP_MOD_READ = 0x1, 6594290650Shselasky}; 6595290650Shselasky 6596290650Shselaskystruct mlx5_ifc_access_register_in_bits { 6597290650Shselasky u8 opcode[0x10]; 6598290650Shselasky u8 reserved_0[0x10]; 6599290650Shselasky 6600290650Shselasky u8 reserved_1[0x10]; 6601290650Shselasky u8 op_mod[0x10]; 6602290650Shselasky 6603290650Shselasky u8 reserved_2[0x10]; 6604290650Shselasky u8 register_id[0x10]; 6605290650Shselasky 6606290650Shselasky u8 argument[0x20]; 6607290650Shselasky 6608290650Shselasky u8 register_data[0][0x20]; 6609290650Shselasky}; 6610290650Shselasky 6611290650Shselaskystruct mlx5_ifc_sltp_reg_bits { 6612290650Shselasky u8 status[0x4]; 6613290650Shselasky u8 version[0x4]; 6614290650Shselasky u8 local_port[0x8]; 6615290650Shselasky u8 pnat[0x2]; 6616290650Shselasky u8 reserved_0[0x2]; 6617290650Shselasky u8 lane[0x4]; 6618290650Shselasky u8 reserved_1[0x8]; 6619290650Shselasky 6620290650Shselasky u8 reserved_2[0x20]; 6621290650Shselasky 6622290650Shselasky u8 reserved_3[0x7]; 6623290650Shselasky u8 polarity[0x1]; 6624290650Shselasky u8 ob_tap0[0x8]; 6625290650Shselasky u8 ob_tap1[0x8]; 6626290650Shselasky u8 ob_tap2[0x8]; 6627290650Shselasky 6628290650Shselasky u8 reserved_4[0xc]; 6629290650Shselasky u8 ob_preemp_mode[0x4]; 6630290650Shselasky u8 ob_reg[0x8]; 6631290650Shselasky u8 ob_bias[0x8]; 6632290650Shselasky 6633290650Shselasky u8 reserved_5[0x20]; 6634290650Shselasky}; 6635290650Shselasky 6636290650Shselaskystruct mlx5_ifc_slrp_reg_bits { 6637290650Shselasky u8 status[0x4]; 6638290650Shselasky u8 version[0x4]; 6639290650Shselasky u8 local_port[0x8]; 6640290650Shselasky u8 pnat[0x2]; 6641290650Shselasky u8 reserved_0[0x2]; 6642290650Shselasky u8 lane[0x4]; 6643290650Shselasky u8 reserved_1[0x8]; 6644290650Shselasky 6645290650Shselasky u8 ib_sel[0x2]; 6646290650Shselasky u8 reserved_2[0x11]; 6647290650Shselasky u8 dp_sel[0x1]; 6648290650Shselasky u8 dp90sel[0x4]; 6649290650Shselasky u8 mix90phase[0x8]; 6650290650Shselasky 6651290650Shselasky u8 ffe_tap0[0x8]; 6652290650Shselasky u8 ffe_tap1[0x8]; 6653290650Shselasky u8 ffe_tap2[0x8]; 6654290650Shselasky u8 ffe_tap3[0x8]; 6655290650Shselasky 6656290650Shselasky u8 ffe_tap4[0x8]; 6657290650Shselasky u8 ffe_tap5[0x8]; 6658290650Shselasky u8 ffe_tap6[0x8]; 6659290650Shselasky u8 ffe_tap7[0x8]; 6660290650Shselasky 6661290650Shselasky u8 ffe_tap8[0x8]; 6662290650Shselasky u8 mixerbias_tap_amp[0x8]; 6663290650Shselasky u8 reserved_3[0x7]; 6664290650Shselasky u8 ffe_tap_en[0x9]; 6665290650Shselasky 6666290650Shselasky u8 ffe_tap_offset0[0x8]; 6667290650Shselasky u8 ffe_tap_offset1[0x8]; 6668290650Shselasky u8 slicer_offset0[0x10]; 6669290650Shselasky 6670290650Shselasky u8 mixer_offset0[0x10]; 6671290650Shselasky u8 mixer_offset1[0x10]; 6672290650Shselasky 6673290650Shselasky u8 mixerbgn_inp[0x8]; 6674290650Shselasky u8 mixerbgn_inn[0x8]; 6675290650Shselasky u8 mixerbgn_refp[0x8]; 6676290650Shselasky u8 mixerbgn_refn[0x8]; 6677290650Shselasky 6678290650Shselasky u8 sel_slicer_lctrl_h[0x1]; 6679290650Shselasky u8 sel_slicer_lctrl_l[0x1]; 6680290650Shselasky u8 reserved_4[0x1]; 6681290650Shselasky u8 ref_mixer_vreg[0x5]; 6682290650Shselasky u8 slicer_gctrl[0x8]; 6683290650Shselasky u8 lctrl_input[0x8]; 6684290650Shselasky u8 mixer_offset_cm1[0x8]; 6685290650Shselasky 6686290650Shselasky u8 common_mode[0x6]; 6687290650Shselasky u8 reserved_5[0x1]; 6688290650Shselasky u8 mixer_offset_cm0[0x9]; 6689290650Shselasky u8 reserved_6[0x7]; 6690290650Shselasky u8 slicer_offset_cm[0x9]; 6691290650Shselasky}; 6692290650Shselasky 6693290650Shselaskystruct mlx5_ifc_slrg_reg_bits { 6694290650Shselasky u8 status[0x4]; 6695290650Shselasky u8 version[0x4]; 6696290650Shselasky u8 local_port[0x8]; 6697290650Shselasky u8 pnat[0x2]; 6698290650Shselasky u8 reserved_0[0x2]; 6699290650Shselasky u8 lane[0x4]; 6700290650Shselasky u8 reserved_1[0x8]; 6701290650Shselasky 6702290650Shselasky u8 time_to_link_up[0x10]; 6703290650Shselasky u8 reserved_2[0xc]; 6704290650Shselasky u8 grade_lane_speed[0x4]; 6705290650Shselasky 6706290650Shselasky u8 grade_version[0x8]; 6707290650Shselasky u8 grade[0x18]; 6708290650Shselasky 6709290650Shselasky u8 reserved_3[0x4]; 6710290650Shselasky u8 height_grade_type[0x4]; 6711290650Shselasky u8 height_grade[0x18]; 6712290650Shselasky 6713290650Shselasky u8 height_dz[0x10]; 6714290650Shselasky u8 height_dv[0x10]; 6715290650Shselasky 6716290650Shselasky u8 reserved_4[0x10]; 6717290650Shselasky u8 height_sigma[0x10]; 6718290650Shselasky 6719290650Shselasky u8 reserved_5[0x20]; 6720290650Shselasky 6721290650Shselasky u8 reserved_6[0x4]; 6722290650Shselasky u8 phase_grade_type[0x4]; 6723290650Shselasky u8 phase_grade[0x18]; 6724290650Shselasky 6725290650Shselasky u8 reserved_7[0x8]; 6726290650Shselasky u8 phase_eo_pos[0x8]; 6727290650Shselasky u8 reserved_8[0x8]; 6728290650Shselasky u8 phase_eo_neg[0x8]; 6729290650Shselasky 6730290650Shselasky u8 ffe_set_tested[0x10]; 6731290650Shselasky u8 test_errors_per_lane[0x10]; 6732290650Shselasky}; 6733290650Shselasky 6734290650Shselaskystruct mlx5_ifc_pvlc_reg_bits { 6735290650Shselasky u8 reserved_0[0x8]; 6736290650Shselasky u8 local_port[0x8]; 6737290650Shselasky u8 reserved_1[0x10]; 6738290650Shselasky 6739290650Shselasky u8 reserved_2[0x1c]; 6740290650Shselasky u8 vl_hw_cap[0x4]; 6741290650Shselasky 6742290650Shselasky u8 reserved_3[0x1c]; 6743290650Shselasky u8 vl_admin[0x4]; 6744290650Shselasky 6745290650Shselasky u8 reserved_4[0x1c]; 6746290650Shselasky u8 vl_operational[0x4]; 6747290650Shselasky}; 6748290650Shselasky 6749290650Shselaskystruct mlx5_ifc_pude_reg_bits { 6750290650Shselasky u8 swid[0x8]; 6751290650Shselasky u8 local_port[0x8]; 6752290650Shselasky u8 reserved_0[0x4]; 6753290650Shselasky u8 admin_status[0x4]; 6754290650Shselasky u8 reserved_1[0x4]; 6755290650Shselasky u8 oper_status[0x4]; 6756290650Shselasky 6757290650Shselasky u8 reserved_2[0x60]; 6758290650Shselasky}; 6759290650Shselasky 6760290650Shselaskyenum { 6761290650Shselasky MLX5_PTYS_REG_PROTO_MASK_INFINIBAND = 0x1, 6762290650Shselasky MLX5_PTYS_REG_PROTO_MASK_ETHERNET = 0x4, 6763290650Shselasky}; 6764290650Shselasky 6765290650Shselaskystruct mlx5_ifc_ptys_reg_bits { 6766290650Shselasky u8 reserved_0[0x8]; 6767290650Shselasky u8 local_port[0x8]; 6768290650Shselasky u8 reserved_1[0xd]; 6769290650Shselasky u8 proto_mask[0x3]; 6770290650Shselasky 6771290650Shselasky u8 reserved_2[0x40]; 6772290650Shselasky 6773290650Shselasky u8 eth_proto_capability[0x20]; 6774290650Shselasky 6775290650Shselasky u8 ib_link_width_capability[0x10]; 6776290650Shselasky u8 ib_proto_capability[0x10]; 6777290650Shselasky 6778290650Shselasky u8 reserved_3[0x20]; 6779290650Shselasky 6780290650Shselasky u8 eth_proto_admin[0x20]; 6781290650Shselasky 6782290650Shselasky u8 ib_link_width_admin[0x10]; 6783290650Shselasky u8 ib_proto_admin[0x10]; 6784290650Shselasky 6785290650Shselasky u8 reserved_4[0x20]; 6786290650Shselasky 6787290650Shselasky u8 eth_proto_oper[0x20]; 6788290650Shselasky 6789290650Shselasky u8 ib_link_width_oper[0x10]; 6790290650Shselasky u8 ib_proto_oper[0x10]; 6791290650Shselasky 6792290650Shselasky u8 reserved_5[0x20]; 6793290650Shselasky 6794290650Shselasky u8 eth_proto_lp_advertise[0x20]; 6795290650Shselasky 6796290650Shselasky u8 reserved_6[0x60]; 6797290650Shselasky}; 6798290650Shselasky 6799290650Shselaskystruct mlx5_ifc_ptas_reg_bits { 6800290650Shselasky u8 reserved_0[0x20]; 6801290650Shselasky 6802290650Shselasky u8 algorithm_options[0x10]; 6803290650Shselasky u8 reserved_1[0x4]; 6804290650Shselasky u8 repetitions_mode[0x4]; 6805290650Shselasky u8 num_of_repetitions[0x8]; 6806290650Shselasky 6807290650Shselasky u8 grade_version[0x8]; 6808290650Shselasky u8 height_grade_type[0x4]; 6809290650Shselasky u8 phase_grade_type[0x4]; 6810290650Shselasky u8 height_grade_weight[0x8]; 6811290650Shselasky u8 phase_grade_weight[0x8]; 6812290650Shselasky 6813290650Shselasky u8 gisim_measure_bits[0x10]; 6814290650Shselasky u8 adaptive_tap_measure_bits[0x10]; 6815290650Shselasky 6816290650Shselasky u8 ber_bath_high_error_threshold[0x10]; 6817290650Shselasky u8 ber_bath_mid_error_threshold[0x10]; 6818290650Shselasky 6819290650Shselasky u8 ber_bath_low_error_threshold[0x10]; 6820290650Shselasky u8 one_ratio_high_threshold[0x10]; 6821290650Shselasky 6822290650Shselasky u8 one_ratio_high_mid_threshold[0x10]; 6823290650Shselasky u8 one_ratio_low_mid_threshold[0x10]; 6824290650Shselasky 6825290650Shselasky u8 one_ratio_low_threshold[0x10]; 6826290650Shselasky u8 ndeo_error_threshold[0x10]; 6827290650Shselasky 6828290650Shselasky u8 mixer_offset_step_size[0x10]; 6829290650Shselasky u8 reserved_2[0x8]; 6830290650Shselasky u8 mix90_phase_for_voltage_bath[0x8]; 6831290650Shselasky 6832290650Shselasky u8 mixer_offset_start[0x10]; 6833290650Shselasky u8 mixer_offset_end[0x10]; 6834290650Shselasky 6835290650Shselasky u8 reserved_3[0x15]; 6836290650Shselasky u8 ber_test_time[0xb]; 6837290650Shselasky}; 6838290650Shselasky 6839290650Shselaskystruct mlx5_ifc_pspa_reg_bits { 6840290650Shselasky u8 swid[0x8]; 6841290650Shselasky u8 local_port[0x8]; 6842290650Shselasky u8 sub_port[0x8]; 6843290650Shselasky u8 reserved_0[0x8]; 6844290650Shselasky 6845290650Shselasky u8 reserved_1[0x20]; 6846290650Shselasky}; 6847290650Shselasky 6848290650Shselaskystruct mlx5_ifc_ppsc_reg_bits { 6849290650Shselasky u8 reserved_0[0x8]; 6850290650Shselasky u8 local_port[0x8]; 6851290650Shselasky u8 reserved_1[0x10]; 6852290650Shselasky 6853290650Shselasky u8 reserved_2[0x60]; 6854290650Shselasky 6855290650Shselasky u8 reserved_3[0x1c]; 6856290650Shselasky u8 wrps_admin[0x4]; 6857290650Shselasky 6858290650Shselasky u8 reserved_4[0x1c]; 6859290650Shselasky u8 wrps_status[0x4]; 6860290650Shselasky 6861290650Shselasky u8 up_th_vld[0x1]; 6862290650Shselasky u8 down_th_vld[0x1]; 6863290650Shselasky u8 reserved_5[0x6]; 6864290650Shselasky u8 up_threshold[0x8]; 6865290650Shselasky u8 reserved_6[0x8]; 6866290650Shselasky u8 down_threshold[0x8]; 6867290650Shselasky 6868290650Shselasky u8 reserved_7[0x20]; 6869290650Shselasky 6870290650Shselasky u8 reserved_8[0x1c]; 6871290650Shselasky u8 srps_admin[0x4]; 6872290650Shselasky 6873290650Shselasky u8 reserved_9[0x60]; 6874290650Shselasky}; 6875290650Shselasky 6876290650Shselaskystruct mlx5_ifc_pplr_reg_bits { 6877290650Shselasky u8 reserved_0[0x8]; 6878290650Shselasky u8 local_port[0x8]; 6879290650Shselasky u8 reserved_1[0x10]; 6880290650Shselasky 6881290650Shselasky u8 reserved_2[0x8]; 6882290650Shselasky u8 lb_cap[0x8]; 6883290650Shselasky u8 reserved_3[0x8]; 6884290650Shselasky u8 lb_en[0x8]; 6885290650Shselasky}; 6886290650Shselasky 6887290650Shselaskystruct mlx5_ifc_pplm_reg_bits { 6888290650Shselasky u8 reserved_0[0x8]; 6889290650Shselasky u8 local_port[0x8]; 6890290650Shselasky u8 reserved_1[0x10]; 6891290650Shselasky 6892290650Shselasky u8 reserved_2[0x20]; 6893290650Shselasky 6894290650Shselasky u8 port_profile_mode[0x8]; 6895290650Shselasky u8 static_port_profile[0x8]; 6896290650Shselasky u8 active_port_profile[0x8]; 6897290650Shselasky u8 reserved_3[0x8]; 6898290650Shselasky 6899290650Shselasky u8 retransmission_active[0x8]; 6900290650Shselasky u8 fec_mode_active[0x18]; 6901290650Shselasky 6902290650Shselasky u8 reserved_4[0x10]; 6903290650Shselasky u8 v_100g_fec_override_cap[0x4]; 6904290650Shselasky u8 v_50g_fec_override_cap[0x4]; 6905290650Shselasky u8 v_25g_fec_override_cap[0x4]; 6906290650Shselasky u8 v_10g_40g_fec_override_cap[0x4]; 6907290650Shselasky 6908290650Shselasky u8 reserved_5[0x10]; 6909290650Shselasky u8 v_100g_fec_override_admin[0x4]; 6910290650Shselasky u8 v_50g_fec_override_admin[0x4]; 6911290650Shselasky u8 v_25g_fec_override_admin[0x4]; 6912290650Shselasky u8 v_10g_40g_fec_override_admin[0x4]; 6913290650Shselasky}; 6914290650Shselasky 6915290650Shselaskystruct mlx5_ifc_ppll_reg_bits { 6916290650Shselasky u8 num_pll_groups[0x8]; 6917290650Shselasky u8 pll_group[0x8]; 6918290650Shselasky u8 reserved_0[0x4]; 6919290650Shselasky u8 num_plls[0x4]; 6920290650Shselasky u8 reserved_1[0x8]; 6921290650Shselasky 6922290650Shselasky u8 reserved_2[0x1f]; 6923290650Shselasky u8 ae[0x1]; 6924290650Shselasky 6925290650Shselasky u8 pll_status[4][0x40]; 6926290650Shselasky}; 6927290650Shselasky 6928290650Shselaskystruct mlx5_ifc_ppad_reg_bits { 6929290650Shselasky u8 reserved_0[0x3]; 6930290650Shselasky u8 single_mac[0x1]; 6931290650Shselasky u8 reserved_1[0x4]; 6932290650Shselasky u8 local_port[0x8]; 6933290650Shselasky u8 mac_47_32[0x10]; 6934290650Shselasky 6935290650Shselasky u8 mac_31_0[0x20]; 6936290650Shselasky 6937290650Shselasky u8 reserved_2[0x40]; 6938290650Shselasky}; 6939290650Shselasky 6940290650Shselaskystruct mlx5_ifc_pmtu_reg_bits { 6941290650Shselasky u8 reserved_0[0x8]; 6942290650Shselasky u8 local_port[0x8]; 6943290650Shselasky u8 reserved_1[0x10]; 6944290650Shselasky 6945290650Shselasky u8 max_mtu[0x10]; 6946290650Shselasky u8 reserved_2[0x10]; 6947290650Shselasky 6948290650Shselasky u8 admin_mtu[0x10]; 6949290650Shselasky u8 reserved_3[0x10]; 6950290650Shselasky 6951290650Shselasky u8 oper_mtu[0x10]; 6952290650Shselasky u8 reserved_4[0x10]; 6953290650Shselasky}; 6954290650Shselasky 6955290650Shselaskystruct mlx5_ifc_pmpr_reg_bits { 6956290650Shselasky u8 reserved_0[0x8]; 6957290650Shselasky u8 module[0x8]; 6958290650Shselasky u8 reserved_1[0x10]; 6959290650Shselasky 6960290650Shselasky u8 reserved_2[0x18]; 6961290650Shselasky u8 attenuation_5g[0x8]; 6962290650Shselasky 6963290650Shselasky u8 reserved_3[0x18]; 6964290650Shselasky u8 attenuation_7g[0x8]; 6965290650Shselasky 6966290650Shselasky u8 reserved_4[0x18]; 6967290650Shselasky u8 attenuation_12g[0x8]; 6968290650Shselasky}; 6969290650Shselasky 6970290650Shselaskystruct mlx5_ifc_pmpe_reg_bits { 6971290650Shselasky u8 reserved_0[0x8]; 6972290650Shselasky u8 module[0x8]; 6973290650Shselasky u8 reserved_1[0xc]; 6974290650Shselasky u8 module_status[0x4]; 6975290650Shselasky 6976290650Shselasky u8 reserved_2[0x14]; 6977290650Shselasky u8 error_type[0x4]; 6978290650Shselasky u8 reserved_3[0x8]; 6979290650Shselasky 6980290650Shselasky u8 reserved_4[0x40]; 6981290650Shselasky}; 6982290650Shselasky 6983290650Shselaskystruct mlx5_ifc_pmpc_reg_bits { 6984290650Shselasky u8 module_state_updated[32][0x8]; 6985290650Shselasky}; 6986290650Shselasky 6987290650Shselaskystruct mlx5_ifc_pmlpn_reg_bits { 6988290650Shselasky u8 reserved_0[0x4]; 6989290650Shselasky u8 mlpn_status[0x4]; 6990290650Shselasky u8 local_port[0x8]; 6991290650Shselasky u8 reserved_1[0x10]; 6992290650Shselasky 6993290650Shselasky u8 e[0x1]; 6994290650Shselasky u8 reserved_2[0x1f]; 6995290650Shselasky}; 6996290650Shselasky 6997290650Shselaskystruct mlx5_ifc_pmlp_reg_bits { 6998290650Shselasky u8 rxtx[0x1]; 6999290650Shselasky u8 reserved_0[0x7]; 7000290650Shselasky u8 local_port[0x8]; 7001290650Shselasky u8 reserved_1[0x8]; 7002290650Shselasky u8 width[0x8]; 7003290650Shselasky 7004290650Shselasky u8 lane0_module_mapping[0x20]; 7005290650Shselasky 7006290650Shselasky u8 lane1_module_mapping[0x20]; 7007290650Shselasky 7008290650Shselasky u8 lane2_module_mapping[0x20]; 7009290650Shselasky 7010290650Shselasky u8 lane3_module_mapping[0x20]; 7011290650Shselasky 7012290650Shselasky u8 reserved_2[0x160]; 7013290650Shselasky}; 7014290650Shselasky 7015290650Shselaskystruct mlx5_ifc_pmaos_reg_bits { 7016290650Shselasky u8 reserved_0[0x8]; 7017290650Shselasky u8 module[0x8]; 7018290650Shselasky u8 reserved_1[0x4]; 7019290650Shselasky u8 admin_status[0x4]; 7020290650Shselasky u8 reserved_2[0x4]; 7021290650Shselasky u8 oper_status[0x4]; 7022290650Shselasky 7023290650Shselasky u8 ase[0x1]; 7024290650Shselasky u8 ee[0x1]; 7025290650Shselasky u8 reserved_3[0x12]; 7026290650Shselasky u8 error_type[0x4]; 7027290650Shselasky u8 reserved_4[0x6]; 7028290650Shselasky u8 e[0x2]; 7029290650Shselasky 7030290650Shselasky u8 reserved_5[0x40]; 7031290650Shselasky}; 7032290650Shselasky 7033290650Shselaskystruct mlx5_ifc_plpc_reg_bits { 7034290650Shselasky u8 reserved_0[0x4]; 7035290650Shselasky u8 profile_id[0xc]; 7036290650Shselasky u8 reserved_1[0x4]; 7037290650Shselasky u8 proto_mask[0x4]; 7038290650Shselasky u8 reserved_2[0x8]; 7039290650Shselasky 7040290650Shselasky u8 reserved_3[0x10]; 7041290650Shselasky u8 lane_speed[0x10]; 7042290650Shselasky 7043290650Shselasky u8 reserved_4[0x17]; 7044290650Shselasky u8 lpbf[0x1]; 7045290650Shselasky u8 fec_mode_policy[0x8]; 7046290650Shselasky 7047290650Shselasky u8 retransmission_capability[0x8]; 7048290650Shselasky u8 fec_mode_capability[0x18]; 7049290650Shselasky 7050290650Shselasky u8 retransmission_support_admin[0x8]; 7051290650Shselasky u8 fec_mode_support_admin[0x18]; 7052290650Shselasky 7053290650Shselasky u8 retransmission_request_admin[0x8]; 7054290650Shselasky u8 fec_mode_request_admin[0x18]; 7055290650Shselasky 7056290650Shselasky u8 reserved_5[0x80]; 7057290650Shselasky}; 7058290650Shselasky 7059290650Shselaskystruct mlx5_ifc_pll_status_data_bits { 7060290650Shselasky u8 reserved_0[0x1]; 7061290650Shselasky u8 lock_cal[0x1]; 7062290650Shselasky u8 lock_status[0x2]; 7063290650Shselasky u8 reserved_1[0x2]; 7064290650Shselasky u8 algo_f_ctrl[0xa]; 7065290650Shselasky u8 analog_algo_num_var[0x6]; 7066290650Shselasky u8 f_ctrl_measure[0xa]; 7067290650Shselasky 7068290650Shselasky u8 reserved_2[0x2]; 7069290650Shselasky u8 analog_var[0x6]; 7070290650Shselasky u8 reserved_3[0x2]; 7071290650Shselasky u8 high_var[0x6]; 7072290650Shselasky u8 reserved_4[0x2]; 7073290650Shselasky u8 low_var[0x6]; 7074290650Shselasky u8 reserved_5[0x2]; 7075290650Shselasky u8 mid_val[0x6]; 7076290650Shselasky}; 7077290650Shselasky 7078290650Shselaskystruct mlx5_ifc_plib_reg_bits { 7079290650Shselasky u8 reserved_0[0x8]; 7080290650Shselasky u8 local_port[0x8]; 7081290650Shselasky u8 reserved_1[0x8]; 7082290650Shselasky u8 ib_port[0x8]; 7083290650Shselasky 7084290650Shselasky u8 reserved_2[0x60]; 7085290650Shselasky}; 7086290650Shselasky 7087290650Shselaskystruct mlx5_ifc_plbf_reg_bits { 7088290650Shselasky u8 reserved_0[0x8]; 7089290650Shselasky u8 local_port[0x8]; 7090290650Shselasky u8 reserved_1[0xd]; 7091290650Shselasky u8 lbf_mode[0x3]; 7092290650Shselasky 7093290650Shselasky u8 reserved_2[0x20]; 7094290650Shselasky}; 7095290650Shselasky 7096290650Shselaskystruct mlx5_ifc_pipg_reg_bits { 7097290650Shselasky u8 reserved_0[0x8]; 7098290650Shselasky u8 local_port[0x8]; 7099290650Shselasky u8 reserved_1[0x10]; 7100290650Shselasky 7101290650Shselasky u8 dic[0x1]; 7102290650Shselasky u8 reserved_2[0x19]; 7103290650Shselasky u8 ipg[0x4]; 7104290650Shselasky u8 reserved_3[0x2]; 7105290650Shselasky}; 7106290650Shselasky 7107290650Shselaskystruct mlx5_ifc_pifr_reg_bits { 7108290650Shselasky u8 reserved_0[0x8]; 7109290650Shselasky u8 local_port[0x8]; 7110290650Shselasky u8 reserved_1[0x10]; 7111290650Shselasky 7112290650Shselasky u8 reserved_2[0xe0]; 7113290650Shselasky 7114290650Shselasky u8 port_filter[8][0x20]; 7115290650Shselasky 7116290650Shselasky u8 port_filter_update_en[8][0x20]; 7117290650Shselasky}; 7118290650Shselasky 7119290650Shselaskystruct mlx5_ifc_phys_layer_cntrs_bits { 7120290650Shselasky u8 time_since_last_clear_high[0x20]; 7121290650Shselasky 7122290650Shselasky u8 time_since_last_clear_low[0x20]; 7123290650Shselasky 7124290650Shselasky u8 symbol_errors_high[0x20]; 7125290650Shselasky 7126290650Shselasky u8 symbol_errors_low[0x20]; 7127290650Shselasky 7128290650Shselasky u8 sync_headers_errors_high[0x20]; 7129290650Shselasky 7130290650Shselasky u8 sync_headers_errors_low[0x20]; 7131290650Shselasky 7132290650Shselasky u8 edpl_bip_errors_lane0_high[0x20]; 7133290650Shselasky 7134290650Shselasky u8 edpl_bip_errors_lane0_low[0x20]; 7135290650Shselasky 7136290650Shselasky u8 edpl_bip_errors_lane1_high[0x20]; 7137290650Shselasky 7138290650Shselasky u8 edpl_bip_errors_lane1_low[0x20]; 7139290650Shselasky 7140290650Shselasky u8 edpl_bip_errors_lane2_high[0x20]; 7141290650Shselasky 7142290650Shselasky u8 edpl_bip_errors_lane2_low[0x20]; 7143290650Shselasky 7144290650Shselasky u8 edpl_bip_errors_lane3_high[0x20]; 7145290650Shselasky 7146290650Shselasky u8 edpl_bip_errors_lane3_low[0x20]; 7147290650Shselasky 7148290650Shselasky u8 fc_fec_corrected_blocks_lane0_high[0x20]; 7149290650Shselasky 7150290650Shselasky u8 fc_fec_corrected_blocks_lane0_low[0x20]; 7151290650Shselasky 7152290650Shselasky u8 fc_fec_corrected_blocks_lane1_high[0x20]; 7153290650Shselasky 7154290650Shselasky u8 fc_fec_corrected_blocks_lane1_low[0x20]; 7155290650Shselasky 7156290650Shselasky u8 fc_fec_corrected_blocks_lane2_high[0x20]; 7157290650Shselasky 7158290650Shselasky u8 fc_fec_corrected_blocks_lane2_low[0x20]; 7159290650Shselasky 7160290650Shselasky u8 fc_fec_corrected_blocks_lane3_high[0x20]; 7161290650Shselasky 7162290650Shselasky u8 fc_fec_corrected_blocks_lane3_low[0x20]; 7163290650Shselasky 7164290650Shselasky u8 fc_fec_uncorrectable_blocks_lane0_high[0x20]; 7165290650Shselasky 7166290650Shselasky u8 fc_fec_uncorrectable_blocks_lane0_low[0x20]; 7167290650Shselasky 7168290650Shselasky u8 fc_fec_uncorrectable_blocks_lane1_high[0x20]; 7169290650Shselasky 7170290650Shselasky u8 fc_fec_uncorrectable_blocks_lane1_low[0x20]; 7171290650Shselasky 7172290650Shselasky u8 fc_fec_uncorrectable_blocks_lane2_high[0x20]; 7173290650Shselasky 7174290650Shselasky u8 fc_fec_uncorrectable_blocks_lane2_low[0x20]; 7175290650Shselasky 7176290650Shselasky u8 fc_fec_uncorrectable_blocks_lane3_high[0x20]; 7177290650Shselasky 7178290650Shselasky u8 fc_fec_uncorrectable_blocks_lane3_low[0x20]; 7179290650Shselasky 7180290650Shselasky u8 rs_fec_corrected_blocks_high[0x20]; 7181290650Shselasky 7182290650Shselasky u8 rs_fec_corrected_blocks_low[0x20]; 7183290650Shselasky 7184290650Shselasky u8 rs_fec_uncorrectable_blocks_high[0x20]; 7185290650Shselasky 7186290650Shselasky u8 rs_fec_uncorrectable_blocks_low[0x20]; 7187290650Shselasky 7188290650Shselasky u8 rs_fec_no_errors_blocks_high[0x20]; 7189290650Shselasky 7190290650Shselasky u8 rs_fec_no_errors_blocks_low[0x20]; 7191290650Shselasky 7192290650Shselasky u8 rs_fec_single_error_blocks_high[0x20]; 7193290650Shselasky 7194290650Shselasky u8 rs_fec_single_error_blocks_low[0x20]; 7195290650Shselasky 7196290650Shselasky u8 rs_fec_corrected_symbols_total_high[0x20]; 7197290650Shselasky 7198290650Shselasky u8 rs_fec_corrected_symbols_total_low[0x20]; 7199290650Shselasky 7200290650Shselasky u8 rs_fec_corrected_symbols_lane0_high[0x20]; 7201290650Shselasky 7202290650Shselasky u8 rs_fec_corrected_symbols_lane0_low[0x20]; 7203290650Shselasky 7204290650Shselasky u8 rs_fec_corrected_symbols_lane1_high[0x20]; 7205290650Shselasky 7206290650Shselasky u8 rs_fec_corrected_symbols_lane1_low[0x20]; 7207290650Shselasky 7208290650Shselasky u8 rs_fec_corrected_symbols_lane2_high[0x20]; 7209290650Shselasky 7210290650Shselasky u8 rs_fec_corrected_symbols_lane2_low[0x20]; 7211290650Shselasky 7212290650Shselasky u8 rs_fec_corrected_symbols_lane3_high[0x20]; 7213290650Shselasky 7214290650Shselasky u8 rs_fec_corrected_symbols_lane3_low[0x20]; 7215290650Shselasky 7216290650Shselasky u8 link_down_events[0x20]; 7217290650Shselasky 7218290650Shselasky u8 successful_recovery_events[0x20]; 7219290650Shselasky 7220290650Shselasky u8 reserved_0[0x180]; 7221290650Shselasky}; 7222290650Shselasky 7223290650Shselaskystruct mlx5_ifc_phrr_reg_bits { 7224290650Shselasky u8 clr[0x1]; 7225290650Shselasky u8 reserved_0[0x7]; 7226290650Shselasky u8 local_port[0x8]; 7227290650Shselasky u8 reserved_1[0x10]; 7228290650Shselasky 7229290650Shselasky u8 hist_group[0x8]; 7230290650Shselasky u8 reserved_2[0x10]; 7231290650Shselasky u8 hist_id[0x8]; 7232290650Shselasky 7233290650Shselasky u8 reserved_3[0x40]; 7234290650Shselasky 7235290650Shselasky u8 time_since_last_clear_high[0x20]; 7236290650Shselasky 7237290650Shselasky u8 time_since_last_clear_low[0x20]; 7238290650Shselasky 7239290650Shselasky u8 bin[10][0x20]; 7240290650Shselasky}; 7241290650Shselasky 7242290650Shselaskystruct mlx5_ifc_phbr_for_prio_reg_bits { 7243290650Shselasky u8 reserved_0[0x18]; 7244290650Shselasky u8 prio[0x8]; 7245290650Shselasky}; 7246290650Shselasky 7247290650Shselaskystruct mlx5_ifc_phbr_for_port_tclass_reg_bits { 7248290650Shselasky u8 reserved_0[0x18]; 7249290650Shselasky u8 tclass[0x8]; 7250290650Shselasky}; 7251290650Shselasky 7252290650Shselaskystruct mlx5_ifc_phbr_binding_reg_bits { 7253290650Shselasky u8 opcode[0x4]; 7254290650Shselasky u8 reserved_0[0x4]; 7255290650Shselasky u8 local_port[0x8]; 7256290650Shselasky u8 pnat[0x2]; 7257290650Shselasky u8 reserved_1[0xe]; 7258290650Shselasky 7259290650Shselasky u8 hist_group[0x8]; 7260290650Shselasky u8 reserved_2[0x10]; 7261290650Shselasky u8 hist_id[0x8]; 7262290650Shselasky 7263290650Shselasky u8 reserved_3[0x10]; 7264290650Shselasky u8 hist_type[0x10]; 7265290650Shselasky 7266290650Shselasky u8 hist_parameters[0x20]; 7267290650Shselasky 7268290650Shselasky u8 hist_min_value[0x20]; 7269290650Shselasky 7270290650Shselasky u8 hist_max_value[0x20]; 7271290650Shselasky 7272290650Shselasky u8 sample_time[0x20]; 7273290650Shselasky}; 7274290650Shselasky 7275290650Shselaskyenum { 7276290650Shselasky MLX5_PFCC_REG_PPAN_DISABLED = 0x0, 7277290650Shselasky MLX5_PFCC_REG_PPAN_ENABLED = 0x1, 7278290650Shselasky}; 7279290650Shselasky 7280290650Shselaskystruct mlx5_ifc_pfcc_reg_bits { 7281290650Shselasky u8 reserved_0[0x8]; 7282290650Shselasky u8 local_port[0x8]; 7283290650Shselasky u8 pnat[0x2]; 7284290650Shselasky u8 reserved_1[0xc]; 7285290650Shselasky u8 shl_cap[0x1]; 7286290650Shselasky u8 shl_opr[0x1]; 7287290650Shselasky 7288290650Shselasky u8 ppan[0x4]; 7289290650Shselasky u8 reserved_2[0x4]; 7290290650Shselasky u8 prio_mask_tx[0x8]; 7291290650Shselasky u8 reserved_3[0x8]; 7292290650Shselasky u8 prio_mask_rx[0x8]; 7293290650Shselasky 7294290650Shselasky u8 pptx[0x1]; 7295290650Shselasky u8 aptx[0x1]; 7296290650Shselasky u8 reserved_4[0x6]; 7297290650Shselasky u8 pfctx[0x8]; 7298290650Shselasky u8 reserved_5[0x10]; 7299290650Shselasky 7300290650Shselasky u8 pprx[0x1]; 7301290650Shselasky u8 aprx[0x1]; 7302290650Shselasky u8 reserved_6[0x6]; 7303290650Shselasky u8 pfcrx[0x8]; 7304290650Shselasky u8 reserved_7[0x10]; 7305290650Shselasky 7306290650Shselasky u8 reserved_8[0x80]; 7307290650Shselasky}; 7308290650Shselasky 7309290650Shselaskystruct mlx5_ifc_pelc_reg_bits { 7310290650Shselasky u8 op[0x4]; 7311290650Shselasky u8 reserved_0[0x4]; 7312290650Shselasky u8 local_port[0x8]; 7313290650Shselasky u8 reserved_1[0x10]; 7314290650Shselasky 7315290650Shselasky u8 op_admin[0x8]; 7316290650Shselasky u8 op_capability[0x8]; 7317290650Shselasky u8 op_request[0x8]; 7318290650Shselasky u8 op_active[0x8]; 7319290650Shselasky 7320290650Shselasky u8 admin[0x40]; 7321290650Shselasky 7322290650Shselasky u8 capability[0x40]; 7323290650Shselasky 7324290650Shselasky u8 request[0x40]; 7325290650Shselasky 7326290650Shselasky u8 active[0x40]; 7327290650Shselasky 7328290650Shselasky u8 reserved_2[0x80]; 7329290650Shselasky}; 7330290650Shselasky 7331290650Shselaskystruct mlx5_ifc_peir_reg_bits { 7332290650Shselasky u8 reserved_0[0x8]; 7333290650Shselasky u8 local_port[0x8]; 7334290650Shselasky u8 reserved_1[0x10]; 7335290650Shselasky 7336290650Shselasky u8 reserved_2[0xc]; 7337290650Shselasky u8 error_count[0x4]; 7338290650Shselasky u8 reserved_3[0x10]; 7339290650Shselasky 7340290650Shselasky u8 reserved_4[0xc]; 7341290650Shselasky u8 lane[0x4]; 7342290650Shselasky u8 reserved_5[0x8]; 7343290650Shselasky u8 error_type[0x8]; 7344290650Shselasky}; 7345290650Shselasky 7346290650Shselaskystruct mlx5_ifc_pcap_reg_bits { 7347290650Shselasky u8 reserved_0[0x8]; 7348290650Shselasky u8 local_port[0x8]; 7349290650Shselasky u8 reserved_1[0x10]; 7350290650Shselasky 7351290650Shselasky u8 port_capability_mask[4][0x20]; 7352290650Shselasky}; 7353290650Shselasky 7354290650Shselaskystruct mlx5_ifc_pbmc_reg_bits { 7355290650Shselasky u8 reserved_0[0x8]; 7356290650Shselasky u8 local_port[0x8]; 7357290650Shselasky u8 reserved_1[0x10]; 7358290650Shselasky 7359290650Shselasky u8 xoff_timer_value[0x10]; 7360290650Shselasky u8 xoff_refresh[0x10]; 7361290650Shselasky 7362290650Shselasky u8 reserved_2[0x10]; 7363290650Shselasky u8 port_buffer_size[0x10]; 7364290650Shselasky 7365290650Shselasky struct mlx5_ifc_bufferx_reg_bits buffer[10]; 7366290650Shselasky 7367290650Shselasky u8 reserved_3[0x40]; 7368290650Shselasky 7369290650Shselasky u8 port_shared_buffer[0x40]; 7370290650Shselasky}; 7371290650Shselasky 7372290650Shselaskystruct mlx5_ifc_paos_reg_bits { 7373290650Shselasky u8 swid[0x8]; 7374290650Shselasky u8 local_port[0x8]; 7375290650Shselasky u8 reserved_0[0x4]; 7376290650Shselasky u8 admin_status[0x4]; 7377290650Shselasky u8 reserved_1[0x4]; 7378290650Shselasky u8 oper_status[0x4]; 7379290650Shselasky 7380290650Shselasky u8 ase[0x1]; 7381290650Shselasky u8 ee[0x1]; 7382290650Shselasky u8 reserved_2[0x1c]; 7383290650Shselasky u8 e[0x2]; 7384290650Shselasky 7385290650Shselasky u8 reserved_3[0x40]; 7386290650Shselasky}; 7387290650Shselasky 7388290650Shselaskystruct mlx5_ifc_pamp_reg_bits { 7389290650Shselasky u8 reserved_0[0x8]; 7390290650Shselasky u8 opamp_group[0x8]; 7391290650Shselasky u8 reserved_1[0xc]; 7392290650Shselasky u8 opamp_group_type[0x4]; 7393290650Shselasky 7394290650Shselasky u8 start_index[0x10]; 7395290650Shselasky u8 reserved_2[0x4]; 7396290650Shselasky u8 num_of_indices[0xc]; 7397290650Shselasky 7398290650Shselasky u8 index_data[18][0x10]; 7399290650Shselasky}; 7400290650Shselasky 7401290650Shselaskystruct mlx5_ifc_link_level_retrans_cntr_grp_date_bits { 7402290650Shselasky u8 llr_rx_cells_high[0x20]; 7403290650Shselasky 7404290650Shselasky u8 llr_rx_cells_low[0x20]; 7405290650Shselasky 7406290650Shselasky u8 llr_rx_error_high[0x20]; 7407290650Shselasky 7408290650Shselasky u8 llr_rx_error_low[0x20]; 7409290650Shselasky 7410290650Shselasky u8 llr_rx_crc_error_high[0x20]; 7411290650Shselasky 7412290650Shselasky u8 llr_rx_crc_error_low[0x20]; 7413290650Shselasky 7414290650Shselasky u8 llr_tx_cells_high[0x20]; 7415290650Shselasky 7416290650Shselasky u8 llr_tx_cells_low[0x20]; 7417290650Shselasky 7418290650Shselasky u8 llr_tx_ret_cells_high[0x20]; 7419290650Shselasky 7420290650Shselasky u8 llr_tx_ret_cells_low[0x20]; 7421290650Shselasky 7422290650Shselasky u8 llr_tx_ret_events_high[0x20]; 7423290650Shselasky 7424290650Shselasky u8 llr_tx_ret_events_low[0x20]; 7425290650Shselasky 7426290650Shselasky u8 reserved_0[0x640]; 7427290650Shselasky}; 7428290650Shselasky 7429290650Shselaskystruct mlx5_ifc_lane_2_module_mapping_bits { 7430290650Shselasky u8 reserved_0[0x6]; 7431290650Shselasky u8 rx_lane[0x2]; 7432290650Shselasky u8 reserved_1[0x6]; 7433290650Shselasky u8 tx_lane[0x2]; 7434290650Shselasky u8 reserved_2[0x8]; 7435290650Shselasky u8 module[0x8]; 7436290650Shselasky}; 7437290650Shselasky 7438290650Shselaskystruct mlx5_ifc_eth_per_traffic_class_layout_bits { 7439290650Shselasky u8 transmit_queue_high[0x20]; 7440290650Shselasky 7441290650Shselasky u8 transmit_queue_low[0x20]; 7442290650Shselasky 7443290650Shselasky u8 reserved_0[0x780]; 7444290650Shselasky}; 7445290650Shselasky 7446290650Shselaskystruct mlx5_ifc_eth_per_traffic_class_cong_layout_bits { 7447290650Shselasky u8 no_buffer_discard_uc_high[0x20]; 7448290650Shselasky 7449290650Shselasky u8 no_buffer_discard_uc_low[0x20]; 7450290650Shselasky 7451290650Shselasky u8 wred_discard_high[0x20]; 7452290650Shselasky 7453290650Shselasky u8 wred_discard_low[0x20]; 7454290650Shselasky 7455290650Shselasky u8 reserved_0[0x740]; 7456290650Shselasky}; 7457290650Shselasky 7458290650Shselaskystruct mlx5_ifc_eth_per_prio_grp_data_layout_bits { 7459290650Shselasky u8 rx_octets_high[0x20]; 7460290650Shselasky 7461290650Shselasky u8 rx_octets_low[0x20]; 7462290650Shselasky 7463290650Shselasky u8 reserved_0[0xc0]; 7464290650Shselasky 7465290650Shselasky u8 rx_frames_high[0x20]; 7466290650Shselasky 7467290650Shselasky u8 rx_frames_low[0x20]; 7468290650Shselasky 7469290650Shselasky u8 tx_octets_high[0x20]; 7470290650Shselasky 7471290650Shselasky u8 tx_octets_low[0x20]; 7472290650Shselasky 7473290650Shselasky u8 reserved_1[0xc0]; 7474290650Shselasky 7475290650Shselasky u8 tx_frames_high[0x20]; 7476290650Shselasky 7477290650Shselasky u8 tx_frames_low[0x20]; 7478290650Shselasky 7479290650Shselasky u8 rx_pause_high[0x20]; 7480290650Shselasky 7481290650Shselasky u8 rx_pause_low[0x20]; 7482290650Shselasky 7483290650Shselasky u8 rx_pause_duration_high[0x20]; 7484290650Shselasky 7485290650Shselasky u8 rx_pause_duration_low[0x20]; 7486290650Shselasky 7487290650Shselasky u8 tx_pause_high[0x20]; 7488290650Shselasky 7489290650Shselasky u8 tx_pause_low[0x20]; 7490290650Shselasky 7491290650Shselasky u8 tx_pause_duration_high[0x20]; 7492290650Shselasky 7493290650Shselasky u8 tx_pause_duration_low[0x20]; 7494290650Shselasky 7495290650Shselasky u8 rx_pause_transition_high[0x20]; 7496290650Shselasky 7497290650Shselasky u8 rx_pause_transition_low[0x20]; 7498290650Shselasky 7499290650Shselasky u8 reserved_2[0x400]; 7500290650Shselasky}; 7501290650Shselasky 7502290650Shselaskystruct mlx5_ifc_eth_extended_cntrs_grp_data_layout_bits { 7503290650Shselasky u8 port_transmit_wait_high[0x20]; 7504290650Shselasky 7505290650Shselasky u8 port_transmit_wait_low[0x20]; 7506290650Shselasky 7507290650Shselasky u8 ecn_marked_high[0x20]; 7508290650Shselasky 7509290650Shselasky u8 ecn_marked_low[0x20]; 7510290650Shselasky 7511290650Shselasky u8 no_buffer_discard_mc_high[0x20]; 7512290650Shselasky 7513290650Shselasky u8 no_buffer_discard_mc_low[0x20]; 7514290650Shselasky 7515290650Shselasky u8 reserved_0[0x700]; 7516290650Shselasky}; 7517290650Shselasky 7518290650Shselaskystruct mlx5_ifc_eth_802_3_cntrs_grp_data_layout_bits { 7519290650Shselasky u8 a_frames_transmitted_ok_high[0x20]; 7520290650Shselasky 7521290650Shselasky u8 a_frames_transmitted_ok_low[0x20]; 7522290650Shselasky 7523290650Shselasky u8 a_frames_received_ok_high[0x20]; 7524290650Shselasky 7525290650Shselasky u8 a_frames_received_ok_low[0x20]; 7526290650Shselasky 7527290650Shselasky u8 a_frame_check_sequence_errors_high[0x20]; 7528290650Shselasky 7529290650Shselasky u8 a_frame_check_sequence_errors_low[0x20]; 7530290650Shselasky 7531290650Shselasky u8 a_alignment_errors_high[0x20]; 7532290650Shselasky 7533290650Shselasky u8 a_alignment_errors_low[0x20]; 7534290650Shselasky 7535290650Shselasky u8 a_octets_transmitted_ok_high[0x20]; 7536290650Shselasky 7537290650Shselasky u8 a_octets_transmitted_ok_low[0x20]; 7538290650Shselasky 7539290650Shselasky u8 a_octets_received_ok_high[0x20]; 7540290650Shselasky 7541290650Shselasky u8 a_octets_received_ok_low[0x20]; 7542290650Shselasky 7543290650Shselasky u8 a_multicast_frames_xmitted_ok_high[0x20]; 7544290650Shselasky 7545290650Shselasky u8 a_multicast_frames_xmitted_ok_low[0x20]; 7546290650Shselasky 7547290650Shselasky u8 a_broadcast_frames_xmitted_ok_high[0x20]; 7548290650Shselasky 7549290650Shselasky u8 a_broadcast_frames_xmitted_ok_low[0x20]; 7550290650Shselasky 7551290650Shselasky u8 a_multicast_frames_received_ok_high[0x20]; 7552290650Shselasky 7553290650Shselasky u8 a_multicast_frames_received_ok_low[0x20]; 7554290650Shselasky 7555290650Shselasky u8 a_broadcast_frames_recieved_ok_high[0x20]; 7556290650Shselasky 7557290650Shselasky u8 a_broadcast_frames_recieved_ok_low[0x20]; 7558290650Shselasky 7559290650Shselasky u8 a_in_range_length_errors_high[0x20]; 7560290650Shselasky 7561290650Shselasky u8 a_in_range_length_errors_low[0x20]; 7562290650Shselasky 7563290650Shselasky u8 a_out_of_range_length_field_high[0x20]; 7564290650Shselasky 7565290650Shselasky u8 a_out_of_range_length_field_low[0x20]; 7566290650Shselasky 7567290650Shselasky u8 a_frame_too_long_errors_high[0x20]; 7568290650Shselasky 7569290650Shselasky u8 a_frame_too_long_errors_low[0x20]; 7570290650Shselasky 7571290650Shselasky u8 a_symbol_error_during_carrier_high[0x20]; 7572290650Shselasky 7573290650Shselasky u8 a_symbol_error_during_carrier_low[0x20]; 7574290650Shselasky 7575290650Shselasky u8 a_mac_control_frames_transmitted_high[0x20]; 7576290650Shselasky 7577290650Shselasky u8 a_mac_control_frames_transmitted_low[0x20]; 7578290650Shselasky 7579290650Shselasky u8 a_mac_control_frames_received_high[0x20]; 7580290650Shselasky 7581290650Shselasky u8 a_mac_control_frames_received_low[0x20]; 7582290650Shselasky 7583290650Shselasky u8 a_unsupported_opcodes_received_high[0x20]; 7584290650Shselasky 7585290650Shselasky u8 a_unsupported_opcodes_received_low[0x20]; 7586290650Shselasky 7587290650Shselasky u8 a_pause_mac_ctrl_frames_received_high[0x20]; 7588290650Shselasky 7589290650Shselasky u8 a_pause_mac_ctrl_frames_received_low[0x20]; 7590290650Shselasky 7591290650Shselasky u8 a_pause_mac_ctrl_frames_transmitted_high[0x20]; 7592290650Shselasky 7593290650Shselasky u8 a_pause_mac_ctrl_frames_transmitted_low[0x20]; 7594290650Shselasky 7595290650Shselasky u8 reserved_0[0x300]; 7596290650Shselasky}; 7597290650Shselasky 7598290650Shselaskystruct mlx5_ifc_eth_3635_cntrs_grp_data_layout_bits { 7599290650Shselasky u8 dot3stats_alignment_errors_high[0x20]; 7600290650Shselasky 7601290650Shselasky u8 dot3stats_alignment_errors_low[0x20]; 7602290650Shselasky 7603290650Shselasky u8 dot3stats_fcs_errors_high[0x20]; 7604290650Shselasky 7605290650Shselasky u8 dot3stats_fcs_errors_low[0x20]; 7606290650Shselasky 7607290650Shselasky u8 dot3stats_single_collision_frames_high[0x20]; 7608290650Shselasky 7609290650Shselasky u8 dot3stats_single_collision_frames_low[0x20]; 7610290650Shselasky 7611290650Shselasky u8 dot3stats_multiple_collision_frames_high[0x20]; 7612290650Shselasky 7613290650Shselasky u8 dot3stats_multiple_collision_frames_low[0x20]; 7614290650Shselasky 7615290650Shselasky u8 dot3stats_sqe_test_errors_high[0x20]; 7616290650Shselasky 7617290650Shselasky u8 dot3stats_sqe_test_errors_low[0x20]; 7618290650Shselasky 7619290650Shselasky u8 dot3stats_deferred_transmissions_high[0x20]; 7620290650Shselasky 7621290650Shselasky u8 dot3stats_deferred_transmissions_low[0x20]; 7622290650Shselasky 7623290650Shselasky u8 dot3stats_late_collisions_high[0x20]; 7624290650Shselasky 7625290650Shselasky u8 dot3stats_late_collisions_low[0x20]; 7626290650Shselasky 7627290650Shselasky u8 dot3stats_excessive_collisions_high[0x20]; 7628290650Shselasky 7629290650Shselasky u8 dot3stats_excessive_collisions_low[0x20]; 7630290650Shselasky 7631290650Shselasky u8 dot3stats_internal_mac_transmit_errors_high[0x20]; 7632290650Shselasky 7633290650Shselasky u8 dot3stats_internal_mac_transmit_errors_low[0x20]; 7634290650Shselasky 7635290650Shselasky u8 dot3stats_carrier_sense_errors_high[0x20]; 7636290650Shselasky 7637290650Shselasky u8 dot3stats_carrier_sense_errors_low[0x20]; 7638290650Shselasky 7639290650Shselasky u8 dot3stats_frame_too_longs_high[0x20]; 7640290650Shselasky 7641290650Shselasky u8 dot3stats_frame_too_longs_low[0x20]; 7642290650Shselasky 7643290650Shselasky u8 dot3stats_internal_mac_receive_errors_high[0x20]; 7644290650Shselasky 7645290650Shselasky u8 dot3stats_internal_mac_receive_errors_low[0x20]; 7646290650Shselasky 7647290650Shselasky u8 dot3stats_symbol_errors_high[0x20]; 7648290650Shselasky 7649290650Shselasky u8 dot3stats_symbol_errors_low[0x20]; 7650290650Shselasky 7651290650Shselasky u8 dot3control_in_unknown_opcodes_high[0x20]; 7652290650Shselasky 7653290650Shselasky u8 dot3control_in_unknown_opcodes_low[0x20]; 7654290650Shselasky 7655290650Shselasky u8 dot3in_pause_frames_high[0x20]; 7656290650Shselasky 7657290650Shselasky u8 dot3in_pause_frames_low[0x20]; 7658290650Shselasky 7659290650Shselasky u8 dot3out_pause_frames_high[0x20]; 7660290650Shselasky 7661290650Shselasky u8 dot3out_pause_frames_low[0x20]; 7662290650Shselasky 7663290650Shselasky u8 reserved_0[0x3c0]; 7664290650Shselasky}; 7665290650Shselasky 7666290650Shselaskystruct mlx5_ifc_eth_2863_cntrs_grp_data_layout_bits { 7667290650Shselasky u8 if_in_octets_high[0x20]; 7668290650Shselasky 7669290650Shselasky u8 if_in_octets_low[0x20]; 7670290650Shselasky 7671290650Shselasky u8 if_in_ucast_pkts_high[0x20]; 7672290650Shselasky 7673290650Shselasky u8 if_in_ucast_pkts_low[0x20]; 7674290650Shselasky 7675290650Shselasky u8 if_in_discards_high[0x20]; 7676290650Shselasky 7677290650Shselasky u8 if_in_discards_low[0x20]; 7678290650Shselasky 7679290650Shselasky u8 if_in_errors_high[0x20]; 7680290650Shselasky 7681290650Shselasky u8 if_in_errors_low[0x20]; 7682290650Shselasky 7683290650Shselasky u8 if_in_unknown_protos_high[0x20]; 7684290650Shselasky 7685290650Shselasky u8 if_in_unknown_protos_low[0x20]; 7686290650Shselasky 7687290650Shselasky u8 if_out_octets_high[0x20]; 7688290650Shselasky 7689290650Shselasky u8 if_out_octets_low[0x20]; 7690290650Shselasky 7691290650Shselasky u8 if_out_ucast_pkts_high[0x20]; 7692290650Shselasky 7693290650Shselasky u8 if_out_ucast_pkts_low[0x20]; 7694290650Shselasky 7695290650Shselasky u8 if_out_discards_high[0x20]; 7696290650Shselasky 7697290650Shselasky u8 if_out_discards_low[0x20]; 7698290650Shselasky 7699290650Shselasky u8 if_out_errors_high[0x20]; 7700290650Shselasky 7701290650Shselasky u8 if_out_errors_low[0x20]; 7702290650Shselasky 7703290650Shselasky u8 if_in_multicast_pkts_high[0x20]; 7704290650Shselasky 7705290650Shselasky u8 if_in_multicast_pkts_low[0x20]; 7706290650Shselasky 7707290650Shselasky u8 if_in_broadcast_pkts_high[0x20]; 7708290650Shselasky 7709290650Shselasky u8 if_in_broadcast_pkts_low[0x20]; 7710290650Shselasky 7711290650Shselasky u8 if_out_multicast_pkts_high[0x20]; 7712290650Shselasky 7713290650Shselasky u8 if_out_multicast_pkts_low[0x20]; 7714290650Shselasky 7715290650Shselasky u8 if_out_broadcast_pkts_high[0x20]; 7716290650Shselasky 7717290650Shselasky u8 if_out_broadcast_pkts_low[0x20]; 7718290650Shselasky 7719290650Shselasky u8 reserved_0[0x480]; 7720290650Shselasky}; 7721290650Shselasky 7722290650Shselaskystruct mlx5_ifc_eth_2819_cntrs_grp_data_layout_bits { 7723290650Shselasky u8 ether_stats_drop_events_high[0x20]; 7724290650Shselasky 7725290650Shselasky u8 ether_stats_drop_events_low[0x20]; 7726290650Shselasky 7727290650Shselasky u8 ether_stats_octets_high[0x20]; 7728290650Shselasky 7729290650Shselasky u8 ether_stats_octets_low[0x20]; 7730290650Shselasky 7731290650Shselasky u8 ether_stats_pkts_high[0x20]; 7732290650Shselasky 7733290650Shselasky u8 ether_stats_pkts_low[0x20]; 7734290650Shselasky 7735290650Shselasky u8 ether_stats_broadcast_pkts_high[0x20]; 7736290650Shselasky 7737290650Shselasky u8 ether_stats_broadcast_pkts_low[0x20]; 7738290650Shselasky 7739290650Shselasky u8 ether_stats_multicast_pkts_high[0x20]; 7740290650Shselasky 7741290650Shselasky u8 ether_stats_multicast_pkts_low[0x20]; 7742290650Shselasky 7743290650Shselasky u8 ether_stats_crc_align_errors_high[0x20]; 7744290650Shselasky 7745290650Shselasky u8 ether_stats_crc_align_errors_low[0x20]; 7746290650Shselasky 7747290650Shselasky u8 ether_stats_undersize_pkts_high[0x20]; 7748290650Shselasky 7749290650Shselasky u8 ether_stats_undersize_pkts_low[0x20]; 7750290650Shselasky 7751290650Shselasky u8 ether_stats_oversize_pkts_high[0x20]; 7752290650Shselasky 7753290650Shselasky u8 ether_stats_oversize_pkts_low[0x20]; 7754290650Shselasky 7755290650Shselasky u8 ether_stats_fragments_high[0x20]; 7756290650Shselasky 7757290650Shselasky u8 ether_stats_fragments_low[0x20]; 7758290650Shselasky 7759290650Shselasky u8 ether_stats_jabbers_high[0x20]; 7760290650Shselasky 7761290650Shselasky u8 ether_stats_jabbers_low[0x20]; 7762290650Shselasky 7763290650Shselasky u8 ether_stats_collisions_high[0x20]; 7764290650Shselasky 7765290650Shselasky u8 ether_stats_collisions_low[0x20]; 7766290650Shselasky 7767290650Shselasky u8 ether_stats_pkts64octets_high[0x20]; 7768290650Shselasky 7769290650Shselasky u8 ether_stats_pkts64octets_low[0x20]; 7770290650Shselasky 7771290650Shselasky u8 ether_stats_pkts65to127octets_high[0x20]; 7772290650Shselasky 7773290650Shselasky u8 ether_stats_pkts65to127octets_low[0x20]; 7774290650Shselasky 7775290650Shselasky u8 ether_stats_pkts128to255octets_high[0x20]; 7776290650Shselasky 7777290650Shselasky u8 ether_stats_pkts128to255octets_low[0x20]; 7778290650Shselasky 7779290650Shselasky u8 ether_stats_pkts256to511octets_high[0x20]; 7780290650Shselasky 7781290650Shselasky u8 ether_stats_pkts256to511octets_low[0x20]; 7782290650Shselasky 7783290650Shselasky u8 ether_stats_pkts512to1023octets_high[0x20]; 7784290650Shselasky 7785290650Shselasky u8 ether_stats_pkts512to1023octets_low[0x20]; 7786290650Shselasky 7787290650Shselasky u8 ether_stats_pkts1024to1518octets_high[0x20]; 7788290650Shselasky 7789290650Shselasky u8 ether_stats_pkts1024to1518octets_low[0x20]; 7790290650Shselasky 7791290650Shselasky u8 ether_stats_pkts1519to2047octets_high[0x20]; 7792290650Shselasky 7793290650Shselasky u8 ether_stats_pkts1519to2047octets_low[0x20]; 7794290650Shselasky 7795290650Shselasky u8 ether_stats_pkts2048to4095octets_high[0x20]; 7796290650Shselasky 7797290650Shselasky u8 ether_stats_pkts2048to4095octets_low[0x20]; 7798290650Shselasky 7799290650Shselasky u8 ether_stats_pkts4096to8191octets_high[0x20]; 7800290650Shselasky 7801290650Shselasky u8 ether_stats_pkts4096to8191octets_low[0x20]; 7802290650Shselasky 7803290650Shselasky u8 ether_stats_pkts8192to10239octets_high[0x20]; 7804290650Shselasky 7805290650Shselasky u8 ether_stats_pkts8192to10239octets_low[0x20]; 7806290650Shselasky 7807290650Shselasky u8 reserved_0[0x280]; 7808290650Shselasky}; 7809290650Shselasky 7810290650Shselaskystruct mlx5_ifc_ib_portcntrs_attribute_grp_data_bits { 7811290650Shselasky u8 symbol_error_counter[0x10]; 7812290650Shselasky u8 link_error_recovery_counter[0x8]; 7813290650Shselasky u8 link_downed_counter[0x8]; 7814290650Shselasky 7815290650Shselasky u8 port_rcv_errors[0x10]; 7816290650Shselasky u8 port_rcv_remote_physical_errors[0x10]; 7817290650Shselasky 7818290650Shselasky u8 port_rcv_switch_relay_errors[0x10]; 7819290650Shselasky u8 port_xmit_discards[0x10]; 7820290650Shselasky 7821290650Shselasky u8 port_xmit_constraint_errors[0x8]; 7822290650Shselasky u8 port_rcv_constraint_errors[0x8]; 7823290650Shselasky u8 reserved_0[0x8]; 7824290650Shselasky u8 local_link_integrity_errors[0x4]; 7825290650Shselasky u8 excessive_buffer_overrun_errors[0x4]; 7826290650Shselasky 7827290650Shselasky u8 reserved_1[0x10]; 7828290650Shselasky u8 vl_15_dropped[0x10]; 7829290650Shselasky 7830290650Shselasky u8 port_xmit_data[0x20]; 7831290650Shselasky 7832290650Shselasky u8 port_rcv_data[0x20]; 7833290650Shselasky 7834290650Shselasky u8 port_xmit_pkts[0x20]; 7835290650Shselasky 7836290650Shselasky u8 port_rcv_pkts[0x20]; 7837290650Shselasky 7838290650Shselasky u8 port_xmit_wait[0x20]; 7839290650Shselasky 7840290650Shselasky u8 reserved_2[0x680]; 7841290650Shselasky}; 7842290650Shselasky 7843290650Shselaskystruct mlx5_ifc_trc_tlb_reg_bits { 7844290650Shselasky u8 reserved_0[0x80]; 7845290650Shselasky 7846290650Shselasky u8 tlb_addr[0][0x40]; 7847290650Shselasky}; 7848290650Shselasky 7849290650Shselaskystruct mlx5_ifc_trc_read_fifo_reg_bits { 7850290650Shselasky u8 reserved_0[0x10]; 7851290650Shselasky u8 requested_event_num[0x10]; 7852290650Shselasky 7853290650Shselasky u8 reserved_1[0x20]; 7854290650Shselasky 7855290650Shselasky u8 reserved_2[0x10]; 7856290650Shselasky u8 acual_event_num[0x10]; 7857290650Shselasky 7858290650Shselasky u8 reserved_3[0x20]; 7859290650Shselasky 7860290650Shselasky u8 event[0][0x40]; 7861290650Shselasky}; 7862290650Shselasky 7863290650Shselaskystruct mlx5_ifc_trc_lock_reg_bits { 7864290650Shselasky u8 reserved_0[0x1f]; 7865290650Shselasky u8 lock[0x1]; 7866290650Shselasky 7867290650Shselasky u8 reserved_1[0x60]; 7868290650Shselasky}; 7869290650Shselasky 7870290650Shselaskystruct mlx5_ifc_trc_filter_reg_bits { 7871290650Shselasky u8 status[0x1]; 7872290650Shselasky u8 reserved_0[0xf]; 7873290650Shselasky u8 filter_index[0x10]; 7874290650Shselasky 7875290650Shselasky u8 reserved_1[0x20]; 7876290650Shselasky 7877290650Shselasky u8 filter_val[0x20]; 7878290650Shselasky 7879290650Shselasky u8 reserved_2[0x1a0]; 7880290650Shselasky}; 7881290650Shselasky 7882290650Shselaskystruct mlx5_ifc_trc_event_reg_bits { 7883290650Shselasky u8 status[0x1]; 7884290650Shselasky u8 reserved_0[0xf]; 7885290650Shselasky u8 event_index[0x10]; 7886290650Shselasky 7887290650Shselasky u8 reserved_1[0x20]; 7888290650Shselasky 7889290650Shselasky u8 event_id[0x20]; 7890290650Shselasky 7891290650Shselasky u8 event_selector_val[0x10]; 7892290650Shselasky u8 event_selector_size[0x10]; 7893290650Shselasky 7894290650Shselasky u8 reserved_2[0x180]; 7895290650Shselasky}; 7896290650Shselasky 7897290650Shselaskystruct mlx5_ifc_trc_conf_reg_bits { 7898290650Shselasky u8 limit_en[0x1]; 7899290650Shselasky u8 reserved_0[0x3]; 7900290650Shselasky u8 dump_mode[0x4]; 7901290650Shselasky u8 reserved_1[0x15]; 7902290650Shselasky u8 state[0x3]; 7903290650Shselasky 7904290650Shselasky u8 reserved_2[0x20]; 7905290650Shselasky 7906290650Shselasky u8 limit_event_index[0x20]; 7907290650Shselasky 7908290650Shselasky u8 mkey[0x20]; 7909290650Shselasky 7910290650Shselasky u8 fifo_ready_ev_num[0x20]; 7911290650Shselasky 7912290650Shselasky u8 reserved_3[0x160]; 7913290650Shselasky}; 7914290650Shselasky 7915290650Shselaskystruct mlx5_ifc_trc_cap_reg_bits { 7916290650Shselasky u8 reserved_0[0x18]; 7917290650Shselasky u8 dump_mode[0x8]; 7918290650Shselasky 7919290650Shselasky u8 reserved_1[0x20]; 7920290650Shselasky 7921290650Shselasky u8 num_of_events[0x10]; 7922290650Shselasky u8 num_of_filters[0x10]; 7923290650Shselasky 7924290650Shselasky u8 fifo_size[0x20]; 7925290650Shselasky 7926290650Shselasky u8 tlb_size[0x10]; 7927290650Shselasky u8 event_size[0x10]; 7928290650Shselasky 7929290650Shselasky u8 reserved_2[0x160]; 7930290650Shselasky}; 7931290650Shselasky 7932290650Shselaskystruct mlx5_ifc_set_node_in_bits { 7933290650Shselasky u8 node_description[64][0x8]; 7934290650Shselasky}; 7935290650Shselasky 7936290650Shselaskystruct mlx5_ifc_register_power_settings_bits { 7937290650Shselasky u8 reserved_0[0x18]; 7938290650Shselasky u8 power_settings_level[0x8]; 7939290650Shselasky 7940290650Shselasky u8 reserved_1[0x60]; 7941290650Shselasky}; 7942290650Shselasky 7943290650Shselaskystruct mlx5_ifc_register_host_endianess_bits { 7944290650Shselasky u8 he[0x1]; 7945290650Shselasky u8 reserved_0[0x1f]; 7946290650Shselasky 7947290650Shselasky u8 reserved_1[0x60]; 7948290650Shselasky}; 7949290650Shselasky 7950290650Shselaskystruct mlx5_ifc_register_diag_buffer_ctrl_bits { 7951290650Shselasky u8 physical_address[0x40]; 7952290650Shselasky}; 7953290650Shselasky 7954290650Shselaskystruct mlx5_ifc_qtct_reg_bits { 7955290650Shselasky u8 reserved_0[0x8]; 7956290650Shselasky u8 port_number[0x8]; 7957290650Shselasky u8 reserved_1[0xd]; 7958290650Shselasky u8 prio[0x3]; 7959290650Shselasky 7960290650Shselasky u8 reserved_2[0x1d]; 7961290650Shselasky u8 tclass[0x3]; 7962290650Shselasky}; 7963290650Shselasky 7964290650Shselaskystruct mlx5_ifc_qpdp_reg_bits { 7965290650Shselasky u8 reserved_0[0x8]; 7966290650Shselasky u8 port_number[0x8]; 7967290650Shselasky u8 reserved_1[0x10]; 7968290650Shselasky 7969290650Shselasky u8 reserved_2[0x1d]; 7970290650Shselasky u8 pprio[0x3]; 7971290650Shselasky}; 7972290650Shselasky 7973290650Shselaskystruct mlx5_ifc_port_info_ro_fields_param_bits { 7974290650Shselasky u8 reserved_0[0x8]; 7975290650Shselasky u8 port[0x8]; 7976290650Shselasky u8 max_gid[0x10]; 7977290650Shselasky 7978290650Shselasky u8 reserved_1[0x20]; 7979290650Shselasky 7980290650Shselasky u8 port_guid[0x40]; 7981290650Shselasky}; 7982290650Shselasky 7983290650Shselaskystruct mlx5_ifc_nvqc_reg_bits { 7984290650Shselasky u8 type[0x20]; 7985290650Shselasky 7986290650Shselasky u8 reserved_0[0x18]; 7987290650Shselasky u8 version[0x4]; 7988290650Shselasky u8 reserved_1[0x2]; 7989290650Shselasky u8 support_wr[0x1]; 7990290650Shselasky u8 support_rd[0x1]; 7991290650Shselasky}; 7992290650Shselasky 7993290650Shselaskystruct mlx5_ifc_nvia_reg_bits { 7994290650Shselasky u8 reserved_0[0x1d]; 7995290650Shselasky u8 target[0x3]; 7996290650Shselasky 7997290650Shselasky u8 reserved_1[0x20]; 7998290650Shselasky}; 7999290650Shselasky 8000290650Shselaskystruct mlx5_ifc_nvdi_reg_bits { 8001290650Shselasky struct mlx5_ifc_config_item_bits configuration_item_header; 8002290650Shselasky}; 8003290650Shselasky 8004290650Shselaskystruct mlx5_ifc_nvda_reg_bits { 8005290650Shselasky struct mlx5_ifc_config_item_bits configuration_item_header; 8006290650Shselasky 8007290650Shselasky u8 configuration_item_data[0x20]; 8008290650Shselasky}; 8009290650Shselasky 8010290650Shselaskystruct mlx5_ifc_node_info_ro_fields_param_bits { 8011290650Shselasky u8 system_image_guid[0x40]; 8012290650Shselasky 8013290650Shselasky u8 reserved_0[0x40]; 8014290650Shselasky 8015290650Shselasky u8 node_guid[0x40]; 8016290650Shselasky 8017290650Shselasky u8 reserved_1[0x10]; 8018290650Shselasky u8 max_pkey[0x10]; 8019290650Shselasky 8020290650Shselasky u8 reserved_2[0x20]; 8021290650Shselasky}; 8022290650Shselasky 8023290650Shselaskystruct mlx5_ifc_ets_tcn_config_reg_bits { 8024290650Shselasky u8 g[0x1]; 8025290650Shselasky u8 b[0x1]; 8026290650Shselasky u8 r[0x1]; 8027290650Shselasky u8 reserved_0[0x9]; 8028290650Shselasky u8 group[0x4]; 8029290650Shselasky u8 reserved_1[0x9]; 8030290650Shselasky u8 bw_allocation[0x7]; 8031290650Shselasky 8032290650Shselasky u8 reserved_2[0xc]; 8033290650Shselasky u8 max_bw_units[0x4]; 8034290650Shselasky u8 reserved_3[0x8]; 8035290650Shselasky u8 max_bw_value[0x8]; 8036290650Shselasky}; 8037290650Shselasky 8038290650Shselaskystruct mlx5_ifc_ets_global_config_reg_bits { 8039290650Shselasky u8 reserved_0[0x2]; 8040290650Shselasky u8 r[0x1]; 8041290650Shselasky u8 reserved_1[0x1d]; 8042290650Shselasky 8043290650Shselasky u8 reserved_2[0xc]; 8044290650Shselasky u8 max_bw_units[0x4]; 8045290650Shselasky u8 reserved_3[0x8]; 8046290650Shselasky u8 max_bw_value[0x8]; 8047290650Shselasky}; 8048290650Shselasky 8049290650Shselaskystruct mlx5_ifc_nodnic_mac_filters_bits { 8050290650Shselasky struct mlx5_ifc_mac_address_layout_bits mac_filter0; 8051290650Shselasky 8052290650Shselasky struct mlx5_ifc_mac_address_layout_bits mac_filter1; 8053290650Shselasky 8054290650Shselasky struct mlx5_ifc_mac_address_layout_bits mac_filter2; 8055290650Shselasky 8056290650Shselasky struct mlx5_ifc_mac_address_layout_bits mac_filter3; 8057290650Shselasky 8058290650Shselasky struct mlx5_ifc_mac_address_layout_bits mac_filter4; 8059290650Shselasky 8060290650Shselasky u8 reserved_0[0xc0]; 8061290650Shselasky}; 8062290650Shselasky 8063290650Shselaskystruct mlx5_ifc_nodnic_gid_filters_bits { 8064290650Shselasky u8 mgid_filter0[16][0x8]; 8065290650Shselasky 8066290650Shselasky u8 mgid_filter1[16][0x8]; 8067290650Shselasky 8068290650Shselasky u8 mgid_filter2[16][0x8]; 8069290650Shselasky 8070290650Shselasky u8 mgid_filter3[16][0x8]; 8071290650Shselasky}; 8072290650Shselasky 8073290650Shselaskyenum { 8074290650Shselasky MLX5_NODNIC_CONFIG_REG_NUM_PORTS_SINGLE_PORT = 0x0, 8075290650Shselasky MLX5_NODNIC_CONFIG_REG_NUM_PORTS_DUAL_PORT = 0x1, 8076290650Shselasky}; 8077290650Shselasky 8078290650Shselaskyenum { 8079290650Shselasky MLX5_NODNIC_CONFIG_REG_CQE_FORMAT_LEGACY_CQE = 0x0, 8080290650Shselasky MLX5_NODNIC_CONFIG_REG_CQE_FORMAT_NEW_CQE = 0x1, 8081290650Shselasky}; 8082290650Shselasky 8083290650Shselaskystruct mlx5_ifc_nodnic_config_reg_bits { 8084290650Shselasky u8 no_dram_nic_revision[0x8]; 8085290650Shselasky u8 hardware_format[0x8]; 8086290650Shselasky u8 support_receive_filter[0x1]; 8087290650Shselasky u8 support_promisc_filter[0x1]; 8088290650Shselasky u8 support_promisc_multicast_filter[0x1]; 8089290650Shselasky u8 reserved_0[0x2]; 8090290650Shselasky u8 log_working_buffer_size[0x3]; 8091290650Shselasky u8 log_pkey_table_size[0x4]; 8092290650Shselasky u8 reserved_1[0x3]; 8093290650Shselasky u8 num_ports[0x1]; 8094290650Shselasky 8095290650Shselasky u8 reserved_2[0x2]; 8096290650Shselasky u8 log_max_ring_size[0x6]; 8097290650Shselasky u8 reserved_3[0x18]; 8098290650Shselasky 8099290650Shselasky u8 lkey[0x20]; 8100290650Shselasky 8101290650Shselasky u8 cqe_format[0x4]; 8102290650Shselasky u8 reserved_4[0x1c]; 8103290650Shselasky 8104290650Shselasky u8 node_guid[0x40]; 8105290650Shselasky 8106290650Shselasky u8 reserved_5[0x740]; 8107290650Shselasky 8108290650Shselasky struct mlx5_ifc_nodnic_port_config_reg_bits port1_settings; 8109290650Shselasky 8110290650Shselasky struct mlx5_ifc_nodnic_port_config_reg_bits port2_settings; 8111290650Shselasky}; 8112290650Shselasky 8113290650Shselaskystruct mlx5_ifc_vlan_layout_bits { 8114290650Shselasky u8 reserved_0[0x14]; 8115290650Shselasky u8 vlan[0xc]; 8116290650Shselasky 8117290650Shselasky u8 reserved_1[0x20]; 8118290650Shselasky}; 8119290650Shselasky 8120290650Shselaskystruct mlx5_ifc_umr_pointer_desc_argument_bits { 8121290650Shselasky u8 reserved_0[0x20]; 8122290650Shselasky 8123290650Shselasky u8 mkey[0x20]; 8124290650Shselasky 8125290650Shselasky u8 addressh_63_32[0x20]; 8126290650Shselasky 8127290650Shselasky u8 addressl_31_0[0x20]; 8128290650Shselasky}; 8129290650Shselasky 8130290650Shselaskystruct mlx5_ifc_ud_adrs_vector_bits { 8131290650Shselasky u8 dc_key[0x40]; 8132290650Shselasky 8133290650Shselasky u8 ext[0x1]; 8134290650Shselasky u8 reserved_0[0x7]; 8135290650Shselasky u8 destination_qp_dct[0x18]; 8136290650Shselasky 8137290650Shselasky u8 static_rate[0x4]; 8138290650Shselasky u8 sl_eth_prio[0x4]; 8139290650Shselasky u8 fl[0x1]; 8140290650Shselasky u8 mlid[0x7]; 8141290650Shselasky u8 rlid_udp_sport[0x10]; 8142290650Shselasky 8143290650Shselasky u8 reserved_1[0x20]; 8144290650Shselasky 8145290650Shselasky u8 rmac_47_16[0x20]; 8146290650Shselasky 8147290650Shselasky u8 rmac_15_0[0x10]; 8148290650Shselasky u8 tclass[0x8]; 8149290650Shselasky u8 hop_limit[0x8]; 8150290650Shselasky 8151290650Shselasky u8 reserved_2[0x1]; 8152290650Shselasky u8 grh[0x1]; 8153290650Shselasky u8 reserved_3[0x2]; 8154290650Shselasky u8 src_addr_index[0x8]; 8155290650Shselasky u8 flow_label[0x14]; 8156290650Shselasky 8157290650Shselasky u8 rgid_rip[16][0x8]; 8158290650Shselasky}; 8159290650Shselasky 8160290650Shselaskystruct mlx5_ifc_port_module_event_bits { 8161290650Shselasky u8 reserved_0[0x8]; 8162290650Shselasky u8 module[0x8]; 8163290650Shselasky u8 reserved_1[0xc]; 8164290650Shselasky u8 module_status[0x4]; 8165290650Shselasky 8166290650Shselasky u8 reserved_2[0x14]; 8167290650Shselasky u8 error_type[0x4]; 8168290650Shselasky u8 reserved_3[0x8]; 8169290650Shselasky 8170290650Shselasky u8 reserved_4[0xa0]; 8171290650Shselasky}; 8172290650Shselasky 8173290650Shselaskystruct mlx5_ifc_icmd_control_bits { 8174290650Shselasky u8 opcode[0x10]; 8175290650Shselasky u8 status[0x8]; 8176290650Shselasky u8 reserved_0[0x7]; 8177290650Shselasky u8 busy[0x1]; 8178290650Shselasky}; 8179290650Shselasky 8180290650Shselaskystruct mlx5_ifc_eqe_bits { 8181290650Shselasky u8 reserved_0[0x8]; 8182290650Shselasky u8 event_type[0x8]; 8183290650Shselasky u8 reserved_1[0x8]; 8184290650Shselasky u8 event_sub_type[0x8]; 8185290650Shselasky 8186290650Shselasky u8 reserved_2[0xe0]; 8187290650Shselasky 8188290650Shselasky union mlx5_ifc_event_auto_bits event_data; 8189290650Shselasky 8190290650Shselasky u8 reserved_3[0x10]; 8191290650Shselasky u8 signature[0x8]; 8192290650Shselasky u8 reserved_4[0x7]; 8193290650Shselasky u8 owner[0x1]; 8194290650Shselasky}; 8195290650Shselasky 8196290650Shselaskyenum { 8197290650Shselasky MLX5_CMD_QUEUE_ENTRY_TYPE_PCIE_CMD_IF_TRANSPORT = 0x7, 8198290650Shselasky}; 8199290650Shselasky 8200290650Shselaskystruct mlx5_ifc_cmd_queue_entry_bits { 8201290650Shselasky u8 type[0x8]; 8202290650Shselasky u8 reserved_0[0x18]; 8203290650Shselasky 8204290650Shselasky u8 input_length[0x20]; 8205290650Shselasky 8206290650Shselasky u8 input_mailbox_pointer_63_32[0x20]; 8207290650Shselasky 8208290650Shselasky u8 input_mailbox_pointer_31_9[0x17]; 8209290650Shselasky u8 reserved_1[0x9]; 8210290650Shselasky 8211290650Shselasky u8 command_input_inline_data[16][0x8]; 8212290650Shselasky 8213290650Shselasky u8 command_output_inline_data[16][0x8]; 8214290650Shselasky 8215290650Shselasky u8 output_mailbox_pointer_63_32[0x20]; 8216290650Shselasky 8217290650Shselasky u8 output_mailbox_pointer_31_9[0x17]; 8218290650Shselasky u8 reserved_2[0x9]; 8219290650Shselasky 8220290650Shselasky u8 output_length[0x20]; 8221290650Shselasky 8222290650Shselasky u8 token[0x8]; 8223290650Shselasky u8 signature[0x8]; 8224290650Shselasky u8 reserved_3[0x8]; 8225290650Shselasky u8 status[0x7]; 8226290650Shselasky u8 ownership[0x1]; 8227290650Shselasky}; 8228290650Shselasky 8229290650Shselaskystruct mlx5_ifc_cmd_out_bits { 8230290650Shselasky u8 status[0x8]; 8231290650Shselasky u8 reserved_0[0x18]; 8232290650Shselasky 8233290650Shselasky u8 syndrome[0x20]; 8234290650Shselasky 8235290650Shselasky u8 command_output[0x20]; 8236290650Shselasky}; 8237290650Shselasky 8238290650Shselaskystruct mlx5_ifc_cmd_in_bits { 8239290650Shselasky u8 opcode[0x10]; 8240290650Shselasky u8 reserved_0[0x10]; 8241290650Shselasky 8242290650Shselasky u8 reserved_1[0x10]; 8243290650Shselasky u8 op_mod[0x10]; 8244290650Shselasky 8245290650Shselasky u8 command[0][0x20]; 8246290650Shselasky}; 8247290650Shselasky 8248290650Shselaskystruct mlx5_ifc_cmd_if_box_bits { 8249290650Shselasky u8 mailbox_data[512][0x8]; 8250290650Shselasky 8251290650Shselasky u8 reserved_0[0x180]; 8252290650Shselasky 8253290650Shselasky u8 next_pointer_63_32[0x20]; 8254290650Shselasky 8255290650Shselasky u8 next_pointer_31_10[0x16]; 8256290650Shselasky u8 reserved_1[0xa]; 8257290650Shselasky 8258290650Shselasky u8 block_number[0x20]; 8259290650Shselasky 8260290650Shselasky u8 reserved_2[0x8]; 8261290650Shselasky u8 token[0x8]; 8262290650Shselasky u8 ctrl_signature[0x8]; 8263290650Shselasky u8 signature[0x8]; 8264290650Shselasky}; 8265290650Shselasky 8266290650Shselaskystruct mlx5_ifc_mtt_bits { 8267290650Shselasky u8 ptag_63_32[0x20]; 8268290650Shselasky 8269290650Shselasky u8 ptag_31_8[0x18]; 8270290650Shselasky u8 reserved_0[0x6]; 8271290650Shselasky u8 wr_en[0x1]; 8272290650Shselasky u8 rd_en[0x1]; 8273290650Shselasky}; 8274290650Shselasky 8275290650Shselaskystruct mlx5_ifc_vendor_specific_cap_bits { 8276290650Shselasky u8 type[0x8]; 8277290650Shselasky u8 length[0x8]; 8278290650Shselasky u8 next_pointer[0x8]; 8279290650Shselasky u8 capability_id[0x8]; 8280290650Shselasky 8281290650Shselasky u8 status[0x3]; 8282290650Shselasky u8 reserved_0[0xd]; 8283290650Shselasky u8 space[0x10]; 8284290650Shselasky 8285290650Shselasky u8 counter[0x20]; 8286290650Shselasky 8287290650Shselasky u8 semaphore[0x20]; 8288290650Shselasky 8289290650Shselasky u8 flag[0x1]; 8290290650Shselasky u8 reserved_1[0x1]; 8291290650Shselasky u8 address[0x1e]; 8292290650Shselasky 8293290650Shselasky u8 data[0x20]; 8294290650Shselasky}; 8295290650Shselasky 8296290650Shselaskyenum { 8297290650Shselasky MLX5_INITIAL_SEG_NIC_INTERFACE_FULL_DRIVER = 0x0, 8298290650Shselasky MLX5_INITIAL_SEG_NIC_INTERFACE_DISABLED = 0x1, 8299290650Shselasky MLX5_INITIAL_SEG_NIC_INTERFACE_NO_DRAM_NIC = 0x2, 8300290650Shselasky}; 8301290650Shselasky 8302290650Shselaskyenum { 8303290650Shselasky MLX5_INITIAL_SEG_NIC_INTERFACE_SUPPORTED_FULL_DRIVER = 0x0, 8304290650Shselasky MLX5_INITIAL_SEG_NIC_INTERFACE_SUPPORTED_DISABLED = 0x1, 8305290650Shselasky MLX5_INITIAL_SEG_NIC_INTERFACE_SUPPORTED_NO_DRAM_NIC = 0x2, 8306290650Shselasky}; 8307290650Shselasky 8308290650Shselaskyenum { 8309290650Shselasky MLX5_HEALTH_SYNDR_FW_ERR = 0x1, 8310290650Shselasky MLX5_HEALTH_SYNDR_IRISC_ERR = 0x7, 8311290650Shselasky MLX5_HEALTH_SYNDR_HW_UNRECOVERABLE_ERR = 0x8, 8312290650Shselasky MLX5_HEALTH_SYNDR_CRC_ERR = 0x9, 8313290650Shselasky MLX5_HEALTH_SYNDR_FETCH_PCI_ERR = 0xa, 8314290650Shselasky MLX5_HEALTH_SYNDR_HW_FTL_ERR = 0xb, 8315290650Shselasky MLX5_HEALTH_SYNDR_ASYNC_EQ_OVERRUN_ERR = 0xc, 8316290650Shselasky MLX5_HEALTH_SYNDR_EQ_ERR = 0xd, 8317290650Shselasky MLX5_HEALTH_SYNDR_EQ_INV = 0xe, 8318290650Shselasky MLX5_HEALTH_SYNDR_FFSER_ERR = 0xf, 8319290650Shselasky MLX5_HEALTH_SYNDR_HIGH_TEMP = 0x10, 8320290650Shselasky}; 8321290650Shselasky 8322290650Shselaskystruct mlx5_ifc_initial_seg_bits { 8323290650Shselasky u8 fw_rev_minor[0x10]; 8324290650Shselasky u8 fw_rev_major[0x10]; 8325290650Shselasky 8326290650Shselasky u8 cmd_interface_rev[0x10]; 8327290650Shselasky u8 fw_rev_subminor[0x10]; 8328290650Shselasky 8329290650Shselasky u8 reserved_0[0x40]; 8330290650Shselasky 8331290650Shselasky u8 cmdq_phy_addr_63_32[0x20]; 8332290650Shselasky 8333290650Shselasky u8 cmdq_phy_addr_31_12[0x14]; 8334290650Shselasky u8 reserved_1[0x2]; 8335290650Shselasky u8 nic_interface[0x2]; 8336290650Shselasky u8 log_cmdq_size[0x4]; 8337290650Shselasky u8 log_cmdq_stride[0x4]; 8338290650Shselasky 8339290650Shselasky u8 command_doorbell_vector[0x20]; 8340290650Shselasky 8341290650Shselasky u8 reserved_2[0xf00]; 8342290650Shselasky 8343290650Shselasky u8 initializing[0x1]; 8344290650Shselasky u8 reserved_3[0x4]; 8345290650Shselasky u8 nic_interface_supported[0x3]; 8346290650Shselasky u8 reserved_4[0x18]; 8347290650Shselasky 8348290650Shselasky struct mlx5_ifc_health_buffer_bits health_buffer; 8349290650Shselasky 8350290650Shselasky u8 no_dram_nic_offset[0x20]; 8351290650Shselasky 8352290650Shselasky u8 reserved_5[0x6de0]; 8353290650Shselasky 8354290650Shselasky u8 internal_timer_h[0x20]; 8355290650Shselasky 8356290650Shselasky u8 internal_timer_l[0x20]; 8357290650Shselasky 8358290650Shselasky u8 reserved_6[0x20]; 8359290650Shselasky 8360290650Shselasky u8 reserved_7[0x1f]; 8361290650Shselasky u8 clear_int[0x1]; 8362290650Shselasky 8363290650Shselasky u8 health_syndrome[0x8]; 8364290650Shselasky u8 health_counter[0x18]; 8365290650Shselasky 8366290650Shselasky u8 reserved_8[0x17fc0]; 8367290650Shselasky}; 8368290650Shselasky 8369290650Shselaskyunion mlx5_ifc_icmd_interface_document_bits { 8370290650Shselasky struct mlx5_ifc_fw_version_bits fw_version; 8371290650Shselasky struct mlx5_ifc_icmd_access_reg_in_bits icmd_access_reg_in; 8372290650Shselasky struct mlx5_ifc_icmd_access_reg_out_bits icmd_access_reg_out; 8373290650Shselasky struct mlx5_ifc_icmd_init_ocsd_in_bits icmd_init_ocsd_in; 8374290650Shselasky struct mlx5_ifc_icmd_ocbb_init_in_bits icmd_ocbb_init_in; 8375290650Shselasky struct mlx5_ifc_icmd_ocbb_query_etoc_stats_out_bits icmd_ocbb_query_etoc_stats_out; 8376290650Shselasky struct mlx5_ifc_icmd_ocbb_query_header_stats_out_bits icmd_ocbb_query_header_stats_out; 8377290650Shselasky struct mlx5_ifc_icmd_query_cap_general_bits icmd_query_cap_general; 8378290650Shselasky struct mlx5_ifc_icmd_query_cap_in_bits icmd_query_cap_in; 8379290650Shselasky struct mlx5_ifc_icmd_query_fw_info_out_bits icmd_query_fw_info_out; 8380290650Shselasky struct mlx5_ifc_icmd_query_virtual_mac_out_bits icmd_query_virtual_mac_out; 8381290650Shselasky struct mlx5_ifc_icmd_set_virtual_mac_in_bits icmd_set_virtual_mac_in; 8382290650Shselasky struct mlx5_ifc_icmd_set_wol_rol_in_bits icmd_set_wol_rol_in; 8383290650Shselasky struct mlx5_ifc_icmd_set_wol_rol_out_bits icmd_set_wol_rol_out; 8384290650Shselasky u8 reserved_0[0x42c0]; 8385290650Shselasky}; 8386290650Shselasky 8387290650Shselaskyunion mlx5_ifc_eth_cntrs_grp_data_layout_auto_bits { 8388290650Shselasky struct mlx5_ifc_eth_802_3_cntrs_grp_data_layout_bits eth_802_3_cntrs_grp_data_layout; 8389290650Shselasky struct mlx5_ifc_eth_2863_cntrs_grp_data_layout_bits eth_2863_cntrs_grp_data_layout; 8390290650Shselasky struct mlx5_ifc_eth_2819_cntrs_grp_data_layout_bits eth_2819_cntrs_grp_data_layout; 8391290650Shselasky struct mlx5_ifc_eth_3635_cntrs_grp_data_layout_bits eth_3635_cntrs_grp_data_layout; 8392290650Shselasky struct mlx5_ifc_eth_extended_cntrs_grp_data_layout_bits eth_extended_cntrs_grp_data_layout; 8393290650Shselasky struct mlx5_ifc_eth_per_prio_grp_data_layout_bits eth_per_prio_grp_data_layout; 8394290650Shselasky struct mlx5_ifc_phys_layer_cntrs_bits phys_layer_cntrs; 8395290650Shselasky u8 reserved_0[0x7c0]; 8396290650Shselasky}; 8397290650Shselasky 8398290650Shselaskystruct mlx5_ifc_ppcnt_reg_bits { 8399290650Shselasky u8 swid[0x8]; 8400290650Shselasky u8 local_port[0x8]; 8401290650Shselasky u8 pnat[0x2]; 8402290650Shselasky u8 reserved_0[0x8]; 8403290650Shselasky u8 grp[0x6]; 8404290650Shselasky 8405290650Shselasky u8 clr[0x1]; 8406290650Shselasky u8 reserved_1[0x1c]; 8407290650Shselasky u8 prio_tc[0x3]; 8408290650Shselasky 8409290650Shselasky union mlx5_ifc_eth_cntrs_grp_data_layout_auto_bits counter_set; 8410290650Shselasky}; 8411290650Shselasky 8412290650Shselaskyunion mlx5_ifc_ports_control_registers_document_bits { 8413290650Shselasky struct mlx5_ifc_ib_portcntrs_attribute_grp_data_bits ib_portcntrs_attribute_grp_data; 8414290650Shselasky struct mlx5_ifc_bufferx_reg_bits bufferx_reg; 8415290650Shselasky struct mlx5_ifc_eth_2819_cntrs_grp_data_layout_bits eth_2819_cntrs_grp_data_layout; 8416290650Shselasky struct mlx5_ifc_eth_2863_cntrs_grp_data_layout_bits eth_2863_cntrs_grp_data_layout; 8417290650Shselasky struct mlx5_ifc_eth_3635_cntrs_grp_data_layout_bits eth_3635_cntrs_grp_data_layout; 8418290650Shselasky struct mlx5_ifc_eth_802_3_cntrs_grp_data_layout_bits eth_802_3_cntrs_grp_data_layout; 8419290650Shselasky struct mlx5_ifc_eth_extended_cntrs_grp_data_layout_bits eth_extended_cntrs_grp_data_layout; 8420290650Shselasky struct mlx5_ifc_eth_per_prio_grp_data_layout_bits eth_per_prio_grp_data_layout; 8421290650Shselasky struct mlx5_ifc_eth_per_traffic_class_cong_layout_bits eth_per_traffic_class_cong_layout; 8422290650Shselasky struct mlx5_ifc_eth_per_traffic_class_layout_bits eth_per_traffic_class_layout; 8423290650Shselasky struct mlx5_ifc_lane_2_module_mapping_bits lane_2_module_mapping; 8424290650Shselasky struct mlx5_ifc_link_level_retrans_cntr_grp_date_bits link_level_retrans_cntr_grp_date; 8425290650Shselasky struct mlx5_ifc_pamp_reg_bits pamp_reg; 8426290650Shselasky struct mlx5_ifc_paos_reg_bits paos_reg; 8427290650Shselasky struct mlx5_ifc_pbmc_reg_bits pbmc_reg; 8428290650Shselasky struct mlx5_ifc_pcap_reg_bits pcap_reg; 8429290650Shselasky struct mlx5_ifc_peir_reg_bits peir_reg; 8430290650Shselasky struct mlx5_ifc_pelc_reg_bits pelc_reg; 8431290650Shselasky struct mlx5_ifc_pfcc_reg_bits pfcc_reg; 8432290650Shselasky struct mlx5_ifc_phbr_binding_reg_bits phbr_binding_reg; 8433290650Shselasky struct mlx5_ifc_phbr_for_port_tclass_reg_bits phbr_for_port_tclass_reg; 8434290650Shselasky struct mlx5_ifc_phbr_for_prio_reg_bits phbr_for_prio_reg; 8435290650Shselasky struct mlx5_ifc_phrr_reg_bits phrr_reg; 8436290650Shselasky struct mlx5_ifc_phys_layer_cntrs_bits phys_layer_cntrs; 8437290650Shselasky struct mlx5_ifc_pifr_reg_bits pifr_reg; 8438290650Shselasky struct mlx5_ifc_pipg_reg_bits pipg_reg; 8439290650Shselasky struct mlx5_ifc_plbf_reg_bits plbf_reg; 8440290650Shselasky struct mlx5_ifc_plib_reg_bits plib_reg; 8441290650Shselasky struct mlx5_ifc_pll_status_data_bits pll_status_data; 8442290650Shselasky struct mlx5_ifc_plpc_reg_bits plpc_reg; 8443290650Shselasky struct mlx5_ifc_pmaos_reg_bits pmaos_reg; 8444290650Shselasky struct mlx5_ifc_pmlp_reg_bits pmlp_reg; 8445290650Shselasky struct mlx5_ifc_pmlpn_reg_bits pmlpn_reg; 8446290650Shselasky struct mlx5_ifc_pmpc_reg_bits pmpc_reg; 8447290650Shselasky struct mlx5_ifc_pmpe_reg_bits pmpe_reg; 8448290650Shselasky struct mlx5_ifc_pmpr_reg_bits pmpr_reg; 8449290650Shselasky struct mlx5_ifc_pmtu_reg_bits pmtu_reg; 8450290650Shselasky struct mlx5_ifc_ppad_reg_bits ppad_reg; 8451290650Shselasky struct mlx5_ifc_ppcnt_reg_bits ppcnt_reg; 8452290650Shselasky struct mlx5_ifc_ppll_reg_bits ppll_reg; 8453290650Shselasky struct mlx5_ifc_pplm_reg_bits pplm_reg; 8454290650Shselasky struct mlx5_ifc_pplr_reg_bits pplr_reg; 8455290650Shselasky struct mlx5_ifc_ppsc_reg_bits ppsc_reg; 8456290650Shselasky struct mlx5_ifc_pspa_reg_bits pspa_reg; 8457290650Shselasky struct mlx5_ifc_ptas_reg_bits ptas_reg; 8458290650Shselasky struct mlx5_ifc_ptys_reg_bits ptys_reg; 8459290650Shselasky struct mlx5_ifc_pude_reg_bits pude_reg; 8460290650Shselasky struct mlx5_ifc_pvlc_reg_bits pvlc_reg; 8461290650Shselasky struct mlx5_ifc_slrg_reg_bits slrg_reg; 8462290650Shselasky struct mlx5_ifc_slrp_reg_bits slrp_reg; 8463290650Shselasky struct mlx5_ifc_sltp_reg_bits sltp_reg; 8464290650Shselasky u8 reserved_0[0x7880]; 8465290650Shselasky}; 8466290650Shselasky 8467290650Shselaskyunion mlx5_ifc_debug_enhancements_document_bits { 8468290650Shselasky struct mlx5_ifc_health_buffer_bits health_buffer; 8469290650Shselasky u8 reserved_0[0x200]; 8470290650Shselasky}; 8471290650Shselasky 8472290650Shselaskyunion mlx5_ifc_no_dram_nic_document_bits { 8473290650Shselasky struct mlx5_ifc_nodnic_config_reg_bits nodnic_config_reg; 8474290650Shselasky struct mlx5_ifc_nodnic_cq_arming_word_bits nodnic_cq_arming_word; 8475290650Shselasky struct mlx5_ifc_nodnic_event_word_bits nodnic_event_word; 8476290650Shselasky struct mlx5_ifc_nodnic_gid_filters_bits nodnic_gid_filters; 8477290650Shselasky struct mlx5_ifc_nodnic_mac_filters_bits nodnic_mac_filters; 8478290650Shselasky struct mlx5_ifc_nodnic_port_config_reg_bits nodnic_port_config_reg; 8479290650Shselasky struct mlx5_ifc_nodnic_ring_config_reg_bits nodnic_ring_config_reg; 8480290650Shselasky struct mlx5_ifc_nodnic_ring_doorbell_bits nodnic_ring_doorbell; 8481290650Shselasky u8 reserved_0[0x3160]; 8482290650Shselasky}; 8483290650Shselasky 8484290650Shselaskyunion mlx5_ifc_uplink_pci_interface_document_bits { 8485290650Shselasky struct mlx5_ifc_initial_seg_bits initial_seg; 8486290650Shselasky struct mlx5_ifc_vendor_specific_cap_bits vendor_specific_cap; 8487290650Shselasky u8 reserved_0[0x20120]; 8488290650Shselasky}; 8489290650Shselasky 8490290650Shselasky 8491290650Shselasky#endif /* MLX5_IFC_H */ 8492