mlx5_ifc.h revision 329204
1290650Shselasky/*- 2321992Shselasky * Copyright (c) 2013-2017, 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: stable/11/sys/dev/mlx5/mlx5_ifc.h 329204 2018-02-13 14:57:34Z hselasky $ 26321992Shselasky */ 27290650Shselasky 28290650Shselasky#ifndef MLX5_IFC_H 29290650Shselasky#define MLX5_IFC_H 30290650Shselasky 31290650Shselaskyenum { 32290650Shselasky MLX5_EVENT_TYPE_COMP = 0x0, 33290650Shselasky MLX5_EVENT_TYPE_PATH_MIG = 0x1, 34290650Shselasky MLX5_EVENT_TYPE_COMM_EST = 0x2, 35290650Shselasky MLX5_EVENT_TYPE_SQ_DRAINED = 0x3, 36290650Shselasky MLX5_EVENT_TYPE_SRQ_LAST_WQE = 0x13, 37290650Shselasky MLX5_EVENT_TYPE_SRQ_RQ_LIMIT = 0x14, 38290650Shselasky MLX5_EVENT_TYPE_DCT_DRAINED = 0x1c, 39290650Shselasky MLX5_EVENT_TYPE_DCT_KEY_VIOLATION = 0x1d, 40290650Shselasky MLX5_EVENT_TYPE_CQ_ERROR = 0x4, 41290650Shselasky MLX5_EVENT_TYPE_WQ_CATAS_ERROR = 0x5, 42290650Shselasky MLX5_EVENT_TYPE_PATH_MIG_FAILED = 0x7, 43290650Shselasky MLX5_EVENT_TYPE_PAGE_FAULT = 0xc, 44290650Shselasky MLX5_EVENT_TYPE_WQ_INVAL_REQ_ERROR = 0x10, 45290650Shselasky MLX5_EVENT_TYPE_WQ_ACCESS_ERROR = 0x11, 46290650Shselasky MLX5_EVENT_TYPE_SRQ_CATAS_ERROR = 0x12, 47290650Shselasky MLX5_EVENT_TYPE_INTERNAL_ERROR = 0x8, 48290650Shselasky MLX5_EVENT_TYPE_PORT_CHANGE = 0x9, 49290650Shselasky MLX5_EVENT_TYPE_GPIO_EVENT = 0x15, 50290650Shselasky MLX5_EVENT_TYPE_CODING_PORT_MODULE_EVENT = 0x16, 51306233Shselasky MLX5_EVENT_TYPE_CODING_TEMP_WARNING_EVENT = 0x17, 52290650Shselasky MLX5_EVENT_TYPE_REMOTE_CONFIG = 0x19, 53306233Shselasky MLX5_EVENT_TYPE_CODING_DCBX_CHANGE_EVENT = 0x1e, 54321992Shselasky MLX5_EVENT_TYPE_CODING_PPS_EVENT = 0x25, 55321992Shselasky MLX5_EVENT_TYPE_CODING_GENERAL_NOTIFICATION_EVENT = 0x22, 56290650Shselasky MLX5_EVENT_TYPE_DB_BF_CONGESTION = 0x1a, 57290650Shselasky MLX5_EVENT_TYPE_STALL_EVENT = 0x1b, 58290650Shselasky MLX5_EVENT_TYPE_DROPPED_PACKET_LOGGED_EVENT = 0x1f, 59290650Shselasky MLX5_EVENT_TYPE_CMD = 0xa, 60290650Shselasky MLX5_EVENT_TYPE_PAGE_REQUEST = 0xb, 61290650Shselasky MLX5_EVENT_TYPE_NIC_VPORT_CHANGE = 0xd 62290650Shselasky}; 63290650Shselasky 64290650Shselaskyenum { 65306233Shselasky MLX5_MODIFY_TIR_BITMASK_LRO = 0x0, 66306233Shselasky MLX5_MODIFY_TIR_BITMASK_INDIRECT_TABLE = 0x1, 67306233Shselasky MLX5_MODIFY_TIR_BITMASK_HASH = 0x2, 68306233Shselasky MLX5_MODIFY_TIR_BITMASK_TUNNELED_OFFLOAD_EN = 0x3, 69306233Shselasky MLX5_MODIFY_TIR_BITMASK_SELF_LB_EN = 0x4 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, 89321992Shselasky MLX5_CMD_OP_QUERY_OTHER_HCA_CAP = 0x10e, 90321992Shselasky MLX5_CMD_OP_MODIFY_OTHER_HCA_CAP = 0x10f, 91290650Shselasky MLX5_CMD_OP_CREATE_MKEY = 0x200, 92290650Shselasky MLX5_CMD_OP_QUERY_MKEY = 0x201, 93290650Shselasky MLX5_CMD_OP_DESTROY_MKEY = 0x202, 94290650Shselasky MLX5_CMD_OP_QUERY_SPECIAL_CONTEXTS = 0x203, 95290650Shselasky MLX5_CMD_OP_PAGE_FAULT_RESUME = 0x204, 96290650Shselasky MLX5_CMD_OP_CREATE_EQ = 0x301, 97290650Shselasky MLX5_CMD_OP_DESTROY_EQ = 0x302, 98290650Shselasky MLX5_CMD_OP_QUERY_EQ = 0x303, 99290650Shselasky MLX5_CMD_OP_GEN_EQE = 0x304, 100290650Shselasky MLX5_CMD_OP_CREATE_CQ = 0x400, 101290650Shselasky MLX5_CMD_OP_DESTROY_CQ = 0x401, 102290650Shselasky MLX5_CMD_OP_QUERY_CQ = 0x402, 103290650Shselasky MLX5_CMD_OP_MODIFY_CQ = 0x403, 104290650Shselasky MLX5_CMD_OP_CREATE_QP = 0x500, 105290650Shselasky MLX5_CMD_OP_DESTROY_QP = 0x501, 106290650Shselasky MLX5_CMD_OP_RST2INIT_QP = 0x502, 107290650Shselasky MLX5_CMD_OP_INIT2RTR_QP = 0x503, 108290650Shselasky MLX5_CMD_OP_RTR2RTS_QP = 0x504, 109290650Shselasky MLX5_CMD_OP_RTS2RTS_QP = 0x505, 110290650Shselasky MLX5_CMD_OP_SQERR2RTS_QP = 0x506, 111290650Shselasky MLX5_CMD_OP_2ERR_QP = 0x507, 112290650Shselasky MLX5_CMD_OP_2RST_QP = 0x50a, 113290650Shselasky MLX5_CMD_OP_QUERY_QP = 0x50b, 114290650Shselasky MLX5_CMD_OP_SQD_RTS_QP = 0x50c, 115290650Shselasky MLX5_CMD_OP_INIT2INIT_QP = 0x50e, 116290650Shselasky MLX5_CMD_OP_CREATE_PSV = 0x600, 117290650Shselasky MLX5_CMD_OP_DESTROY_PSV = 0x601, 118290650Shselasky MLX5_CMD_OP_CREATE_SRQ = 0x700, 119290650Shselasky MLX5_CMD_OP_DESTROY_SRQ = 0x701, 120290650Shselasky MLX5_CMD_OP_QUERY_SRQ = 0x702, 121290650Shselasky MLX5_CMD_OP_ARM_RQ = 0x703, 122290650Shselasky MLX5_CMD_OP_CREATE_XRC_SRQ = 0x705, 123290650Shselasky MLX5_CMD_OP_DESTROY_XRC_SRQ = 0x706, 124290650Shselasky MLX5_CMD_OP_QUERY_XRC_SRQ = 0x707, 125290650Shselasky MLX5_CMD_OP_ARM_XRC_SRQ = 0x708, 126290650Shselasky MLX5_CMD_OP_CREATE_DCT = 0x710, 127290650Shselasky MLX5_CMD_OP_DESTROY_DCT = 0x711, 128290650Shselasky MLX5_CMD_OP_DRAIN_DCT = 0x712, 129290650Shselasky MLX5_CMD_OP_QUERY_DCT = 0x713, 130290650Shselasky MLX5_CMD_OP_ARM_DCT_FOR_KEY_VIOLATION = 0x714, 131290650Shselasky MLX5_CMD_OP_SET_DC_CNAK_TRACE = 0x715, 132290650Shselasky MLX5_CMD_OP_QUERY_DC_CNAK_TRACE = 0x716, 133290650Shselasky MLX5_CMD_OP_QUERY_VPORT_STATE = 0x750, 134290650Shselasky MLX5_CMD_OP_MODIFY_VPORT_STATE = 0x751, 135290650Shselasky MLX5_CMD_OP_QUERY_ESW_VPORT_CONTEXT = 0x752, 136290650Shselasky MLX5_CMD_OP_MODIFY_ESW_VPORT_CONTEXT = 0x753, 137290650Shselasky MLX5_CMD_OP_QUERY_NIC_VPORT_CONTEXT = 0x754, 138290650Shselasky MLX5_CMD_OP_MODIFY_NIC_VPORT_CONTEXT = 0x755, 139290650Shselasky MLX5_CMD_OP_QUERY_ROCE_ADDRESS = 0x760, 140290650Shselasky MLX5_CMD_OP_SET_ROCE_ADDRESS = 0x761, 141290650Shselasky MLX5_CMD_OP_QUERY_HCA_VPORT_CONTEXT = 0x762, 142290650Shselasky MLX5_CMD_OP_MODIFY_HCA_VPORT_CONTEXT = 0x763, 143290650Shselasky MLX5_CMD_OP_QUERY_HCA_VPORT_GID = 0x764, 144290650Shselasky MLX5_CMD_OP_QUERY_HCA_VPORT_PKEY = 0x765, 145290650Shselasky MLX5_CMD_OP_QUERY_VPORT_COUNTER = 0x770, 146290650Shselasky MLX5_CMD_OP_ALLOC_Q_COUNTER = 0x771, 147290650Shselasky MLX5_CMD_OP_DEALLOC_Q_COUNTER = 0x772, 148290650Shselasky MLX5_CMD_OP_QUERY_Q_COUNTER = 0x773, 149306233Shselasky MLX5_CMD_OP_SET_RATE_LIMIT = 0x780, 150306233Shselasky MLX5_CMD_OP_QUERY_RATE_LIMIT = 0x781, 151308678Shselasky MLX5_CMD_OP_CREATE_SCHEDULING_ELEMENT = 0x782, 152308678Shselasky MLX5_CMD_OP_DESTROY_SCHEDULING_ELEMENT = 0x783, 153308678Shselasky MLX5_CMD_OP_QUERY_SCHEDULING_ELEMENT = 0x784, 154308678Shselasky MLX5_CMD_OP_MODIFY_SCHEDULING_ELEMENT = 0x785, 155308678Shselasky MLX5_CMD_OP_CREATE_QOS_PARA_VPORT = 0x786, 156308678Shselasky MLX5_CMD_OP_DESTROY_QOS_PARA_VPORT = 0x787, 157290650Shselasky MLX5_CMD_OP_ALLOC_PD = 0x800, 158290650Shselasky MLX5_CMD_OP_DEALLOC_PD = 0x801, 159290650Shselasky MLX5_CMD_OP_ALLOC_UAR = 0x802, 160290650Shselasky MLX5_CMD_OP_DEALLOC_UAR = 0x803, 161290650Shselasky MLX5_CMD_OP_CONFIG_INT_MODERATION = 0x804, 162290650Shselasky MLX5_CMD_OP_ACCESS_REG = 0x805, 163290650Shselasky MLX5_CMD_OP_ATTACH_TO_MCG = 0x806, 164290650Shselasky MLX5_CMD_OP_DETACH_FROM_MCG = 0x807, 165290650Shselasky MLX5_CMD_OP_GET_DROPPED_PACKET_LOG = 0x80a, 166290650Shselasky MLX5_CMD_OP_MAD_IFC = 0x50d, 167290650Shselasky MLX5_CMD_OP_QUERY_MAD_DEMUX = 0x80b, 168290650Shselasky MLX5_CMD_OP_SET_MAD_DEMUX = 0x80c, 169290650Shselasky MLX5_CMD_OP_NOP = 0x80d, 170290650Shselasky MLX5_CMD_OP_ALLOC_XRCD = 0x80e, 171290650Shselasky MLX5_CMD_OP_DEALLOC_XRCD = 0x80f, 172290650Shselasky MLX5_CMD_OP_SET_BURST_SIZE = 0x812, 173290650Shselasky MLX5_CMD_OP_QUERY_BURST_SIZE = 0x813, 174290650Shselasky MLX5_CMD_OP_ACTIVATE_TRACER = 0x814, 175290650Shselasky MLX5_CMD_OP_DEACTIVATE_TRACER = 0x815, 176290650Shselasky MLX5_CMD_OP_ALLOC_TRANSPORT_DOMAIN = 0x816, 177290650Shselasky MLX5_CMD_OP_DEALLOC_TRANSPORT_DOMAIN = 0x817, 178306233Shselasky MLX5_CMD_OP_SET_DIAGNOSTICS = 0x820, 179306233Shselasky MLX5_CMD_OP_QUERY_DIAGNOSTICS = 0x821, 180290650Shselasky MLX5_CMD_OP_QUERY_CONG_STATUS = 0x822, 181290650Shselasky MLX5_CMD_OP_MODIFY_CONG_STATUS = 0x823, 182290650Shselasky MLX5_CMD_OP_QUERY_CONG_PARAMS = 0x824, 183290650Shselasky MLX5_CMD_OP_MODIFY_CONG_PARAMS = 0x825, 184290650Shselasky MLX5_CMD_OP_QUERY_CONG_STATISTICS = 0x826, 185290650Shselasky MLX5_CMD_OP_ADD_VXLAN_UDP_DPORT = 0x827, 186290650Shselasky MLX5_CMD_OP_DELETE_VXLAN_UDP_DPORT = 0x828, 187290650Shselasky MLX5_CMD_OP_SET_L2_TABLE_ENTRY = 0x829, 188290650Shselasky MLX5_CMD_OP_QUERY_L2_TABLE_ENTRY = 0x82a, 189290650Shselasky MLX5_CMD_OP_DELETE_L2_TABLE_ENTRY = 0x82b, 190290650Shselasky MLX5_CMD_OP_SET_WOL_ROL = 0x830, 191290650Shselasky MLX5_CMD_OP_QUERY_WOL_ROL = 0x831, 192321992Shselasky MLX5_CMD_OP_CREATE_LAG = 0x840, 193321992Shselasky MLX5_CMD_OP_MODIFY_LAG = 0x841, 194321992Shselasky MLX5_CMD_OP_QUERY_LAG = 0x842, 195321992Shselasky MLX5_CMD_OP_DESTROY_LAG = 0x843, 196321992Shselasky MLX5_CMD_OP_CREATE_VPORT_LAG = 0x844, 197321992Shselasky MLX5_CMD_OP_DESTROY_VPORT_LAG = 0x845, 198290650Shselasky MLX5_CMD_OP_CREATE_TIR = 0x900, 199290650Shselasky MLX5_CMD_OP_MODIFY_TIR = 0x901, 200290650Shselasky MLX5_CMD_OP_DESTROY_TIR = 0x902, 201290650Shselasky MLX5_CMD_OP_QUERY_TIR = 0x903, 202290650Shselasky MLX5_CMD_OP_CREATE_SQ = 0x904, 203290650Shselasky MLX5_CMD_OP_MODIFY_SQ = 0x905, 204290650Shselasky MLX5_CMD_OP_DESTROY_SQ = 0x906, 205290650Shselasky MLX5_CMD_OP_QUERY_SQ = 0x907, 206290650Shselasky MLX5_CMD_OP_CREATE_RQ = 0x908, 207290650Shselasky MLX5_CMD_OP_MODIFY_RQ = 0x909, 208290650Shselasky MLX5_CMD_OP_DESTROY_RQ = 0x90a, 209290650Shselasky MLX5_CMD_OP_QUERY_RQ = 0x90b, 210290650Shselasky MLX5_CMD_OP_CREATE_RMP = 0x90c, 211290650Shselasky MLX5_CMD_OP_MODIFY_RMP = 0x90d, 212290650Shselasky MLX5_CMD_OP_DESTROY_RMP = 0x90e, 213290650Shselasky MLX5_CMD_OP_QUERY_RMP = 0x90f, 214321992Shselasky MLX5_CMD_OP_SET_DELAY_DROP_PARAMS = 0x910, 215321992Shselasky MLX5_CMD_OP_QUERY_DELAY_DROP_PARAMS = 0x911, 216290650Shselasky MLX5_CMD_OP_CREATE_TIS = 0x912, 217290650Shselasky MLX5_CMD_OP_MODIFY_TIS = 0x913, 218290650Shselasky MLX5_CMD_OP_DESTROY_TIS = 0x914, 219290650Shselasky MLX5_CMD_OP_QUERY_TIS = 0x915, 220290650Shselasky MLX5_CMD_OP_CREATE_RQT = 0x916, 221290650Shselasky MLX5_CMD_OP_MODIFY_RQT = 0x917, 222290650Shselasky MLX5_CMD_OP_DESTROY_RQT = 0x918, 223290650Shselasky MLX5_CMD_OP_QUERY_RQT = 0x919, 224290650Shselasky MLX5_CMD_OP_SET_FLOW_TABLE_ROOT = 0x92f, 225290650Shselasky MLX5_CMD_OP_CREATE_FLOW_TABLE = 0x930, 226290650Shselasky MLX5_CMD_OP_DESTROY_FLOW_TABLE = 0x931, 227290650Shselasky MLX5_CMD_OP_QUERY_FLOW_TABLE = 0x932, 228290650Shselasky MLX5_CMD_OP_CREATE_FLOW_GROUP = 0x933, 229290650Shselasky MLX5_CMD_OP_DESTROY_FLOW_GROUP = 0x934, 230290650Shselasky MLX5_CMD_OP_QUERY_FLOW_GROUP = 0x935, 231290650Shselasky MLX5_CMD_OP_SET_FLOW_TABLE_ENTRY = 0x936, 232290650Shselasky MLX5_CMD_OP_QUERY_FLOW_TABLE_ENTRY = 0x937, 233290650Shselasky MLX5_CMD_OP_DELETE_FLOW_TABLE_ENTRY = 0x938, 234290650Shselasky MLX5_CMD_OP_ALLOC_FLOW_COUNTER = 0x939, 235290650Shselasky MLX5_CMD_OP_DEALLOC_FLOW_COUNTER = 0x93a, 236321992Shselasky MLX5_CMD_OP_QUERY_FLOW_COUNTER = 0x93b, 237321992Shselasky MLX5_CMD_OP_MODIFY_FLOW_TABLE = 0x93c, 238321992Shselasky MLX5_CMD_OP_ALLOC_ENCAP_HEADER = 0x93d, 239321992Shselasky MLX5_CMD_OP_DEALLOC_ENCAP_HEADER = 0x93e, 240290650Shselasky}; 241290650Shselasky 242290650Shselaskyenum { 243290650Shselasky MLX5_ICMD_CMDS_OPCODE_ICMD_OPCODE_QUERY_FW_INFO = 0x8007, 244290650Shselasky MLX5_ICMD_CMDS_OPCODE_ICMD_QUERY_CAPABILITY = 0x8400, 245290650Shselasky MLX5_ICMD_CMDS_OPCODE_ICMD_ACCESS_REGISTER = 0x9001, 246290650Shselasky MLX5_ICMD_CMDS_OPCODE_ICMD_QUERY_VIRTUAL_MAC = 0x9003, 247290650Shselasky MLX5_ICMD_CMDS_OPCODE_ICMD_SET_VIRTUAL_MAC = 0x9004, 248290650Shselasky MLX5_ICMD_CMDS_OPCODE_ICMD_QUERY_WOL_ROL = 0x9005, 249290650Shselasky MLX5_ICMD_CMDS_OPCODE_ICMD_SET_WOL_ROL = 0x9006, 250290650Shselasky MLX5_ICMD_CMDS_OPCODE_ICMD_OCBB_INIT = 0x9007, 251290650Shselasky MLX5_ICMD_CMDS_OPCODE_ICMD_OCBB_QUERY_HEADER_STATUS = 0x9008, 252290650Shselasky MLX5_ICMD_CMDS_OPCODE_ICMD_OCBB_QUERY_ETOC_STATUS = 0x9009, 253290650Shselasky MLX5_ICMD_CMDS_OPCODE_ICMD_OCBB_SET_EVENT = 0x900a, 254290650Shselasky MLX5_ICMD_CMDS_OPCODE_ICMD_OPCODE_INIT_OCSD = 0xf004 255290650Shselasky}; 256290650Shselasky 257290650Shselaskystruct mlx5_ifc_flow_table_fields_supported_bits { 258290650Shselasky u8 outer_dmac[0x1]; 259290650Shselasky u8 outer_smac[0x1]; 260290650Shselasky u8 outer_ether_type[0x1]; 261290650Shselasky u8 reserved_0[0x1]; 262290650Shselasky u8 outer_first_prio[0x1]; 263290650Shselasky u8 outer_first_cfi[0x1]; 264290650Shselasky u8 outer_first_vid[0x1]; 265290650Shselasky u8 reserved_1[0x1]; 266290650Shselasky u8 outer_second_prio[0x1]; 267290650Shselasky u8 outer_second_cfi[0x1]; 268290650Shselasky u8 outer_second_vid[0x1]; 269290650Shselasky u8 outer_ipv6_flow_label[0x1]; 270290650Shselasky u8 outer_sip[0x1]; 271290650Shselasky u8 outer_dip[0x1]; 272290650Shselasky u8 outer_frag[0x1]; 273290650Shselasky u8 outer_ip_protocol[0x1]; 274290650Shselasky u8 outer_ip_ecn[0x1]; 275290650Shselasky u8 outer_ip_dscp[0x1]; 276290650Shselasky u8 outer_udp_sport[0x1]; 277290650Shselasky u8 outer_udp_dport[0x1]; 278290650Shselasky u8 outer_tcp_sport[0x1]; 279290650Shselasky u8 outer_tcp_dport[0x1]; 280290650Shselasky u8 outer_tcp_flags[0x1]; 281290650Shselasky u8 outer_gre_protocol[0x1]; 282290650Shselasky u8 outer_gre_key[0x1]; 283290650Shselasky u8 outer_vxlan_vni[0x1]; 284321992Shselasky u8 outer_geneve_vni[0x1]; 285321992Shselasky u8 outer_geneve_oam[0x1]; 286321992Shselasky u8 outer_geneve_protocol_type[0x1]; 287321992Shselasky u8 outer_geneve_opt_len[0x1]; 288321992Shselasky u8 reserved_2[0x1]; 289290650Shselasky u8 source_eswitch_port[0x1]; 290290650Shselasky 291290650Shselasky u8 inner_dmac[0x1]; 292290650Shselasky u8 inner_smac[0x1]; 293290650Shselasky u8 inner_ether_type[0x1]; 294290650Shselasky u8 reserved_3[0x1]; 295290650Shselasky u8 inner_first_prio[0x1]; 296290650Shselasky u8 inner_first_cfi[0x1]; 297290650Shselasky u8 inner_first_vid[0x1]; 298290650Shselasky u8 reserved_4[0x1]; 299290650Shselasky u8 inner_second_prio[0x1]; 300290650Shselasky u8 inner_second_cfi[0x1]; 301290650Shselasky u8 inner_second_vid[0x1]; 302290650Shselasky u8 inner_ipv6_flow_label[0x1]; 303290650Shselasky u8 inner_sip[0x1]; 304290650Shselasky u8 inner_dip[0x1]; 305290650Shselasky u8 inner_frag[0x1]; 306290650Shselasky u8 inner_ip_protocol[0x1]; 307290650Shselasky u8 inner_ip_ecn[0x1]; 308290650Shselasky u8 inner_ip_dscp[0x1]; 309290650Shselasky u8 inner_udp_sport[0x1]; 310290650Shselasky u8 inner_udp_dport[0x1]; 311290650Shselasky u8 inner_tcp_sport[0x1]; 312290650Shselasky u8 inner_tcp_dport[0x1]; 313290650Shselasky u8 inner_tcp_flags[0x1]; 314290650Shselasky u8 reserved_5[0x9]; 315290650Shselasky 316321992Shselasky u8 reserved_6[0x1a]; 317321992Shselasky u8 bth_dst_qp[0x1]; 318321992Shselasky u8 reserved_7[0x4]; 319290650Shselasky u8 source_sqn[0x1]; 320290650Shselasky 321321992Shselasky u8 reserved_8[0x20]; 322290650Shselasky}; 323290650Shselasky 324308678Shselaskystruct mlx5_ifc_eth_discard_cntrs_grp_bits { 325308678Shselasky u8 ingress_general_high[0x20]; 326308678Shselasky 327308678Shselasky u8 ingress_general_low[0x20]; 328308678Shselasky 329308678Shselasky u8 ingress_policy_engine_high[0x20]; 330308678Shselasky 331308678Shselasky u8 ingress_policy_engine_low[0x20]; 332308678Shselasky 333308678Shselasky u8 ingress_vlan_membership_high[0x20]; 334308678Shselasky 335308678Shselasky u8 ingress_vlan_membership_low[0x20]; 336308678Shselasky 337308678Shselasky u8 ingress_tag_frame_type_high[0x20]; 338308678Shselasky 339308678Shselasky u8 ingress_tag_frame_type_low[0x20]; 340308678Shselasky 341308678Shselasky u8 egress_vlan_membership_high[0x20]; 342308678Shselasky 343308678Shselasky u8 egress_vlan_membership_low[0x20]; 344308678Shselasky 345308678Shselasky u8 loopback_filter_high[0x20]; 346308678Shselasky 347308678Shselasky u8 loopback_filter_low[0x20]; 348308678Shselasky 349308678Shselasky u8 egress_general_high[0x20]; 350308678Shselasky 351308678Shselasky u8 egress_general_low[0x20]; 352308678Shselasky 353308678Shselasky u8 reserved_at_1c0[0x40]; 354308678Shselasky 355308678Shselasky u8 egress_hoq_high[0x20]; 356308678Shselasky 357308678Shselasky u8 egress_hoq_low[0x20]; 358308678Shselasky 359308678Shselasky u8 port_isolation_high[0x20]; 360308678Shselasky 361308678Shselasky u8 port_isolation_low[0x20]; 362308678Shselasky 363308678Shselasky u8 egress_policy_engine_high[0x20]; 364308678Shselasky 365308678Shselasky u8 egress_policy_engine_low[0x20]; 366308678Shselasky 367308678Shselasky u8 ingress_tx_link_down_high[0x20]; 368308678Shselasky 369308678Shselasky u8 ingress_tx_link_down_low[0x20]; 370308678Shselasky 371308678Shselasky u8 egress_stp_filter_high[0x20]; 372308678Shselasky 373308678Shselasky u8 egress_stp_filter_low[0x20]; 374308678Shselasky 375321992Shselasky u8 egress_hoq_stall_high[0x20]; 376321992Shselasky 377321992Shselasky u8 egress_hoq_stall_low[0x20]; 378321992Shselasky 379321992Shselasky u8 reserved_at_340[0x440]; 380308678Shselasky}; 381290650Shselaskystruct mlx5_ifc_flow_table_prop_layout_bits { 382290650Shselasky u8 ft_support[0x1]; 383290650Shselasky u8 flow_tag[0x1]; 384290650Shselasky u8 flow_counter[0x1]; 385290650Shselasky u8 flow_modify_en[0x1]; 386290650Shselasky u8 modify_root[0x1]; 387329200Shselasky u8 identified_miss_table[0x1]; 388329200Shselasky u8 flow_table_modify[0x1]; 389329200Shselasky u8 encap[0x1]; 390329200Shselasky u8 decap[0x1]; 391329200Shselasky u8 reset_root_to_default[0x1]; 392329200Shselasky u8 reserved_at_a[0x16]; 393290650Shselasky 394329200Shselasky u8 reserved_at_20[0x2]; 395290650Shselasky u8 log_max_ft_size[0x6]; 396329200Shselasky u8 reserved_at_28[0x10]; 397290650Shselasky u8 max_ft_level[0x8]; 398290650Shselasky 399329200Shselasky u8 reserved_at_40[0x20]; 400290650Shselasky 401329200Shselasky u8 reserved_at_60[0x18]; 402290650Shselasky u8 log_max_ft_num[0x8]; 403290650Shselasky 404329200Shselasky u8 reserved_at_80[0x10]; 405290650Shselasky u8 log_max_flow_counter[0x8]; 406290650Shselasky u8 log_max_destination[0x8]; 407290650Shselasky 408329200Shselasky u8 reserved_at_a0[0x18]; 409290650Shselasky u8 log_max_flow[0x8]; 410290650Shselasky 411329200Shselasky u8 reserved_at_c0[0x40]; 412290650Shselasky 413290650Shselasky struct mlx5_ifc_flow_table_fields_supported_bits ft_field_support; 414290650Shselasky 415290650Shselasky struct mlx5_ifc_flow_table_fields_supported_bits ft_field_bitmask_support; 416290650Shselasky}; 417290650Shselasky 418290650Shselaskystruct mlx5_ifc_odp_per_transport_service_cap_bits { 419290650Shselasky u8 send[0x1]; 420290650Shselasky u8 receive[0x1]; 421290650Shselasky u8 write[0x1]; 422290650Shselasky u8 read[0x1]; 423290650Shselasky u8 atomic[0x1]; 424290650Shselasky u8 srq_receive[0x1]; 425290650Shselasky u8 reserved_0[0x1a]; 426290650Shselasky}; 427290650Shselasky 428290650Shselaskystruct mlx5_ifc_flow_counter_list_bits { 429290650Shselasky u8 reserved_0[0x10]; 430290650Shselasky u8 flow_counter_id[0x10]; 431290650Shselasky 432290650Shselasky u8 reserved_1[0x20]; 433290650Shselasky}; 434290650Shselasky 435290650Shselaskyenum { 436290650Shselasky MLX5_FLOW_CONTEXT_DEST_TYPE_VPORT = 0x0, 437290650Shselasky MLX5_FLOW_CONTEXT_DEST_TYPE_FLOW_TABLE = 0x1, 438290650Shselasky MLX5_FLOW_CONTEXT_DEST_TYPE_TIR = 0x2, 439321992Shselasky MLX5_FLOW_CONTEXT_DEST_TYPE_QP = 0x3, 440290650Shselasky}; 441290650Shselasky 442290650Shselaskystruct mlx5_ifc_dest_format_struct_bits { 443290650Shselasky u8 destination_type[0x8]; 444290650Shselasky u8 destination_id[0x18]; 445290650Shselasky 446290650Shselasky u8 reserved_0[0x20]; 447290650Shselasky}; 448290650Shselasky 449329200Shselaskystruct mlx5_ifc_ipv4_layout_bits { 450329200Shselasky u8 reserved_at_0[0x60]; 451329200Shselasky 452329200Shselasky u8 ipv4[0x20]; 453329200Shselasky}; 454329200Shselasky 455329200Shselaskystruct mlx5_ifc_ipv6_layout_bits { 456329200Shselasky u8 ipv6[16][0x8]; 457329200Shselasky}; 458329200Shselasky 459329200Shselaskyunion mlx5_ifc_ipv6_layout_ipv4_layout_auto_bits { 460329200Shselasky struct mlx5_ifc_ipv6_layout_bits ipv6_layout; 461329200Shselasky struct mlx5_ifc_ipv4_layout_bits ipv4_layout; 462329200Shselasky u8 reserved_at_0[0x80]; 463329200Shselasky}; 464329200Shselasky 465290650Shselaskystruct mlx5_ifc_fte_match_set_lyr_2_4_bits { 466290650Shselasky u8 smac_47_16[0x20]; 467290650Shselasky 468290650Shselasky u8 smac_15_0[0x10]; 469290650Shselasky u8 ethertype[0x10]; 470290650Shselasky 471290650Shselasky u8 dmac_47_16[0x20]; 472290650Shselasky 473290650Shselasky u8 dmac_15_0[0x10]; 474290650Shselasky u8 first_prio[0x3]; 475290650Shselasky u8 first_cfi[0x1]; 476290650Shselasky u8 first_vid[0xc]; 477290650Shselasky 478290650Shselasky u8 ip_protocol[0x8]; 479290650Shselasky u8 ip_dscp[0x6]; 480290650Shselasky u8 ip_ecn[0x2]; 481306233Shselasky u8 cvlan_tag[0x1]; 482306233Shselasky u8 svlan_tag[0x1]; 483290650Shselasky u8 frag[0x1]; 484290650Shselasky u8 reserved_1[0x4]; 485290650Shselasky u8 tcp_flags[0x9]; 486290650Shselasky 487290650Shselasky u8 tcp_sport[0x10]; 488290650Shselasky u8 tcp_dport[0x10]; 489290650Shselasky 490290650Shselasky u8 reserved_2[0x20]; 491290650Shselasky 492290650Shselasky u8 udp_sport[0x10]; 493290650Shselasky u8 udp_dport[0x10]; 494290650Shselasky 495329200Shselasky union mlx5_ifc_ipv6_layout_ipv4_layout_auto_bits src_ipv4_src_ipv6; 496290650Shselasky 497329200Shselasky union mlx5_ifc_ipv6_layout_ipv4_layout_auto_bits dst_ipv4_dst_ipv6; 498290650Shselasky}; 499290650Shselasky 500290650Shselaskystruct mlx5_ifc_fte_match_set_misc_bits { 501290650Shselasky u8 reserved_0[0x8]; 502290650Shselasky u8 source_sqn[0x18]; 503290650Shselasky 504290650Shselasky u8 reserved_1[0x10]; 505290650Shselasky u8 source_port[0x10]; 506290650Shselasky 507290650Shselasky u8 outer_second_prio[0x3]; 508290650Shselasky u8 outer_second_cfi[0x1]; 509290650Shselasky u8 outer_second_vid[0xc]; 510290650Shselasky u8 inner_second_prio[0x3]; 511290650Shselasky u8 inner_second_cfi[0x1]; 512290650Shselasky u8 inner_second_vid[0xc]; 513290650Shselasky 514290650Shselasky u8 outer_second_vlan_tag[0x1]; 515290650Shselasky u8 inner_second_vlan_tag[0x1]; 516290650Shselasky u8 reserved_2[0xe]; 517290650Shselasky u8 gre_protocol[0x10]; 518290650Shselasky 519290650Shselasky u8 gre_key_h[0x18]; 520290650Shselasky u8 gre_key_l[0x8]; 521290650Shselasky 522290650Shselasky u8 vxlan_vni[0x18]; 523290650Shselasky u8 reserved_3[0x8]; 524290650Shselasky 525308678Shselasky u8 geneve_vni[0x18]; 526308678Shselasky u8 reserved4[0x7]; 527308678Shselasky u8 geneve_oam[0x1]; 528290650Shselasky 529290650Shselasky u8 reserved_5[0xc]; 530290650Shselasky u8 outer_ipv6_flow_label[0x14]; 531290650Shselasky 532290650Shselasky u8 reserved_6[0xc]; 533290650Shselasky u8 inner_ipv6_flow_label[0x14]; 534290650Shselasky 535321992Shselasky u8 reserved_7[0xa]; 536321992Shselasky u8 geneve_opt_len[0x6]; 537308678Shselasky u8 geneve_protocol_type[0x10]; 538321992Shselasky 539321992Shselasky u8 reserved_8[0x8]; 540321992Shselasky u8 bth_dst_qp[0x18]; 541321992Shselasky 542321992Shselasky u8 reserved_9[0xa0]; 543290650Shselasky}; 544290650Shselasky 545290650Shselaskystruct mlx5_ifc_cmd_pas_bits { 546290650Shselasky u8 pa_h[0x20]; 547290650Shselasky 548290650Shselasky u8 pa_l[0x14]; 549290650Shselasky u8 reserved_0[0xc]; 550290650Shselasky}; 551290650Shselasky 552290650Shselaskystruct mlx5_ifc_uint64_bits { 553290650Shselasky u8 hi[0x20]; 554290650Shselasky 555290650Shselasky u8 lo[0x20]; 556290650Shselasky}; 557290650Shselasky 558306233Shselaskystruct mlx5_ifc_application_prio_entry_bits { 559306233Shselasky u8 reserved_0[0x8]; 560306233Shselasky u8 priority[0x3]; 561306233Shselasky u8 reserved_1[0x2]; 562306233Shselasky u8 sel[0x3]; 563306233Shselasky u8 protocol_id[0x10]; 564306233Shselasky}; 565306233Shselasky 566290650Shselaskystruct mlx5_ifc_nodnic_ring_doorbell_bits { 567290650Shselasky u8 reserved_0[0x8]; 568290650Shselasky u8 ring_pi[0x10]; 569290650Shselasky u8 reserved_1[0x8]; 570290650Shselasky}; 571290650Shselasky 572290650Shselaskyenum { 573290650Shselasky MLX5_ADS_STAT_RATE_NO_LIMIT = 0x0, 574290650Shselasky MLX5_ADS_STAT_RATE_2_5GBPS = 0x7, 575290650Shselasky MLX5_ADS_STAT_RATE_10GBPS = 0x8, 576290650Shselasky MLX5_ADS_STAT_RATE_30GBPS = 0x9, 577290650Shselasky MLX5_ADS_STAT_RATE_5GBPS = 0xa, 578290650Shselasky MLX5_ADS_STAT_RATE_20GBPS = 0xb, 579290650Shselasky MLX5_ADS_STAT_RATE_40GBPS = 0xc, 580290650Shselasky MLX5_ADS_STAT_RATE_60GBPS = 0xd, 581290650Shselasky MLX5_ADS_STAT_RATE_80GBPS = 0xe, 582290650Shselasky MLX5_ADS_STAT_RATE_120GBPS = 0xf, 583290650Shselasky}; 584290650Shselasky 585290650Shselaskystruct mlx5_ifc_ads_bits { 586290650Shselasky u8 fl[0x1]; 587290650Shselasky u8 free_ar[0x1]; 588290650Shselasky u8 reserved_0[0xe]; 589290650Shselasky u8 pkey_index[0x10]; 590290650Shselasky 591290650Shselasky u8 reserved_1[0x8]; 592290650Shselasky u8 grh[0x1]; 593290650Shselasky u8 mlid[0x7]; 594290650Shselasky u8 rlid[0x10]; 595290650Shselasky 596290650Shselasky u8 ack_timeout[0x5]; 597290650Shselasky u8 reserved_2[0x3]; 598290650Shselasky u8 src_addr_index[0x8]; 599290650Shselasky u8 log_rtm[0x4]; 600290650Shselasky u8 stat_rate[0x4]; 601290650Shselasky u8 hop_limit[0x8]; 602290650Shselasky 603290650Shselasky u8 reserved_3[0x4]; 604290650Shselasky u8 tclass[0x8]; 605290650Shselasky u8 flow_label[0x14]; 606290650Shselasky 607290650Shselasky u8 rgid_rip[16][0x8]; 608290650Shselasky 609290650Shselasky u8 reserved_4[0x4]; 610290650Shselasky u8 f_dscp[0x1]; 611290650Shselasky u8 f_ecn[0x1]; 612290650Shselasky u8 reserved_5[0x1]; 613290650Shselasky u8 f_eth_prio[0x1]; 614290650Shselasky u8 ecn[0x2]; 615290650Shselasky u8 dscp[0x6]; 616290650Shselasky u8 udp_sport[0x10]; 617290650Shselasky 618290650Shselasky u8 dei_cfi[0x1]; 619290650Shselasky u8 eth_prio[0x3]; 620290650Shselasky u8 sl[0x4]; 621290650Shselasky u8 port[0x8]; 622290650Shselasky u8 rmac_47_32[0x10]; 623290650Shselasky 624290650Shselasky u8 rmac_31_0[0x20]; 625290650Shselasky}; 626290650Shselasky 627306233Shselaskystruct mlx5_ifc_diagnostic_counter_cap_bits { 628306233Shselasky u8 sync[0x1]; 629306233Shselasky u8 reserved_0[0xf]; 630306233Shselasky u8 counter_id[0x10]; 631306233Shselasky}; 632306233Shselasky 633306233Shselaskystruct mlx5_ifc_debug_cap_bits { 634306233Shselasky u8 reserved_0[0x18]; 635306233Shselasky u8 log_max_samples[0x8]; 636306233Shselasky 637306233Shselasky u8 single[0x1]; 638306233Shselasky u8 repetitive[0x1]; 639306233Shselasky u8 health_mon_rx_activity[0x1]; 640306233Shselasky u8 reserved_1[0x15]; 641306233Shselasky u8 log_min_sample_period[0x8]; 642306233Shselasky 643306233Shselasky u8 reserved_2[0x1c0]; 644306233Shselasky 645306233Shselasky struct mlx5_ifc_diagnostic_counter_cap_bits diagnostic_counter[0x1f0]; 646306233Shselasky}; 647306233Shselasky 648308678Shselaskystruct mlx5_ifc_qos_cap_bits { 649308678Shselasky u8 packet_pacing[0x1]; 650308678Shselasky u8 esw_scheduling[0x1]; 651308678Shselasky u8 esw_bw_share[0x1]; 652308678Shselasky u8 esw_rate_limit[0x1]; 653308678Shselasky u8 hll[0x1]; 654308678Shselasky u8 packet_pacing_burst_bound[0x1]; 655308678Shselasky u8 reserved_at_6[0x1a]; 656308678Shselasky 657308678Shselasky u8 reserved_at_20[0x20]; 658308678Shselasky 659308678Shselasky u8 packet_pacing_max_rate[0x20]; 660308678Shselasky 661308678Shselasky u8 packet_pacing_min_rate[0x20]; 662308678Shselasky 663308678Shselasky u8 reserved_at_80[0x10]; 664308678Shselasky u8 packet_pacing_rate_table_size[0x10]; 665308678Shselasky 666308678Shselasky u8 esw_element_type[0x10]; 667308678Shselasky u8 esw_tsar_type[0x10]; 668308678Shselasky 669308678Shselasky u8 reserved_at_c0[0x10]; 670308678Shselasky u8 max_qos_para_vport[0x10]; 671308678Shselasky 672308678Shselasky u8 max_tsar_bw_share[0x20]; 673308678Shselasky 674308678Shselasky u8 reserved_at_100[0x700]; 675308678Shselasky}; 676308678Shselasky 677306233Shselaskystruct mlx5_ifc_snapshot_cap_bits { 678306233Shselasky u8 reserved_0[0x1d]; 679306233Shselasky u8 suspend_qp_uc[0x1]; 680306233Shselasky u8 suspend_qp_ud[0x1]; 681306233Shselasky u8 suspend_qp_rc[0x1]; 682306233Shselasky 683306233Shselasky u8 reserved_1[0x1c]; 684306233Shselasky u8 restore_pd[0x1]; 685306233Shselasky u8 restore_uar[0x1]; 686306233Shselasky u8 restore_mkey[0x1]; 687306233Shselasky u8 restore_qp[0x1]; 688306233Shselasky 689306233Shselasky u8 reserved_2[0x1e]; 690306233Shselasky u8 named_mkey[0x1]; 691306233Shselasky u8 named_qp[0x1]; 692306233Shselasky 693306233Shselasky u8 reserved_3[0x7a0]; 694306233Shselasky}; 695306233Shselasky 696290650Shselaskystruct mlx5_ifc_e_switch_cap_bits { 697290650Shselasky u8 vport_svlan_strip[0x1]; 698290650Shselasky u8 vport_cvlan_strip[0x1]; 699290650Shselasky u8 vport_svlan_insert[0x1]; 700290650Shselasky u8 vport_cvlan_insert_if_not_exist[0x1]; 701290650Shselasky u8 vport_cvlan_insert_overwrite[0x1]; 702290650Shselasky 703306233Shselasky u8 reserved_0[0x19]; 704306233Shselasky 705306233Shselasky u8 nic_vport_node_guid_modify[0x1]; 706306233Shselasky u8 nic_vport_port_guid_modify[0x1]; 707306233Shselasky 708290650Shselasky u8 reserved_1[0x7e0]; 709290650Shselasky}; 710290650Shselasky 711290650Shselaskystruct mlx5_ifc_flow_table_eswitch_cap_bits { 712290650Shselasky u8 reserved_0[0x200]; 713290650Shselasky 714290650Shselasky struct mlx5_ifc_flow_table_prop_layout_bits flow_table_properties_nic_esw_fdb; 715290650Shselasky 716290650Shselasky struct mlx5_ifc_flow_table_prop_layout_bits flow_table_properties_esw_acl_ingress; 717290650Shselasky 718290650Shselasky struct mlx5_ifc_flow_table_prop_layout_bits flow_table_properties_esw_acl_egress; 719290650Shselasky 720290650Shselasky u8 reserved_1[0x7800]; 721290650Shselasky}; 722290650Shselasky 723290650Shselaskystruct mlx5_ifc_flow_table_nic_cap_bits { 724329200Shselasky u8 nic_rx_multi_path_tirs[0x1]; 725329200Shselasky u8 nic_rx_multi_path_tirs_fts[0x1]; 726329200Shselasky u8 allow_sniffer_and_nic_rx_shared_tir[0x1]; 727329200Shselasky u8 reserved_at_3[0x1fd]; 728290650Shselasky 729290650Shselasky struct mlx5_ifc_flow_table_prop_layout_bits flow_table_properties_nic_receive; 730290650Shselasky 731290650Shselasky struct mlx5_ifc_flow_table_prop_layout_bits flow_table_properties_nic_receive_rdma; 732290650Shselasky 733290650Shselasky struct mlx5_ifc_flow_table_prop_layout_bits flow_table_properties_nic_receive_sniffer; 734290650Shselasky 735290650Shselasky struct mlx5_ifc_flow_table_prop_layout_bits flow_table_properties_nic_transmit; 736290650Shselasky 737290650Shselasky struct mlx5_ifc_flow_table_prop_layout_bits flow_table_properties_nic_transmit_rdma; 738290650Shselasky 739290650Shselasky struct mlx5_ifc_flow_table_prop_layout_bits flow_table_properties_nic_transmit_sniffer; 740290650Shselasky 741290650Shselasky u8 reserved_1[0x7200]; 742290650Shselasky}; 743290650Shselasky 744290650Shselaskystruct mlx5_ifc_per_protocol_networking_offload_caps_bits { 745290650Shselasky u8 csum_cap[0x1]; 746290650Shselasky u8 vlan_cap[0x1]; 747290650Shselasky u8 lro_cap[0x1]; 748290650Shselasky u8 lro_psh_flag[0x1]; 749290650Shselasky u8 lro_time_stamp[0x1]; 750290650Shselasky u8 lro_max_msg_sz_mode[0x2]; 751321992Shselasky u8 wqe_vlan_insert[0x1]; 752321992Shselasky u8 self_lb_en_modifiable[0x1]; 753290650Shselasky u8 self_lb_mc[0x1]; 754290650Shselasky u8 self_lb_uc[0x1]; 755290650Shselasky u8 max_lso_cap[0x5]; 756290650Shselasky u8 multi_pkt_send_wqe[0x2]; 757290650Shselasky u8 wqe_inline_mode[0x2]; 758290650Shselasky u8 rss_ind_tbl_cap[0x4]; 759329204Shselasky u8 scatter_fcs[0x1]; 760329204Shselasky u8 reserved_1[0x2]; 761290650Shselasky u8 tunnel_lso_const_out_ip_id[0x1]; 762290650Shselasky u8 tunnel_lro_gre[0x1]; 763290650Shselasky u8 tunnel_lro_vxlan[0x1]; 764290650Shselasky u8 tunnel_statless_gre[0x1]; 765290650Shselasky u8 tunnel_stateless_vxlan[0x1]; 766290650Shselasky 767308678Shselasky u8 swp[0x1]; 768308678Shselasky u8 swp_csum[0x1]; 769308678Shselasky u8 swp_lso[0x1]; 770321992Shselasky u8 reserved_2[0x1b]; 771321992Shselasky u8 max_geneve_opt_len[0x1]; 772308678Shselasky u8 tunnel_stateless_geneve_rx[0x1]; 773290650Shselasky 774290650Shselasky u8 reserved_3[0x10]; 775290650Shselasky u8 lro_min_mss_size[0x10]; 776290650Shselasky 777290650Shselasky u8 reserved_4[0x120]; 778290650Shselasky 779290650Shselasky u8 lro_timer_supported_periods[4][0x20]; 780290650Shselasky 781290650Shselasky u8 reserved_5[0x600]; 782290650Shselasky}; 783290650Shselasky 784290650Shselaskyenum { 785290650Shselasky MLX5_ROCE_CAP_L3_TYPE_GRH = 0x1, 786290650Shselasky MLX5_ROCE_CAP_L3_TYPE_IPV4 = 0x2, 787290650Shselasky MLX5_ROCE_CAP_L3_TYPE_IPV6 = 0x4, 788290650Shselasky}; 789290650Shselasky 790290650Shselaskystruct mlx5_ifc_roce_cap_bits { 791290650Shselasky u8 roce_apm[0x1]; 792306233Shselasky u8 rts2rts_primary_eth_prio[0x1]; 793306233Shselasky u8 roce_rx_allow_untagged[0x1]; 794306233Shselasky u8 rts2rts_src_addr_index_for_vlan_valid_vlan_id[0x1]; 795290650Shselasky 796306233Shselasky u8 reserved_0[0x1c]; 797306233Shselasky 798290650Shselasky u8 reserved_1[0x60]; 799290650Shselasky 800290650Shselasky u8 reserved_2[0xc]; 801290650Shselasky u8 l3_type[0x4]; 802290650Shselasky u8 reserved_3[0x8]; 803290650Shselasky u8 roce_version[0x8]; 804290650Shselasky 805290650Shselasky u8 reserved_4[0x10]; 806290650Shselasky u8 r_roce_dest_udp_port[0x10]; 807290650Shselasky 808290650Shselasky u8 r_roce_max_src_udp_port[0x10]; 809290650Shselasky u8 r_roce_min_src_udp_port[0x10]; 810290650Shselasky 811290650Shselasky u8 reserved_5[0x10]; 812290650Shselasky u8 roce_address_table_size[0x10]; 813290650Shselasky 814290650Shselasky u8 reserved_6[0x700]; 815290650Shselasky}; 816290650Shselasky 817290650Shselaskyenum { 818290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_QP_1_BYTE = 0x1, 819290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_QP_2_BYTES = 0x2, 820290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_QP_4_BYTES = 0x4, 821290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_QP_8_BYTES = 0x8, 822290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_QP_16_BYTES = 0x10, 823290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_QP_32_BYTES = 0x20, 824290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_QP_64_BYTES = 0x40, 825290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_QP_128_BYTES = 0x80, 826290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_QP_256_BYTES = 0x100, 827290650Shselasky}; 828290650Shselasky 829290650Shselaskyenum { 830290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_DC_1_BYTE = 0x1, 831290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_DC_2_BYTES = 0x2, 832290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_DC_4_BYTES = 0x4, 833290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_DC_8_BYTES = 0x8, 834290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_DC_16_BYTES = 0x10, 835290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_DC_32_BYTES = 0x20, 836290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_DC_64_BYTES = 0x40, 837290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_DC_128_BYTES = 0x80, 838290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_DC_256_BYTES = 0x100, 839290650Shselasky}; 840290650Shselasky 841290650Shselaskystruct mlx5_ifc_atomic_caps_bits { 842290650Shselasky u8 reserved_0[0x40]; 843290650Shselasky 844306233Shselasky u8 atomic_req_8B_endianess_mode[0x2]; 845306233Shselasky u8 reserved_1[0x4]; 846306233Shselasky u8 supported_atomic_req_8B_endianess_mode_1[0x1]; 847290650Shselasky 848306233Shselasky u8 reserved_2[0x19]; 849290650Shselasky 850306233Shselasky u8 reserved_3[0x20]; 851306233Shselasky 852306233Shselasky u8 reserved_4[0x10]; 853290650Shselasky u8 atomic_operations[0x10]; 854290650Shselasky 855306233Shselasky u8 reserved_5[0x10]; 856290650Shselasky u8 atomic_size_qp[0x10]; 857290650Shselasky 858306233Shselasky u8 reserved_6[0x10]; 859290650Shselasky u8 atomic_size_dc[0x10]; 860290650Shselasky 861306233Shselasky u8 reserved_7[0x720]; 862290650Shselasky}; 863290650Shselasky 864290650Shselaskystruct mlx5_ifc_odp_cap_bits { 865290650Shselasky u8 reserved_0[0x40]; 866290650Shselasky 867290650Shselasky u8 sig[0x1]; 868290650Shselasky u8 reserved_1[0x1f]; 869290650Shselasky 870290650Shselasky u8 reserved_2[0x20]; 871290650Shselasky 872290650Shselasky struct mlx5_ifc_odp_per_transport_service_cap_bits rc_odp_caps; 873290650Shselasky 874290650Shselasky struct mlx5_ifc_odp_per_transport_service_cap_bits uc_odp_caps; 875290650Shselasky 876290650Shselasky struct mlx5_ifc_odp_per_transport_service_cap_bits ud_odp_caps; 877290650Shselasky 878290650Shselasky struct mlx5_ifc_odp_per_transport_service_cap_bits xrc_odp_caps; 879290650Shselasky 880290650Shselasky struct mlx5_ifc_odp_per_transport_service_cap_bits dc_odp_caps; 881290650Shselasky 882290650Shselasky u8 reserved_3[0x6e0]; 883290650Shselasky}; 884290650Shselasky 885290650Shselaskyenum { 886290650Shselasky MLX5_CMD_HCA_CAP_GID_TABLE_SIZE_8_GID_ENTRIES = 0x0, 887290650Shselasky MLX5_CMD_HCA_CAP_GID_TABLE_SIZE_16_GID_ENTRIES = 0x1, 888290650Shselasky MLX5_CMD_HCA_CAP_GID_TABLE_SIZE_32_GID_ENTRIES = 0x2, 889290650Shselasky MLX5_CMD_HCA_CAP_GID_TABLE_SIZE_64_GID_ENTRIES = 0x3, 890290650Shselasky MLX5_CMD_HCA_CAP_GID_TABLE_SIZE_128_GID_ENTRIES = 0x4, 891290650Shselasky}; 892290650Shselasky 893290650Shselaskyenum { 894290650Shselasky MLX5_CMD_HCA_CAP_PKEY_TABLE_SIZE_128_ENTRIES = 0x0, 895290650Shselasky MLX5_CMD_HCA_CAP_PKEY_TABLE_SIZE_256_ENTRIES = 0x1, 896290650Shselasky MLX5_CMD_HCA_CAP_PKEY_TABLE_SIZE_512_ENTRIES = 0x2, 897290650Shselasky MLX5_CMD_HCA_CAP_PKEY_TABLE_SIZE_1K_ENTRIES = 0x3, 898290650Shselasky MLX5_CMD_HCA_CAP_PKEY_TABLE_SIZE_2K_ENTRIES = 0x4, 899290650Shselasky MLX5_CMD_HCA_CAP_PKEY_TABLE_SIZE_4K_ENTRIES = 0x5, 900290650Shselasky}; 901290650Shselasky 902290650Shselaskyenum { 903290650Shselasky MLX5_CMD_HCA_CAP_PORT_TYPE_IB = 0x0, 904290650Shselasky MLX5_CMD_HCA_CAP_PORT_TYPE_ETHERNET = 0x1, 905290650Shselasky}; 906290650Shselasky 907290650Shselaskyenum { 908290650Shselasky MLX5_CMD_HCA_CAP_CMDIF_CHECKSUM_DISABLED = 0x0, 909290650Shselasky MLX5_CMD_HCA_CAP_CMDIF_CHECKSUM_INITIAL_STATE = 0x1, 910290650Shselasky MLX5_CMD_HCA_CAP_CMDIF_CHECKSUM_ENABLED = 0x3, 911290650Shselasky}; 912290650Shselasky 913290650Shselaskystruct mlx5_ifc_cmd_hca_cap_bits { 914290650Shselasky u8 reserved_0[0x80]; 915290650Shselasky 916290650Shselasky u8 log_max_srq_sz[0x8]; 917290650Shselasky u8 log_max_qp_sz[0x8]; 918290650Shselasky u8 reserved_1[0xb]; 919290650Shselasky u8 log_max_qp[0x5]; 920290650Shselasky 921290650Shselasky u8 reserved_2[0xb]; 922290650Shselasky u8 log_max_srq[0x5]; 923290650Shselasky u8 reserved_3[0x10]; 924290650Shselasky 925290650Shselasky u8 reserved_4[0x8]; 926290650Shselasky u8 log_max_cq_sz[0x8]; 927290650Shselasky u8 reserved_5[0xb]; 928290650Shselasky u8 log_max_cq[0x5]; 929290650Shselasky 930290650Shselasky u8 log_max_eq_sz[0x8]; 931290650Shselasky u8 reserved_6[0x2]; 932290650Shselasky u8 log_max_mkey[0x6]; 933290650Shselasky u8 reserved_7[0xc]; 934290650Shselasky u8 log_max_eq[0x4]; 935290650Shselasky 936290650Shselasky u8 max_indirection[0x8]; 937290650Shselasky u8 reserved_8[0x1]; 938290650Shselasky u8 log_max_mrw_sz[0x7]; 939290650Shselasky u8 reserved_9[0x2]; 940290650Shselasky u8 log_max_bsf_list_size[0x6]; 941290650Shselasky u8 reserved_10[0x2]; 942290650Shselasky u8 log_max_klm_list_size[0x6]; 943290650Shselasky 944290650Shselasky u8 reserved_11[0xa]; 945290650Shselasky u8 log_max_ra_req_dc[0x6]; 946290650Shselasky u8 reserved_12[0xa]; 947290650Shselasky u8 log_max_ra_res_dc[0x6]; 948290650Shselasky 949290650Shselasky u8 reserved_13[0xa]; 950290650Shselasky u8 log_max_ra_req_qp[0x6]; 951290650Shselasky u8 reserved_14[0xa]; 952290650Shselasky u8 log_max_ra_res_qp[0x6]; 953290650Shselasky 954290650Shselasky u8 pad_cap[0x1]; 955290650Shselasky u8 cc_query_allowed[0x1]; 956290650Shselasky u8 cc_modify_allowed[0x1]; 957306233Shselasky u8 start_pad[0x1]; 958306233Shselasky u8 cache_line_128byte[0x1]; 959306233Shselasky u8 reserved_15[0xb]; 960290650Shselasky u8 gid_table_size[0x10]; 961290650Shselasky 962290650Shselasky u8 out_of_seq_cnt[0x1]; 963290650Shselasky u8 vport_counters[0x1]; 964306233Shselasky u8 retransmission_q_counters[0x1]; 965306233Shselasky u8 debug[0x1]; 966321992Shselasky u8 modify_rq_counters_set_id[0x1]; 967321992Shselasky u8 rq_delay_drop[0x1]; 968290650Shselasky u8 max_qp_cnt[0xa]; 969290650Shselasky u8 pkey_table_size[0x10]; 970290650Shselasky 971290650Shselasky u8 vport_group_manager[0x1]; 972290650Shselasky u8 vhca_group_manager[0x1]; 973290650Shselasky u8 ib_virt[0x1]; 974290650Shselasky u8 eth_virt[0x1]; 975290650Shselasky u8 reserved_17[0x1]; 976290650Shselasky u8 ets[0x1]; 977290650Shselasky u8 nic_flow_table[0x1]; 978290650Shselasky u8 eswitch_flow_table[0x1]; 979290650Shselasky u8 reserved_18[0x3]; 980290650Shselasky u8 local_ca_ack_delay[0x5]; 981290650Shselasky u8 port_module_event[0x1]; 982290650Shselasky u8 reserved_19[0x5]; 983290650Shselasky u8 port_type[0x2]; 984290650Shselasky u8 num_ports[0x8]; 985290650Shselasky 986290650Shselasky u8 snapshot[0x1]; 987290650Shselasky u8 reserved_20[0x2]; 988290650Shselasky u8 log_max_msg[0x5]; 989290650Shselasky u8 reserved_21[0x4]; 990290650Shselasky u8 max_tc[0x4]; 991306233Shselasky u8 temp_warn_event[0x1]; 992306233Shselasky u8 dcbx[0x1]; 993306233Shselasky u8 reserved_22[0x4]; 994290650Shselasky u8 rol_s[0x1]; 995290650Shselasky u8 rol_g[0x1]; 996290650Shselasky u8 reserved_23[0x1]; 997290650Shselasky u8 wol_s[0x1]; 998290650Shselasky u8 wol_g[0x1]; 999290650Shselasky u8 wol_a[0x1]; 1000290650Shselasky u8 wol_b[0x1]; 1001290650Shselasky u8 wol_m[0x1]; 1002290650Shselasky u8 wol_u[0x1]; 1003290650Shselasky u8 wol_p[0x1]; 1004290650Shselasky 1005290650Shselasky u8 stat_rate_support[0x10]; 1006290650Shselasky u8 reserved_24[0xc]; 1007290650Shselasky u8 cqe_version[0x4]; 1008290650Shselasky 1009290650Shselasky u8 compact_address_vector[0x1]; 1010290650Shselasky u8 striding_rq[0x1]; 1011306233Shselasky u8 reserved_25[0x1]; 1012306233Shselasky u8 ipoib_enhanced_offloads[0x1]; 1013306233Shselasky u8 ipoib_ipoib_offloads[0x1]; 1014306233Shselasky u8 reserved_26[0x8]; 1015306233Shselasky u8 dc_connect_qp[0x1]; 1016290650Shselasky u8 dc_cnak_trace[0x1]; 1017290650Shselasky u8 drain_sigerr[0x1]; 1018290650Shselasky u8 cmdif_checksum[0x2]; 1019290650Shselasky u8 sigerr_cqe[0x1]; 1020306233Shselasky u8 reserved_27[0x1]; 1021290650Shselasky u8 wq_signature[0x1]; 1022290650Shselasky u8 sctr_data_cqe[0x1]; 1023306233Shselasky u8 reserved_28[0x1]; 1024290650Shselasky u8 sho[0x1]; 1025290650Shselasky u8 tph[0x1]; 1026290650Shselasky u8 rf[0x1]; 1027290650Shselasky u8 dct[0x1]; 1028306233Shselasky u8 qos[0x1]; 1029290650Shselasky u8 eth_net_offloads[0x1]; 1030290650Shselasky u8 roce[0x1]; 1031290650Shselasky u8 atomic[0x1]; 1032306233Shselasky u8 reserved_30[0x1]; 1033290650Shselasky 1034290650Shselasky u8 cq_oi[0x1]; 1035290650Shselasky u8 cq_resize[0x1]; 1036290650Shselasky u8 cq_moderation[0x1]; 1037321992Shselasky u8 cq_period_mode_modify[0x1]; 1038321992Shselasky u8 cq_invalidate[0x1]; 1039321992Shselasky u8 reserved_at_225[0x1]; 1040290650Shselasky u8 cq_eq_remap[0x1]; 1041290650Shselasky u8 pg[0x1]; 1042290650Shselasky u8 block_lb_mc[0x1]; 1043290650Shselasky u8 exponential_backoff[0x1]; 1044290650Shselasky u8 scqe_break_moderation[0x1]; 1045290650Shselasky u8 cq_period_start_from_cqe[0x1]; 1046290650Shselasky u8 cd[0x1]; 1047290650Shselasky u8 atm[0x1]; 1048290650Shselasky u8 apm[0x1]; 1049329204Shselasky u8 imaicl[0x1]; 1050329204Shselasky u8 reserved_32[0x6]; 1051290650Shselasky u8 qkv[0x1]; 1052290650Shselasky u8 pkv[0x1]; 1053329204Shselasky u8 set_deth_sqpn[0x1]; 1054329204Shselasky u8 reserved_33[0x3]; 1055290650Shselasky u8 xrc[0x1]; 1056290650Shselasky u8 ud[0x1]; 1057290650Shselasky u8 uc[0x1]; 1058290650Shselasky u8 rc[0x1]; 1059290650Shselasky 1060306233Shselasky u8 reserved_34[0xa]; 1061290650Shselasky u8 uar_sz[0x6]; 1062306233Shselasky u8 reserved_35[0x8]; 1063290650Shselasky u8 log_pg_sz[0x8]; 1064290650Shselasky 1065290650Shselasky u8 bf[0x1]; 1066290650Shselasky u8 driver_version[0x1]; 1067290650Shselasky u8 pad_tx_eth_packet[0x1]; 1068306233Shselasky u8 reserved_36[0x8]; 1069290650Shselasky u8 log_bf_reg_size[0x5]; 1070306233Shselasky u8 reserved_37[0x10]; 1071290650Shselasky 1072306233Shselasky u8 num_of_diagnostic_counters[0x10]; 1073290650Shselasky u8 max_wqe_sz_sq[0x10]; 1074290650Shselasky 1075290650Shselasky u8 reserved_38[0x10]; 1076290650Shselasky u8 max_wqe_sz_rq[0x10]; 1077290650Shselasky 1078290650Shselasky u8 reserved_39[0x10]; 1079290650Shselasky u8 max_wqe_sz_sq_dc[0x10]; 1080290650Shselasky 1081290650Shselasky u8 reserved_40[0x7]; 1082290650Shselasky u8 max_qp_mcg[0x19]; 1083290650Shselasky 1084290650Shselasky u8 reserved_41[0x18]; 1085290650Shselasky u8 log_max_mcg[0x8]; 1086290650Shselasky 1087290650Shselasky u8 reserved_42[0x3]; 1088290650Shselasky u8 log_max_transport_domain[0x5]; 1089290650Shselasky u8 reserved_43[0x3]; 1090290650Shselasky u8 log_max_pd[0x5]; 1091290650Shselasky u8 reserved_44[0xb]; 1092290650Shselasky u8 log_max_xrcd[0x5]; 1093290650Shselasky 1094290650Shselasky u8 reserved_45[0x10]; 1095290650Shselasky u8 max_flow_counter[0x10]; 1096290650Shselasky 1097290650Shselasky u8 reserved_46[0x3]; 1098290650Shselasky u8 log_max_rq[0x5]; 1099290650Shselasky u8 reserved_47[0x3]; 1100290650Shselasky u8 log_max_sq[0x5]; 1101290650Shselasky u8 reserved_48[0x3]; 1102290650Shselasky u8 log_max_tir[0x5]; 1103290650Shselasky u8 reserved_49[0x3]; 1104290650Shselasky u8 log_max_tis[0x5]; 1105290650Shselasky 1106290650Shselasky u8 basic_cyclic_rcv_wqe[0x1]; 1107290650Shselasky u8 reserved_50[0x2]; 1108290650Shselasky u8 log_max_rmp[0x5]; 1109290650Shselasky u8 reserved_51[0x3]; 1110290650Shselasky u8 log_max_rqt[0x5]; 1111290650Shselasky u8 reserved_52[0x3]; 1112290650Shselasky u8 log_max_rqt_size[0x5]; 1113290650Shselasky u8 reserved_53[0x3]; 1114290650Shselasky u8 log_max_tis_per_sq[0x5]; 1115290650Shselasky 1116290650Shselasky u8 reserved_54[0x3]; 1117290650Shselasky u8 log_max_stride_sz_rq[0x5]; 1118290650Shselasky u8 reserved_55[0x3]; 1119290650Shselasky u8 log_min_stride_sz_rq[0x5]; 1120290650Shselasky u8 reserved_56[0x3]; 1121290650Shselasky u8 log_max_stride_sz_sq[0x5]; 1122290650Shselasky u8 reserved_57[0x3]; 1123290650Shselasky u8 log_min_stride_sz_sq[0x5]; 1124290650Shselasky 1125290650Shselasky u8 reserved_58[0x1b]; 1126290650Shselasky u8 log_max_wq_sz[0x5]; 1127290650Shselasky 1128290650Shselasky u8 nic_vport_change_event[0x1]; 1129321992Shselasky u8 disable_local_lb[0x1]; 1130321992Shselasky u8 reserved_59[0x9]; 1131290650Shselasky u8 log_max_vlan_list[0x5]; 1132290650Shselasky u8 reserved_60[0x3]; 1133290650Shselasky u8 log_max_current_mc_list[0x5]; 1134290650Shselasky u8 reserved_61[0x3]; 1135290650Shselasky u8 log_max_current_uc_list[0x5]; 1136290650Shselasky 1137290650Shselasky u8 reserved_62[0x80]; 1138290650Shselasky 1139290650Shselasky u8 reserved_63[0x3]; 1140290650Shselasky u8 log_max_l2_table[0x5]; 1141290650Shselasky u8 reserved_64[0x8]; 1142290650Shselasky u8 log_uar_page_sz[0x10]; 1143290650Shselasky 1144290650Shselasky u8 reserved_65[0x20]; 1145290650Shselasky 1146306233Shselasky u8 device_frequency_mhz[0x20]; 1147290650Shselasky 1148306233Shselasky u8 device_frequency_khz[0x20]; 1149290650Shselasky 1150306233Shselasky u8 reserved_66[0x80]; 1151306233Shselasky 1152290650Shselasky u8 log_max_atomic_size_qp[0x8]; 1153290650Shselasky u8 reserved_67[0x10]; 1154290650Shselasky u8 log_max_atomic_size_dc[0x8]; 1155290650Shselasky 1156290650Shselasky u8 reserved_68[0x1f]; 1157290650Shselasky u8 cqe_compression[0x1]; 1158290650Shselasky 1159290650Shselasky u8 cqe_compression_timeout[0x10]; 1160290650Shselasky u8 cqe_compression_max_num[0x10]; 1161290650Shselasky 1162290650Shselasky u8 reserved_69[0x220]; 1163290650Shselasky}; 1164290650Shselasky 1165306233Shselaskyenum mlx5_flow_destination_type { 1166306233Shselasky MLX5_FLOW_DESTINATION_TYPE_VPORT = 0x0, 1167306233Shselasky MLX5_FLOW_DESTINATION_TYPE_FLOW_TABLE = 0x1, 1168306233Shselasky MLX5_FLOW_DESTINATION_TYPE_TIR = 0x2, 1169306233Shselasky}; 1170306233Shselasky 1171290650Shselaskyunion mlx5_ifc_dest_format_struct_flow_counter_list_auto_bits { 1172290650Shselasky struct mlx5_ifc_dest_format_struct_bits dest_format_struct; 1173290650Shselasky struct mlx5_ifc_flow_counter_list_bits flow_counter_list; 1174290650Shselasky u8 reserved_0[0x40]; 1175290650Shselasky}; 1176290650Shselasky 1177290650Shselaskystruct mlx5_ifc_fte_match_param_bits { 1178290650Shselasky struct mlx5_ifc_fte_match_set_lyr_2_4_bits outer_headers; 1179290650Shselasky 1180290650Shselasky struct mlx5_ifc_fte_match_set_misc_bits misc_parameters; 1181290650Shselasky 1182290650Shselasky struct mlx5_ifc_fte_match_set_lyr_2_4_bits inner_headers; 1183290650Shselasky 1184290650Shselasky u8 reserved_0[0xa00]; 1185290650Shselasky}; 1186290650Shselasky 1187290650Shselaskyenum { 1188290650Shselasky MLX5_RX_HASH_FIELD_SELECT_SELECTED_FIELDS_SRC_IP = 0x0, 1189290650Shselasky MLX5_RX_HASH_FIELD_SELECT_SELECTED_FIELDS_DST_IP = 0x1, 1190290650Shselasky MLX5_RX_HASH_FIELD_SELECT_SELECTED_FIELDS_L4_SPORT = 0x2, 1191290650Shselasky MLX5_RX_HASH_FIELD_SELECT_SELECTED_FIELDS_L4_DPORT = 0x3, 1192290650Shselasky MLX5_RX_HASH_FIELD_SELECT_SELECTED_FIELDS_IPSEC_SPI = 0x4, 1193290650Shselasky}; 1194290650Shselasky 1195290650Shselaskystruct mlx5_ifc_rx_hash_field_select_bits { 1196290650Shselasky u8 l3_prot_type[0x1]; 1197290650Shselasky u8 l4_prot_type[0x1]; 1198290650Shselasky u8 selected_fields[0x1e]; 1199290650Shselasky}; 1200290650Shselasky 1201290650Shselaskyenum { 1202290650Shselasky MLX5_WQ_TYPE_LINKED_LIST = 0x0, 1203290650Shselasky MLX5_WQ_TYPE_CYCLIC = 0x1, 1204290650Shselasky MLX5_WQ_TYPE_STRQ_LINKED_LIST = 0x2, 1205290650Shselasky MLX5_WQ_TYPE_STRQ_CYCLIC = 0x3, 1206290650Shselasky}; 1207290650Shselasky 1208306233Shselaskyenum rq_type { 1209306233Shselasky RQ_TYPE_NONE, 1210306233Shselasky RQ_TYPE_STRIDE, 1211306233Shselasky}; 1212306233Shselasky 1213290650Shselaskyenum { 1214290650Shselasky MLX5_WQ_END_PAD_MODE_NONE = 0x0, 1215290650Shselasky MLX5_WQ_END_PAD_MODE_ALIGN = 0x1, 1216290650Shselasky}; 1217290650Shselasky 1218290650Shselaskystruct mlx5_ifc_wq_bits { 1219290650Shselasky u8 wq_type[0x4]; 1220290650Shselasky u8 wq_signature[0x1]; 1221290650Shselasky u8 end_padding_mode[0x2]; 1222290650Shselasky u8 cd_slave[0x1]; 1223290650Shselasky u8 reserved_0[0x18]; 1224290650Shselasky 1225290650Shselasky u8 hds_skip_first_sge[0x1]; 1226290650Shselasky u8 log2_hds_buf_size[0x3]; 1227290650Shselasky u8 reserved_1[0x7]; 1228290650Shselasky u8 page_offset[0x5]; 1229290650Shselasky u8 lwm[0x10]; 1230290650Shselasky 1231290650Shselasky u8 reserved_2[0x8]; 1232290650Shselasky u8 pd[0x18]; 1233290650Shselasky 1234290650Shselasky u8 reserved_3[0x8]; 1235290650Shselasky u8 uar_page[0x18]; 1236290650Shselasky 1237290650Shselasky u8 dbr_addr[0x40]; 1238290650Shselasky 1239290650Shselasky u8 hw_counter[0x20]; 1240290650Shselasky 1241290650Shselasky u8 sw_counter[0x20]; 1242290650Shselasky 1243290650Shselasky u8 reserved_4[0xc]; 1244290650Shselasky u8 log_wq_stride[0x4]; 1245290650Shselasky u8 reserved_5[0x3]; 1246290650Shselasky u8 log_wq_pg_sz[0x5]; 1247290650Shselasky u8 reserved_6[0x3]; 1248290650Shselasky u8 log_wq_sz[0x5]; 1249290650Shselasky 1250290650Shselasky u8 reserved_7[0x15]; 1251290650Shselasky u8 single_wqe_log_num_of_strides[0x3]; 1252290650Shselasky u8 two_byte_shift_en[0x1]; 1253290650Shselasky u8 reserved_8[0x4]; 1254290650Shselasky u8 single_stride_log_num_of_bytes[0x3]; 1255290650Shselasky 1256290650Shselasky u8 reserved_9[0x4c0]; 1257290650Shselasky 1258290650Shselasky struct mlx5_ifc_cmd_pas_bits pas[0]; 1259290650Shselasky}; 1260290650Shselasky 1261290650Shselaskystruct mlx5_ifc_rq_num_bits { 1262290650Shselasky u8 reserved_0[0x8]; 1263290650Shselasky u8 rq_num[0x18]; 1264290650Shselasky}; 1265290650Shselasky 1266290650Shselaskystruct mlx5_ifc_mac_address_layout_bits { 1267290650Shselasky u8 reserved_0[0x10]; 1268290650Shselasky u8 mac_addr_47_32[0x10]; 1269290650Shselasky 1270290650Shselasky u8 mac_addr_31_0[0x20]; 1271290650Shselasky}; 1272290650Shselasky 1273290650Shselaskystruct mlx5_ifc_cong_control_r_roce_ecn_np_bits { 1274290650Shselasky u8 reserved_0[0xa0]; 1275290650Shselasky 1276290650Shselasky u8 min_time_between_cnps[0x20]; 1277290650Shselasky 1278290650Shselasky u8 reserved_1[0x12]; 1279290650Shselasky u8 cnp_dscp[0x6]; 1280290650Shselasky u8 reserved_2[0x4]; 1281290650Shselasky u8 cnp_prio_mode[0x1]; 1282290650Shselasky u8 cnp_802p_prio[0x3]; 1283290650Shselasky 1284290650Shselasky u8 reserved_3[0x720]; 1285290650Shselasky}; 1286290650Shselasky 1287290650Shselaskystruct mlx5_ifc_cong_control_r_roce_ecn_rp_bits { 1288290650Shselasky u8 reserved_0[0x60]; 1289290650Shselasky 1290290650Shselasky u8 reserved_1[0x4]; 1291290650Shselasky u8 clamp_tgt_rate[0x1]; 1292290650Shselasky u8 reserved_2[0x3]; 1293290650Shselasky u8 clamp_tgt_rate_after_time_inc[0x1]; 1294290650Shselasky u8 reserved_3[0x17]; 1295290650Shselasky 1296290650Shselasky u8 reserved_4[0x20]; 1297290650Shselasky 1298290650Shselasky u8 rpg_time_reset[0x20]; 1299290650Shselasky 1300290650Shselasky u8 rpg_byte_reset[0x20]; 1301290650Shselasky 1302290650Shselasky u8 rpg_threshold[0x20]; 1303290650Shselasky 1304290650Shselasky u8 rpg_max_rate[0x20]; 1305290650Shselasky 1306290650Shselasky u8 rpg_ai_rate[0x20]; 1307290650Shselasky 1308290650Shselasky u8 rpg_hai_rate[0x20]; 1309290650Shselasky 1310290650Shselasky u8 rpg_gd[0x20]; 1311290650Shselasky 1312290650Shselasky u8 rpg_min_dec_fac[0x20]; 1313290650Shselasky 1314290650Shselasky u8 rpg_min_rate[0x20]; 1315290650Shselasky 1316290650Shselasky u8 reserved_5[0xe0]; 1317290650Shselasky 1318290650Shselasky u8 rate_to_set_on_first_cnp[0x20]; 1319290650Shselasky 1320290650Shselasky u8 dce_tcp_g[0x20]; 1321290650Shselasky 1322290650Shselasky u8 dce_tcp_rtt[0x20]; 1323290650Shselasky 1324290650Shselasky u8 rate_reduce_monitor_period[0x20]; 1325290650Shselasky 1326290650Shselasky u8 reserved_6[0x20]; 1327290650Shselasky 1328290650Shselasky u8 initial_alpha_value[0x20]; 1329290650Shselasky 1330290650Shselasky u8 reserved_7[0x4a0]; 1331290650Shselasky}; 1332290650Shselasky 1333290650Shselaskystruct mlx5_ifc_cong_control_802_1qau_rp_bits { 1334290650Shselasky u8 reserved_0[0x80]; 1335290650Shselasky 1336290650Shselasky u8 rppp_max_rps[0x20]; 1337290650Shselasky 1338290650Shselasky u8 rpg_time_reset[0x20]; 1339290650Shselasky 1340290650Shselasky u8 rpg_byte_reset[0x20]; 1341290650Shselasky 1342290650Shselasky u8 rpg_threshold[0x20]; 1343290650Shselasky 1344290650Shselasky u8 rpg_max_rate[0x20]; 1345290650Shselasky 1346290650Shselasky u8 rpg_ai_rate[0x20]; 1347290650Shselasky 1348290650Shselasky u8 rpg_hai_rate[0x20]; 1349290650Shselasky 1350290650Shselasky u8 rpg_gd[0x20]; 1351290650Shselasky 1352290650Shselasky u8 rpg_min_dec_fac[0x20]; 1353290650Shselasky 1354290650Shselasky u8 rpg_min_rate[0x20]; 1355290650Shselasky 1356290650Shselasky u8 reserved_1[0x640]; 1357290650Shselasky}; 1358290650Shselasky 1359290650Shselaskyenum { 1360290650Shselasky MLX5_RESIZE_FIELD_SELECT_RESIZE_FIELD_SELECT_LOG_CQ_SIZE = 0x1, 1361290650Shselasky MLX5_RESIZE_FIELD_SELECT_RESIZE_FIELD_SELECT_PAGE_OFFSET = 0x2, 1362290650Shselasky MLX5_RESIZE_FIELD_SELECT_RESIZE_FIELD_SELECT_LOG_PAGE_SIZE = 0x4, 1363290650Shselasky}; 1364290650Shselasky 1365290650Shselaskystruct mlx5_ifc_resize_field_select_bits { 1366290650Shselasky u8 resize_field_select[0x20]; 1367290650Shselasky}; 1368290650Shselasky 1369290650Shselaskyenum { 1370290650Shselasky MLX5_MODIFY_FIELD_SELECT_MODIFY_FIELD_SELECT_CQ_PERIOD = 0x1, 1371290650Shselasky MLX5_MODIFY_FIELD_SELECT_MODIFY_FIELD_SELECT_CQ_MAX_COUNT = 0x2, 1372290650Shselasky MLX5_MODIFY_FIELD_SELECT_MODIFY_FIELD_SELECT_OI = 0x4, 1373290650Shselasky MLX5_MODIFY_FIELD_SELECT_MODIFY_FIELD_SELECT_C_EQN = 0x8, 1374321992Shselasky MLX5_MODIFY_FIELD_SELECT_MODIFY_FIELD_SELECT_CQ_PERIOD_MODE = 0x10, 1375321992Shselasky MLX5_MODIFY_FIELD_SELECT_MODIFY_FIELD_SELECT_STATUS = 0x20, 1376290650Shselasky}; 1377290650Shselasky 1378290650Shselaskystruct mlx5_ifc_modify_field_select_bits { 1379290650Shselasky u8 modify_field_select[0x20]; 1380290650Shselasky}; 1381290650Shselasky 1382290650Shselaskystruct mlx5_ifc_field_select_r_roce_np_bits { 1383290650Shselasky u8 field_select_r_roce_np[0x20]; 1384290650Shselasky}; 1385290650Shselasky 1386290650Shselaskyenum { 1387290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_CLAMP_TGT_RATE = 0x2, 1388290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_CLAMP_TGT_RATE_AFTER_TIME_INC = 0x4, 1389290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_RPG_TIME_RESET = 0x8, 1390290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_RPG_BYTE_RESET = 0x10, 1391290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_RPG_THRESHOLD = 0x20, 1392290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_RPG_MAX_RATE = 0x40, 1393290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_RPG_AI_RATE = 0x80, 1394290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_RPG_HAI_RATE = 0x100, 1395290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_RPG_MIN_DEC_FAC = 0x200, 1396290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_RPG_MIN_RATE = 0x400, 1397290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_RATE_TO_SET_ON_FIRST_CNP = 0x800, 1398290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_DCE_TCP_G = 0x1000, 1399290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_DCE_TCP_RTT = 0x2000, 1400290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_RATE_REDUCE_MONITOR_PERIOD = 0x4000, 1401290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_INITIAL_ALPHA_VALUE = 0x8000, 1402290650Shselasky}; 1403290650Shselasky 1404290650Shselaskystruct mlx5_ifc_field_select_r_roce_rp_bits { 1405290650Shselasky u8 field_select_r_roce_rp[0x20]; 1406290650Shselasky}; 1407290650Shselasky 1408290650Shselaskyenum { 1409290650Shselasky MLX5_FIELD_SELECT_802_1QAU_RP_FIELD_SELECT_8021QAURP_RPPP_MAX_RPS = 0x4, 1410290650Shselasky MLX5_FIELD_SELECT_802_1QAU_RP_FIELD_SELECT_8021QAURP_RPG_TIME_RESET = 0x8, 1411290650Shselasky MLX5_FIELD_SELECT_802_1QAU_RP_FIELD_SELECT_8021QAURP_RPG_BYTE_RESET = 0x10, 1412290650Shselasky MLX5_FIELD_SELECT_802_1QAU_RP_FIELD_SELECT_8021QAURP_RPG_THRESHOLD = 0x20, 1413290650Shselasky MLX5_FIELD_SELECT_802_1QAU_RP_FIELD_SELECT_8021QAURP_RPG_MAX_RATE = 0x40, 1414290650Shselasky MLX5_FIELD_SELECT_802_1QAU_RP_FIELD_SELECT_8021QAURP_RPG_AI_RATE = 0x80, 1415290650Shselasky MLX5_FIELD_SELECT_802_1QAU_RP_FIELD_SELECT_8021QAURP_RPG_HAI_RATE = 0x100, 1416290650Shselasky MLX5_FIELD_SELECT_802_1QAU_RP_FIELD_SELECT_8021QAURP_RPG_GD = 0x200, 1417290650Shselasky MLX5_FIELD_SELECT_802_1QAU_RP_FIELD_SELECT_8021QAURP_RPG_MIN_DEC_FAC = 0x400, 1418290650Shselasky MLX5_FIELD_SELECT_802_1QAU_RP_FIELD_SELECT_8021QAURP_RPG_MIN_RATE = 0x800, 1419290650Shselasky}; 1420290650Shselasky 1421290650Shselaskystruct mlx5_ifc_field_select_802_1qau_rp_bits { 1422290650Shselasky u8 field_select_8021qaurp[0x20]; 1423290650Shselasky}; 1424290650Shselasky 1425306233Shselaskystruct mlx5_ifc_pptb_reg_bits { 1426306233Shselasky u8 reserved_0[0x2]; 1427306233Shselasky u8 mm[0x2]; 1428306233Shselasky u8 reserved_1[0x4]; 1429306233Shselasky u8 local_port[0x8]; 1430306233Shselasky u8 reserved_2[0x6]; 1431306233Shselasky u8 cm[0x1]; 1432306233Shselasky u8 um[0x1]; 1433306233Shselasky u8 pm[0x8]; 1434306233Shselasky 1435306233Shselasky u8 prio7buff[0x4]; 1436306233Shselasky u8 prio6buff[0x4]; 1437306233Shselasky u8 prio5buff[0x4]; 1438306233Shselasky u8 prio4buff[0x4]; 1439306233Shselasky u8 prio3buff[0x4]; 1440306233Shselasky u8 prio2buff[0x4]; 1441306233Shselasky u8 prio1buff[0x4]; 1442306233Shselasky u8 prio0buff[0x4]; 1443306233Shselasky 1444306233Shselasky u8 pm_msb[0x8]; 1445306233Shselasky u8 reserved_3[0x10]; 1446306233Shselasky u8 ctrl_buff[0x4]; 1447306233Shselasky u8 untagged_buff[0x4]; 1448306233Shselasky}; 1449306233Shselasky 1450306233Shselaskystruct mlx5_ifc_dcbx_app_reg_bits { 1451306233Shselasky u8 reserved_0[0x8]; 1452306233Shselasky u8 port_number[0x8]; 1453306233Shselasky u8 reserved_1[0x10]; 1454306233Shselasky 1455306233Shselasky u8 reserved_2[0x1a]; 1456306233Shselasky u8 num_app_prio[0x6]; 1457306233Shselasky 1458306233Shselasky u8 reserved_3[0x40]; 1459306233Shselasky 1460306233Shselasky struct mlx5_ifc_application_prio_entry_bits app_prio[0]; 1461306233Shselasky}; 1462306233Shselasky 1463306233Shselaskystruct mlx5_ifc_dcbx_param_reg_bits { 1464306233Shselasky u8 dcbx_cee_cap[0x1]; 1465306233Shselasky u8 dcbx_ieee_cap[0x1]; 1466306233Shselasky u8 dcbx_standby_cap[0x1]; 1467306233Shselasky u8 reserved_0[0x5]; 1468306233Shselasky u8 port_number[0x8]; 1469306233Shselasky u8 reserved_1[0xa]; 1470306233Shselasky u8 max_application_table_size[0x6]; 1471306233Shselasky 1472306233Shselasky u8 reserved_2[0x15]; 1473306233Shselasky u8 version_oper[0x3]; 1474306233Shselasky u8 reserved_3[0x5]; 1475306233Shselasky u8 version_admin[0x3]; 1476306233Shselasky 1477306233Shselasky u8 willing_admin[0x1]; 1478306233Shselasky u8 reserved_4[0x3]; 1479306233Shselasky u8 pfc_cap_oper[0x4]; 1480306233Shselasky u8 reserved_5[0x4]; 1481306233Shselasky u8 pfc_cap_admin[0x4]; 1482306233Shselasky u8 reserved_6[0x4]; 1483306233Shselasky u8 num_of_tc_oper[0x4]; 1484306233Shselasky u8 reserved_7[0x4]; 1485306233Shselasky u8 num_of_tc_admin[0x4]; 1486306233Shselasky 1487306233Shselasky u8 remote_willing[0x1]; 1488306233Shselasky u8 reserved_8[0x3]; 1489306233Shselasky u8 remote_pfc_cap[0x4]; 1490306233Shselasky u8 reserved_9[0x14]; 1491306233Shselasky u8 remote_num_of_tc[0x4]; 1492306233Shselasky 1493306233Shselasky u8 reserved_10[0x18]; 1494306233Shselasky u8 error[0x8]; 1495306233Shselasky 1496306233Shselasky u8 reserved_11[0x160]; 1497306233Shselasky}; 1498306233Shselasky 1499308678Shselaskystruct mlx5_ifc_qhll_bits { 1500308678Shselasky u8 reserved_at_0[0x8]; 1501308678Shselasky u8 local_port[0x8]; 1502308678Shselasky u8 reserved_at_10[0x10]; 1503308678Shselasky 1504308678Shselasky u8 reserved_at_20[0x1b]; 1505308678Shselasky u8 hll_time[0x5]; 1506308678Shselasky 1507308678Shselasky u8 stall_en[0x1]; 1508308678Shselasky u8 reserved_at_41[0x1c]; 1509308678Shselasky u8 stall_cnt[0x3]; 1510308678Shselasky}; 1511308678Shselasky 1512306233Shselaskystruct mlx5_ifc_qetcr_reg_bits { 1513306233Shselasky u8 operation_type[0x2]; 1514306233Shselasky u8 cap_local_admin[0x1]; 1515306233Shselasky u8 cap_remote_admin[0x1]; 1516306233Shselasky u8 reserved_0[0x4]; 1517306233Shselasky u8 port_number[0x8]; 1518306233Shselasky u8 reserved_1[0x10]; 1519306233Shselasky 1520306233Shselasky u8 reserved_2[0x20]; 1521306233Shselasky 1522306233Shselasky u8 tc[8][0x40]; 1523306233Shselasky 1524306233Shselasky u8 global_configuration[0x40]; 1525306233Shselasky}; 1526306233Shselasky 1527290650Shselaskystruct mlx5_ifc_nodnic_ring_config_reg_bits { 1528290650Shselasky u8 queue_address_63_32[0x20]; 1529290650Shselasky 1530290650Shselasky u8 queue_address_31_12[0x14]; 1531290650Shselasky u8 reserved_0[0x6]; 1532290650Shselasky u8 log_size[0x6]; 1533290650Shselasky 1534290650Shselasky struct mlx5_ifc_nodnic_ring_doorbell_bits doorbell; 1535290650Shselasky 1536290650Shselasky u8 reserved_1[0x8]; 1537290650Shselasky u8 queue_number[0x18]; 1538290650Shselasky 1539290650Shselasky u8 q_key[0x20]; 1540290650Shselasky 1541290650Shselasky u8 reserved_2[0x10]; 1542290650Shselasky u8 pkey_index[0x10]; 1543290650Shselasky 1544290650Shselasky u8 reserved_3[0x40]; 1545290650Shselasky}; 1546290650Shselasky 1547290650Shselaskystruct mlx5_ifc_nodnic_cq_arming_word_bits { 1548290650Shselasky u8 reserved_0[0x8]; 1549290650Shselasky u8 cq_ci[0x10]; 1550290650Shselasky u8 reserved_1[0x8]; 1551290650Shselasky}; 1552290650Shselasky 1553290650Shselaskyenum { 1554290650Shselasky MLX5_NODNIC_EVENT_WORD_LINK_TYPE_INFINIBAND = 0x0, 1555290650Shselasky MLX5_NODNIC_EVENT_WORD_LINK_TYPE_ETHERNET = 0x1, 1556290650Shselasky}; 1557290650Shselasky 1558290650Shselaskyenum { 1559290650Shselasky MLX5_NODNIC_EVENT_WORD_PORT_STATE_DOWN = 0x0, 1560290650Shselasky MLX5_NODNIC_EVENT_WORD_PORT_STATE_INITIALIZE = 0x1, 1561290650Shselasky MLX5_NODNIC_EVENT_WORD_PORT_STATE_ARMED = 0x2, 1562290650Shselasky MLX5_NODNIC_EVENT_WORD_PORT_STATE_ACTIVE = 0x3, 1563290650Shselasky}; 1564290650Shselasky 1565290650Shselaskystruct mlx5_ifc_nodnic_event_word_bits { 1566290650Shselasky u8 driver_reset_needed[0x1]; 1567290650Shselasky u8 port_management_change_event[0x1]; 1568290650Shselasky u8 reserved_0[0x19]; 1569290650Shselasky u8 link_type[0x1]; 1570290650Shselasky u8 port_state[0x4]; 1571290650Shselasky}; 1572290650Shselasky 1573290650Shselaskystruct mlx5_ifc_nic_vport_change_event_bits { 1574290650Shselasky u8 reserved_0[0x10]; 1575290650Shselasky u8 vport_num[0x10]; 1576290650Shselasky 1577290650Shselasky u8 reserved_1[0xc0]; 1578290650Shselasky}; 1579290650Shselasky 1580290650Shselaskystruct mlx5_ifc_pages_req_event_bits { 1581290650Shselasky u8 reserved_0[0x10]; 1582290650Shselasky u8 function_id[0x10]; 1583290650Shselasky 1584290650Shselasky u8 num_pages[0x20]; 1585290650Shselasky 1586290650Shselasky u8 reserved_1[0xa0]; 1587290650Shselasky}; 1588290650Shselasky 1589290650Shselaskystruct mlx5_ifc_cmd_inter_comp_event_bits { 1590290650Shselasky u8 command_completion_vector[0x20]; 1591290650Shselasky 1592290650Shselasky u8 reserved_0[0xc0]; 1593290650Shselasky}; 1594290650Shselasky 1595290650Shselaskystruct mlx5_ifc_stall_vl_event_bits { 1596290650Shselasky u8 reserved_0[0x18]; 1597290650Shselasky u8 port_num[0x1]; 1598290650Shselasky u8 reserved_1[0x3]; 1599290650Shselasky u8 vl[0x4]; 1600290650Shselasky 1601290650Shselasky u8 reserved_2[0xa0]; 1602290650Shselasky}; 1603290650Shselasky 1604290650Shselaskystruct mlx5_ifc_db_bf_congestion_event_bits { 1605290650Shselasky u8 event_subtype[0x8]; 1606290650Shselasky u8 reserved_0[0x8]; 1607290650Shselasky u8 congestion_level[0x8]; 1608290650Shselasky u8 reserved_1[0x8]; 1609290650Shselasky 1610290650Shselasky u8 reserved_2[0xa0]; 1611290650Shselasky}; 1612290650Shselasky 1613290650Shselaskystruct mlx5_ifc_gpio_event_bits { 1614290650Shselasky u8 reserved_0[0x60]; 1615290650Shselasky 1616290650Shselasky u8 gpio_event_hi[0x20]; 1617290650Shselasky 1618290650Shselasky u8 gpio_event_lo[0x20]; 1619290650Shselasky 1620290650Shselasky u8 reserved_1[0x40]; 1621290650Shselasky}; 1622290650Shselasky 1623290650Shselaskystruct mlx5_ifc_port_state_change_event_bits { 1624290650Shselasky u8 reserved_0[0x40]; 1625290650Shselasky 1626290650Shselasky u8 port_num[0x4]; 1627290650Shselasky u8 reserved_1[0x1c]; 1628290650Shselasky 1629290650Shselasky u8 reserved_2[0x80]; 1630290650Shselasky}; 1631290650Shselasky 1632290650Shselaskystruct mlx5_ifc_dropped_packet_logged_bits { 1633290650Shselasky u8 reserved_0[0xe0]; 1634290650Shselasky}; 1635290650Shselasky 1636290650Shselaskyenum { 1637290650Shselasky MLX5_CQ_ERROR_SYNDROME_CQ_OVERRUN = 0x1, 1638290650Shselasky MLX5_CQ_ERROR_SYNDROME_CQ_ACCESS_VIOLATION_ERROR = 0x2, 1639290650Shselasky}; 1640290650Shselasky 1641290650Shselaskystruct mlx5_ifc_cq_error_bits { 1642290650Shselasky u8 reserved_0[0x8]; 1643290650Shselasky u8 cqn[0x18]; 1644290650Shselasky 1645290650Shselasky u8 reserved_1[0x20]; 1646290650Shselasky 1647290650Shselasky u8 reserved_2[0x18]; 1648290650Shselasky u8 syndrome[0x8]; 1649290650Shselasky 1650290650Shselasky u8 reserved_3[0x80]; 1651290650Shselasky}; 1652290650Shselasky 1653290650Shselaskystruct mlx5_ifc_rdma_page_fault_event_bits { 1654290650Shselasky u8 bytes_commited[0x20]; 1655290650Shselasky 1656290650Shselasky u8 r_key[0x20]; 1657290650Shselasky 1658290650Shselasky u8 reserved_0[0x10]; 1659290650Shselasky u8 packet_len[0x10]; 1660290650Shselasky 1661290650Shselasky u8 rdma_op_len[0x20]; 1662290650Shselasky 1663290650Shselasky u8 rdma_va[0x40]; 1664290650Shselasky 1665290650Shselasky u8 reserved_1[0x5]; 1666290650Shselasky u8 rdma[0x1]; 1667290650Shselasky u8 write[0x1]; 1668290650Shselasky u8 requestor[0x1]; 1669290650Shselasky u8 qp_number[0x18]; 1670290650Shselasky}; 1671290650Shselasky 1672290650Shselaskystruct mlx5_ifc_wqe_associated_page_fault_event_bits { 1673290650Shselasky u8 bytes_committed[0x20]; 1674290650Shselasky 1675290650Shselasky u8 reserved_0[0x10]; 1676290650Shselasky u8 wqe_index[0x10]; 1677290650Shselasky 1678290650Shselasky u8 reserved_1[0x10]; 1679290650Shselasky u8 len[0x10]; 1680290650Shselasky 1681290650Shselasky u8 reserved_2[0x60]; 1682290650Shselasky 1683290650Shselasky u8 reserved_3[0x5]; 1684290650Shselasky u8 rdma[0x1]; 1685290650Shselasky u8 write_read[0x1]; 1686290650Shselasky u8 requestor[0x1]; 1687290650Shselasky u8 qpn[0x18]; 1688290650Shselasky}; 1689290650Shselasky 1690290650Shselaskyenum { 1691290650Shselasky MLX5_QP_EVENTS_TYPE_QP = 0x0, 1692290650Shselasky MLX5_QP_EVENTS_TYPE_RQ = 0x1, 1693290650Shselasky MLX5_QP_EVENTS_TYPE_SQ = 0x2, 1694290650Shselasky}; 1695290650Shselasky 1696290650Shselaskystruct mlx5_ifc_qp_events_bits { 1697290650Shselasky u8 reserved_0[0xa0]; 1698290650Shselasky 1699290650Shselasky u8 type[0x8]; 1700290650Shselasky u8 reserved_1[0x18]; 1701290650Shselasky 1702290650Shselasky u8 reserved_2[0x8]; 1703290650Shselasky u8 qpn_rqn_sqn[0x18]; 1704290650Shselasky}; 1705290650Shselasky 1706290650Shselaskystruct mlx5_ifc_dct_events_bits { 1707290650Shselasky u8 reserved_0[0xc0]; 1708290650Shselasky 1709290650Shselasky u8 reserved_1[0x8]; 1710290650Shselasky u8 dct_number[0x18]; 1711290650Shselasky}; 1712290650Shselasky 1713290650Shselaskystruct mlx5_ifc_comp_event_bits { 1714290650Shselasky u8 reserved_0[0xc0]; 1715290650Shselasky 1716290650Shselasky u8 reserved_1[0x8]; 1717290650Shselasky u8 cq_number[0x18]; 1718290650Shselasky}; 1719290650Shselasky 1720290650Shselaskystruct mlx5_ifc_fw_version_bits { 1721290650Shselasky u8 major[0x10]; 1722290650Shselasky u8 reserved_0[0x10]; 1723290650Shselasky 1724290650Shselasky u8 minor[0x10]; 1725290650Shselasky u8 subminor[0x10]; 1726290650Shselasky 1727290650Shselasky u8 second[0x8]; 1728290650Shselasky u8 minute[0x8]; 1729290650Shselasky u8 hour[0x8]; 1730290650Shselasky u8 reserved_1[0x8]; 1731290650Shselasky 1732290650Shselasky u8 year[0x10]; 1733290650Shselasky u8 month[0x8]; 1734290650Shselasky u8 day[0x8]; 1735290650Shselasky}; 1736290650Shselasky 1737290650Shselaskyenum { 1738290650Shselasky MLX5_QPC_STATE_RST = 0x0, 1739290650Shselasky MLX5_QPC_STATE_INIT = 0x1, 1740290650Shselasky MLX5_QPC_STATE_RTR = 0x2, 1741290650Shselasky MLX5_QPC_STATE_RTS = 0x3, 1742290650Shselasky MLX5_QPC_STATE_SQER = 0x4, 1743290650Shselasky MLX5_QPC_STATE_SQD = 0x5, 1744290650Shselasky MLX5_QPC_STATE_ERR = 0x6, 1745290650Shselasky MLX5_QPC_STATE_SUSPENDED = 0x9, 1746290650Shselasky}; 1747290650Shselasky 1748290650Shselaskyenum { 1749290650Shselasky MLX5_QPC_ST_RC = 0x0, 1750290650Shselasky MLX5_QPC_ST_UC = 0x1, 1751290650Shselasky MLX5_QPC_ST_UD = 0x2, 1752290650Shselasky MLX5_QPC_ST_XRC = 0x3, 1753290650Shselasky MLX5_QPC_ST_DCI = 0x5, 1754290650Shselasky MLX5_QPC_ST_QP0 = 0x7, 1755290650Shselasky MLX5_QPC_ST_QP1 = 0x8, 1756290650Shselasky MLX5_QPC_ST_RAW_DATAGRAM = 0x9, 1757290650Shselasky MLX5_QPC_ST_REG_UMR = 0xc, 1758290650Shselasky}; 1759290650Shselasky 1760290650Shselaskyenum { 1761290650Shselasky MLX5_QP_PM_ARMED = 0x0, 1762290650Shselasky MLX5_QP_PM_REARM = 0x1, 1763290650Shselasky MLX5_QPC_PM_STATE_RESERVED = 0x2, 1764290650Shselasky MLX5_QP_PM_MIGRATED = 0x3, 1765290650Shselasky}; 1766290650Shselasky 1767290650Shselaskyenum { 1768290650Shselasky MLX5_QPC_END_PADDING_MODE_SCATTER_AS_IS = 0x0, 1769290650Shselasky MLX5_QPC_END_PADDING_MODE_PAD_TO_CACHE_LINE_ALIGNMENT = 0x1, 1770290650Shselasky}; 1771290650Shselasky 1772290650Shselaskyenum { 1773290650Shselasky MLX5_QPC_MTU_256_BYTES = 0x1, 1774290650Shselasky MLX5_QPC_MTU_512_BYTES = 0x2, 1775290650Shselasky MLX5_QPC_MTU_1K_BYTES = 0x3, 1776290650Shselasky MLX5_QPC_MTU_2K_BYTES = 0x4, 1777290650Shselasky MLX5_QPC_MTU_4K_BYTES = 0x5, 1778290650Shselasky MLX5_QPC_MTU_RAW_ETHERNET_QP = 0x7, 1779290650Shselasky}; 1780290650Shselasky 1781290650Shselaskyenum { 1782290650Shselasky MLX5_QPC_ATOMIC_MODE_IB_SPEC = 0x1, 1783290650Shselasky MLX5_QPC_ATOMIC_MODE_ONLY_8B = 0x2, 1784290650Shselasky MLX5_QPC_ATOMIC_MODE_UP_TO_8B = 0x3, 1785290650Shselasky MLX5_QPC_ATOMIC_MODE_UP_TO_16B = 0x4, 1786290650Shselasky MLX5_QPC_ATOMIC_MODE_UP_TO_32B = 0x5, 1787290650Shselasky MLX5_QPC_ATOMIC_MODE_UP_TO_64B = 0x6, 1788290650Shselasky MLX5_QPC_ATOMIC_MODE_UP_TO_128B = 0x7, 1789290650Shselasky MLX5_QPC_ATOMIC_MODE_UP_TO_256B = 0x8, 1790290650Shselasky}; 1791290650Shselasky 1792290650Shselaskyenum { 1793290650Shselasky MLX5_QPC_CS_REQ_DISABLE = 0x0, 1794290650Shselasky MLX5_QPC_CS_REQ_UP_TO_32B = 0x11, 1795290650Shselasky MLX5_QPC_CS_REQ_UP_TO_64B = 0x22, 1796290650Shselasky}; 1797290650Shselasky 1798290650Shselaskyenum { 1799290650Shselasky MLX5_QPC_CS_RES_DISABLE = 0x0, 1800290650Shselasky MLX5_QPC_CS_RES_UP_TO_32B = 0x1, 1801290650Shselasky MLX5_QPC_CS_RES_UP_TO_64B = 0x2, 1802290650Shselasky}; 1803290650Shselasky 1804290650Shselaskystruct mlx5_ifc_qpc_bits { 1805290650Shselasky u8 state[0x4]; 1806329204Shselasky u8 lag_tx_port_affinity[0x4]; 1807290650Shselasky u8 st[0x8]; 1808290650Shselasky u8 reserved_1[0x3]; 1809290650Shselasky u8 pm_state[0x2]; 1810290650Shselasky u8 reserved_2[0x7]; 1811290650Shselasky u8 end_padding_mode[0x2]; 1812290650Shselasky u8 reserved_3[0x2]; 1813290650Shselasky 1814290650Shselasky u8 wq_signature[0x1]; 1815290650Shselasky u8 block_lb_mc[0x1]; 1816290650Shselasky u8 atomic_like_write_en[0x1]; 1817290650Shselasky u8 latency_sensitive[0x1]; 1818290650Shselasky u8 reserved_4[0x1]; 1819290650Shselasky u8 drain_sigerr[0x1]; 1820290650Shselasky u8 reserved_5[0x2]; 1821290650Shselasky u8 pd[0x18]; 1822290650Shselasky 1823290650Shselasky u8 mtu[0x3]; 1824290650Shselasky u8 log_msg_max[0x5]; 1825290650Shselasky u8 reserved_6[0x1]; 1826290650Shselasky u8 log_rq_size[0x4]; 1827290650Shselasky u8 log_rq_stride[0x3]; 1828290650Shselasky u8 no_sq[0x1]; 1829290650Shselasky u8 log_sq_size[0x4]; 1830290650Shselasky u8 reserved_7[0x6]; 1831290650Shselasky u8 rlky[0x1]; 1832306233Shselasky u8 ulp_stateless_offload_mode[0x4]; 1833290650Shselasky 1834290650Shselasky u8 counter_set_id[0x8]; 1835290650Shselasky u8 uar_page[0x18]; 1836290650Shselasky 1837306233Shselasky u8 reserved_8[0x8]; 1838290650Shselasky u8 user_index[0x18]; 1839290650Shselasky 1840306233Shselasky u8 reserved_9[0x3]; 1841290650Shselasky u8 log_page_size[0x5]; 1842290650Shselasky u8 remote_qpn[0x18]; 1843290650Shselasky 1844290650Shselasky struct mlx5_ifc_ads_bits primary_address_path; 1845290650Shselasky 1846290650Shselasky struct mlx5_ifc_ads_bits secondary_address_path; 1847290650Shselasky 1848290650Shselasky u8 log_ack_req_freq[0x4]; 1849306233Shselasky u8 reserved_10[0x4]; 1850290650Shselasky u8 log_sra_max[0x3]; 1851306233Shselasky u8 reserved_11[0x2]; 1852290650Shselasky u8 retry_count[0x3]; 1853290650Shselasky u8 rnr_retry[0x3]; 1854306233Shselasky u8 reserved_12[0x1]; 1855290650Shselasky u8 fre[0x1]; 1856290650Shselasky u8 cur_rnr_retry[0x3]; 1857290650Shselasky u8 cur_retry_count[0x3]; 1858306233Shselasky u8 reserved_13[0x5]; 1859290650Shselasky 1860306233Shselasky u8 reserved_14[0x20]; 1861290650Shselasky 1862306233Shselasky u8 reserved_15[0x8]; 1863290650Shselasky u8 next_send_psn[0x18]; 1864290650Shselasky 1865306233Shselasky u8 reserved_16[0x8]; 1866290650Shselasky u8 cqn_snd[0x18]; 1867290650Shselasky 1868329204Shselasky u8 reserved_at_400[0x8]; 1869290650Shselasky 1870329204Shselasky u8 deth_sqpn[0x18]; 1871329204Shselasky u8 reserved_17[0x20]; 1872329204Shselasky 1873306233Shselasky u8 reserved_18[0x8]; 1874290650Shselasky u8 last_acked_psn[0x18]; 1875290650Shselasky 1876306233Shselasky u8 reserved_19[0x8]; 1877290650Shselasky u8 ssn[0x18]; 1878290650Shselasky 1879306233Shselasky u8 reserved_20[0x8]; 1880290650Shselasky u8 log_rra_max[0x3]; 1881306233Shselasky u8 reserved_21[0x1]; 1882290650Shselasky u8 atomic_mode[0x4]; 1883290650Shselasky u8 rre[0x1]; 1884290650Shselasky u8 rwe[0x1]; 1885290650Shselasky u8 rae[0x1]; 1886306233Shselasky u8 reserved_22[0x1]; 1887290650Shselasky u8 page_offset[0x6]; 1888306233Shselasky u8 reserved_23[0x3]; 1889290650Shselasky u8 cd_slave_receive[0x1]; 1890290650Shselasky u8 cd_slave_send[0x1]; 1891290650Shselasky u8 cd_master[0x1]; 1892290650Shselasky 1893306233Shselasky u8 reserved_24[0x3]; 1894290650Shselasky u8 min_rnr_nak[0x5]; 1895290650Shselasky u8 next_rcv_psn[0x18]; 1896290650Shselasky 1897306233Shselasky u8 reserved_25[0x8]; 1898290650Shselasky u8 xrcd[0x18]; 1899290650Shselasky 1900306233Shselasky u8 reserved_26[0x8]; 1901290650Shselasky u8 cqn_rcv[0x18]; 1902290650Shselasky 1903290650Shselasky u8 dbr_addr[0x40]; 1904290650Shselasky 1905290650Shselasky u8 q_key[0x20]; 1906290650Shselasky 1907306233Shselasky u8 reserved_27[0x5]; 1908290650Shselasky u8 rq_type[0x3]; 1909290650Shselasky u8 srqn_rmpn[0x18]; 1910290650Shselasky 1911306233Shselasky u8 reserved_28[0x8]; 1912290650Shselasky u8 rmsn[0x18]; 1913290650Shselasky 1914290650Shselasky u8 hw_sq_wqebb_counter[0x10]; 1915290650Shselasky u8 sw_sq_wqebb_counter[0x10]; 1916290650Shselasky 1917290650Shselasky u8 hw_rq_counter[0x20]; 1918290650Shselasky 1919290650Shselasky u8 sw_rq_counter[0x20]; 1920290650Shselasky 1921306233Shselasky u8 reserved_29[0x20]; 1922290650Shselasky 1923306233Shselasky u8 reserved_30[0xf]; 1924290650Shselasky u8 cgs[0x1]; 1925290650Shselasky u8 cs_req[0x8]; 1926290650Shselasky u8 cs_res[0x8]; 1927290650Shselasky 1928290650Shselasky u8 dc_access_key[0x40]; 1929290650Shselasky 1930290650Shselasky u8 rdma_active[0x1]; 1931290650Shselasky u8 comm_est[0x1]; 1932290650Shselasky u8 suspended[0x1]; 1933306233Shselasky u8 reserved_31[0x5]; 1934290650Shselasky u8 send_msg_psn[0x18]; 1935290650Shselasky 1936306233Shselasky u8 reserved_32[0x8]; 1937290650Shselasky u8 rcv_msg_psn[0x18]; 1938290650Shselasky 1939290650Shselasky u8 rdma_va[0x40]; 1940290650Shselasky 1941290650Shselasky u8 rdma_key[0x20]; 1942290650Shselasky 1943306233Shselasky u8 reserved_33[0x20]; 1944290650Shselasky}; 1945290650Shselasky 1946290650Shselaskystruct mlx5_ifc_roce_addr_layout_bits { 1947290650Shselasky u8 source_l3_address[16][0x8]; 1948290650Shselasky 1949290650Shselasky u8 reserved_0[0x3]; 1950290650Shselasky u8 vlan_valid[0x1]; 1951290650Shselasky u8 vlan_id[0xc]; 1952290650Shselasky u8 source_mac_47_32[0x10]; 1953290650Shselasky 1954290650Shselasky u8 source_mac_31_0[0x20]; 1955290650Shselasky 1956290650Shselasky u8 reserved_1[0x14]; 1957290650Shselasky u8 roce_l3_type[0x4]; 1958290650Shselasky u8 roce_version[0x8]; 1959290650Shselasky 1960290650Shselasky u8 reserved_2[0x20]; 1961290650Shselasky}; 1962290650Shselasky 1963290650Shselaskystruct mlx5_ifc_rdbc_bits { 1964290650Shselasky u8 reserved_0[0x1c]; 1965290650Shselasky u8 type[0x4]; 1966290650Shselasky 1967290650Shselasky u8 reserved_1[0x20]; 1968290650Shselasky 1969290650Shselasky u8 reserved_2[0x8]; 1970290650Shselasky u8 psn[0x18]; 1971290650Shselasky 1972290650Shselasky u8 rkey[0x20]; 1973290650Shselasky 1974290650Shselasky u8 address[0x40]; 1975290650Shselasky 1976290650Shselasky u8 byte_count[0x20]; 1977290650Shselasky 1978290650Shselasky u8 reserved_3[0x20]; 1979290650Shselasky 1980290650Shselasky u8 atomic_resp[32][0x8]; 1981290650Shselasky}; 1982290650Shselasky 1983290650Shselaskyenum { 1984290650Shselasky MLX5_FLOW_CONTEXT_ACTION_ALLOW = 0x1, 1985290650Shselasky MLX5_FLOW_CONTEXT_ACTION_DROP = 0x2, 1986290650Shselasky MLX5_FLOW_CONTEXT_ACTION_FWD_DEST = 0x4, 1987290650Shselasky MLX5_FLOW_CONTEXT_ACTION_COUNT = 0x8, 1988290650Shselasky}; 1989290650Shselasky 1990290650Shselaskystruct mlx5_ifc_flow_context_bits { 1991290650Shselasky u8 reserved_0[0x20]; 1992290650Shselasky 1993290650Shselasky u8 group_id[0x20]; 1994290650Shselasky 1995290650Shselasky u8 reserved_1[0x8]; 1996290650Shselasky u8 flow_tag[0x18]; 1997290650Shselasky 1998290650Shselasky u8 reserved_2[0x10]; 1999290650Shselasky u8 action[0x10]; 2000290650Shselasky 2001290650Shselasky u8 reserved_3[0x8]; 2002290650Shselasky u8 destination_list_size[0x18]; 2003290650Shselasky 2004290650Shselasky u8 reserved_4[0x8]; 2005290650Shselasky u8 flow_counter_list_size[0x18]; 2006290650Shselasky 2007290650Shselasky u8 reserved_5[0x140]; 2008290650Shselasky 2009290650Shselasky struct mlx5_ifc_fte_match_param_bits match_value; 2010290650Shselasky 2011290650Shselasky u8 reserved_6[0x600]; 2012290650Shselasky 2013290650Shselasky union mlx5_ifc_dest_format_struct_flow_counter_list_auto_bits destination[0]; 2014290650Shselasky}; 2015290650Shselasky 2016290650Shselaskyenum { 2017290650Shselasky MLX5_XRC_SRQC_STATE_GOOD = 0x0, 2018290650Shselasky MLX5_XRC_SRQC_STATE_ERROR = 0x1, 2019290650Shselasky}; 2020290650Shselasky 2021290650Shselaskystruct mlx5_ifc_xrc_srqc_bits { 2022290650Shselasky u8 state[0x4]; 2023290650Shselasky u8 log_xrc_srq_size[0x4]; 2024290650Shselasky u8 reserved_0[0x18]; 2025290650Shselasky 2026290650Shselasky u8 wq_signature[0x1]; 2027290650Shselasky u8 cont_srq[0x1]; 2028290650Shselasky u8 reserved_1[0x1]; 2029290650Shselasky u8 rlky[0x1]; 2030290650Shselasky u8 basic_cyclic_rcv_wqe[0x1]; 2031290650Shselasky u8 log_rq_stride[0x3]; 2032290650Shselasky u8 xrcd[0x18]; 2033290650Shselasky 2034290650Shselasky u8 page_offset[0x6]; 2035290650Shselasky u8 reserved_2[0x2]; 2036290650Shselasky u8 cqn[0x18]; 2037290650Shselasky 2038290650Shselasky u8 reserved_3[0x20]; 2039290650Shselasky 2040290650Shselasky u8 reserved_4[0x2]; 2041290650Shselasky u8 log_page_size[0x6]; 2042290650Shselasky u8 user_index[0x18]; 2043290650Shselasky 2044290650Shselasky u8 reserved_5[0x20]; 2045290650Shselasky 2046290650Shselasky u8 reserved_6[0x8]; 2047290650Shselasky u8 pd[0x18]; 2048290650Shselasky 2049290650Shselasky u8 lwm[0x10]; 2050290650Shselasky u8 wqe_cnt[0x10]; 2051290650Shselasky 2052290650Shselasky u8 reserved_7[0x40]; 2053290650Shselasky 2054290650Shselasky u8 db_record_addr_h[0x20]; 2055290650Shselasky 2056290650Shselasky u8 db_record_addr_l[0x1e]; 2057290650Shselasky u8 reserved_8[0x2]; 2058290650Shselasky 2059290650Shselasky u8 reserved_9[0x80]; 2060290650Shselasky}; 2061290650Shselasky 2062290650Shselaskystruct mlx5_ifc_traffic_counter_bits { 2063290650Shselasky u8 packets[0x40]; 2064290650Shselasky 2065290650Shselasky u8 octets[0x40]; 2066290650Shselasky}; 2067290650Shselasky 2068290650Shselaskystruct mlx5_ifc_tisc_bits { 2069329204Shselasky u8 strict_lag_tx_port_affinity[0x1]; 2070329204Shselasky u8 reserved_at_1[0x3]; 2071329204Shselasky u8 lag_tx_port_affinity[0x04]; 2072329204Shselasky 2073329204Shselasky u8 reserved_at_8[0x4]; 2074290650Shselasky u8 prio[0x4]; 2075290650Shselasky u8 reserved_1[0x10]; 2076290650Shselasky 2077290650Shselasky u8 reserved_2[0x100]; 2078290650Shselasky 2079290650Shselasky u8 reserved_3[0x8]; 2080290650Shselasky u8 transport_domain[0x18]; 2081290650Shselasky 2082306233Shselasky u8 reserved_4[0x8]; 2083306233Shselasky u8 underlay_qpn[0x18]; 2084306233Shselasky 2085306233Shselasky u8 reserved_5[0x3a0]; 2086290650Shselasky}; 2087290650Shselasky 2088290650Shselaskyenum { 2089290650Shselasky MLX5_TIRC_DISP_TYPE_DIRECT = 0x0, 2090290650Shselasky MLX5_TIRC_DISP_TYPE_INDIRECT = 0x1, 2091290650Shselasky}; 2092290650Shselasky 2093290650Shselaskyenum { 2094290650Shselasky MLX5_TIRC_LRO_ENABLE_MASK_IPV4_LRO = 0x1, 2095290650Shselasky MLX5_TIRC_LRO_ENABLE_MASK_IPV6_LRO = 0x2, 2096290650Shselasky}; 2097290650Shselasky 2098290650Shselaskyenum { 2099290650Shselasky MLX5_TIRC_RX_HASH_FN_HASH_NONE = 0x0, 2100290650Shselasky MLX5_TIRC_RX_HASH_FN_HASH_INVERTED_XOR8 = 0x1, 2101290650Shselasky MLX5_TIRC_RX_HASH_FN_HASH_TOEPLITZ = 0x2, 2102290650Shselasky}; 2103290650Shselasky 2104290650Shselaskyenum { 2105290650Shselasky MLX5_TIRC_SELF_LB_EN_ENABLE_UNICAST = 0x1, 2106290650Shselasky MLX5_TIRC_SELF_LB_EN_ENABLE_MULTICAST = 0x2, 2107290650Shselasky}; 2108290650Shselasky 2109290650Shselaskystruct mlx5_ifc_tirc_bits { 2110290650Shselasky u8 reserved_0[0x20]; 2111290650Shselasky 2112290650Shselasky u8 disp_type[0x4]; 2113290650Shselasky u8 reserved_1[0x1c]; 2114290650Shselasky 2115290650Shselasky u8 reserved_2[0x40]; 2116290650Shselasky 2117290650Shselasky u8 reserved_3[0x4]; 2118290650Shselasky u8 lro_timeout_period_usecs[0x10]; 2119290650Shselasky u8 lro_enable_mask[0x4]; 2120290650Shselasky u8 lro_max_msg_sz[0x8]; 2121290650Shselasky 2122290650Shselasky u8 reserved_4[0x40]; 2123290650Shselasky 2124290650Shselasky u8 reserved_5[0x8]; 2125290650Shselasky u8 inline_rqn[0x18]; 2126290650Shselasky 2127290650Shselasky u8 rx_hash_symmetric[0x1]; 2128290650Shselasky u8 reserved_6[0x1]; 2129290650Shselasky u8 tunneled_offload_en[0x1]; 2130290650Shselasky u8 reserved_7[0x5]; 2131290650Shselasky u8 indirect_table[0x18]; 2132290650Shselasky 2133290650Shselasky u8 rx_hash_fn[0x4]; 2134290650Shselasky u8 reserved_8[0x2]; 2135290650Shselasky u8 self_lb_en[0x2]; 2136290650Shselasky u8 transport_domain[0x18]; 2137290650Shselasky 2138290650Shselasky u8 rx_hash_toeplitz_key[10][0x20]; 2139290650Shselasky 2140290650Shselasky struct mlx5_ifc_rx_hash_field_select_bits rx_hash_field_selector_outer; 2141290650Shselasky 2142290650Shselasky struct mlx5_ifc_rx_hash_field_select_bits rx_hash_field_selector_inner; 2143290650Shselasky 2144290650Shselasky u8 reserved_9[0x4c0]; 2145290650Shselasky}; 2146290650Shselasky 2147290650Shselaskyenum { 2148290650Shselasky MLX5_SRQC_STATE_GOOD = 0x0, 2149290650Shselasky MLX5_SRQC_STATE_ERROR = 0x1, 2150290650Shselasky}; 2151290650Shselasky 2152290650Shselaskystruct mlx5_ifc_srqc_bits { 2153290650Shselasky u8 state[0x4]; 2154290650Shselasky u8 log_srq_size[0x4]; 2155290650Shselasky u8 reserved_0[0x18]; 2156290650Shselasky 2157290650Shselasky u8 wq_signature[0x1]; 2158290650Shselasky u8 cont_srq[0x1]; 2159290650Shselasky u8 reserved_1[0x1]; 2160290650Shselasky u8 rlky[0x1]; 2161290650Shselasky u8 reserved_2[0x1]; 2162290650Shselasky u8 log_rq_stride[0x3]; 2163290650Shselasky u8 xrcd[0x18]; 2164290650Shselasky 2165290650Shselasky u8 page_offset[0x6]; 2166290650Shselasky u8 reserved_3[0x2]; 2167290650Shselasky u8 cqn[0x18]; 2168290650Shselasky 2169290650Shselasky u8 reserved_4[0x20]; 2170290650Shselasky 2171290650Shselasky u8 reserved_5[0x2]; 2172290650Shselasky u8 log_page_size[0x6]; 2173290650Shselasky u8 reserved_6[0x18]; 2174290650Shselasky 2175290650Shselasky u8 reserved_7[0x20]; 2176290650Shselasky 2177290650Shselasky u8 reserved_8[0x8]; 2178290650Shselasky u8 pd[0x18]; 2179290650Shselasky 2180290650Shselasky u8 lwm[0x10]; 2181290650Shselasky u8 wqe_cnt[0x10]; 2182290650Shselasky 2183290650Shselasky u8 reserved_9[0x40]; 2184290650Shselasky 2185290650Shselasky u8 db_record_addr_h[0x20]; 2186290650Shselasky 2187290650Shselasky u8 db_record_addr_l[0x1e]; 2188290650Shselasky u8 reserved_10[0x2]; 2189290650Shselasky 2190290650Shselasky u8 reserved_11[0x80]; 2191290650Shselasky}; 2192290650Shselasky 2193290650Shselaskyenum { 2194290650Shselasky MLX5_SQC_STATE_RST = 0x0, 2195290650Shselasky MLX5_SQC_STATE_RDY = 0x1, 2196290650Shselasky MLX5_SQC_STATE_ERR = 0x3, 2197290650Shselasky}; 2198290650Shselasky 2199290650Shselaskystruct mlx5_ifc_sqc_bits { 2200308678Shselasky u8 rlkey[0x1]; 2201290650Shselasky u8 cd_master[0x1]; 2202290650Shselasky u8 fre[0x1]; 2203290650Shselasky u8 flush_in_error_en[0x1]; 2204290650Shselasky u8 allow_multi_pkt_send_wqe[0x1]; 2205290650Shselasky u8 min_wqe_inline_mode[0x3]; 2206290650Shselasky u8 state[0x4]; 2207308678Shselasky u8 reg_umr[0x1]; 2208308678Shselasky u8 allow_swp[0x1]; 2209308678Shselasky u8 reserved_0[0x12]; 2210290650Shselasky 2211290650Shselasky u8 reserved_1[0x8]; 2212290650Shselasky u8 user_index[0x18]; 2213290650Shselasky 2214290650Shselasky u8 reserved_2[0x8]; 2215290650Shselasky u8 cqn[0x18]; 2216290650Shselasky 2217308678Shselasky u8 reserved_3[0x80]; 2218308678Shselasky 2219308678Shselasky u8 qos_para_vport_number[0x10]; 2220306233Shselasky u8 packet_pacing_rate_limit_index[0x10]; 2221290650Shselasky 2222290650Shselasky u8 tis_lst_sz[0x10]; 2223290650Shselasky u8 reserved_4[0x10]; 2224290650Shselasky 2225290650Shselasky u8 reserved_5[0x40]; 2226290650Shselasky 2227290650Shselasky u8 reserved_6[0x8]; 2228290650Shselasky u8 tis_num_0[0x18]; 2229290650Shselasky 2230290650Shselasky struct mlx5_ifc_wq_bits wq; 2231290650Shselasky}; 2232290650Shselasky 2233308678Shselaskyenum { 2234308678Shselasky MLX5_TSAR_TYPE_DWRR = 0, 2235308678Shselasky MLX5_TSAR_TYPE_ROUND_ROUBIN = 1, 2236308678Shselasky MLX5_TSAR_TYPE_ETS = 2 2237308678Shselasky}; 2238308678Shselasky 2239308678Shselaskystruct mlx5_ifc_tsar_element_attributes_bits { 2240308678Shselasky u8 reserved_0[0x8]; 2241308678Shselasky u8 tsar_type[0x8]; 2242308678Shselasky u8 reserved_1[0x10]; 2243308678Shselasky}; 2244308678Shselasky 2245308678Shselaskystruct mlx5_ifc_vport_element_attributes_bits { 2246308678Shselasky u8 reserved_0[0x10]; 2247308678Shselasky u8 vport_number[0x10]; 2248308678Shselasky}; 2249308678Shselasky 2250308678Shselaskystruct mlx5_ifc_vport_tc_element_attributes_bits { 2251308678Shselasky u8 traffic_class[0x10]; 2252308678Shselasky u8 vport_number[0x10]; 2253308678Shselasky}; 2254308678Shselasky 2255308678Shselaskystruct mlx5_ifc_para_vport_tc_element_attributes_bits { 2256308678Shselasky u8 reserved_0[0x0C]; 2257308678Shselasky u8 traffic_class[0x04]; 2258308678Shselasky u8 qos_para_vport_number[0x10]; 2259308678Shselasky}; 2260308678Shselasky 2261308678Shselaskyenum { 2262308678Shselasky MLX5_SCHEDULING_CONTEXT_ELEMENT_TYPE_TSAR = 0x0, 2263308678Shselasky MLX5_SCHEDULING_CONTEXT_ELEMENT_TYPE_VPORT = 0x1, 2264308678Shselasky MLX5_SCHEDULING_CONTEXT_ELEMENT_TYPE_VPORT_TC = 0x2, 2265308678Shselasky MLX5_SCHEDULING_CONTEXT_ELEMENT_TYPE_PARA_VPORT_TC = 0x3, 2266308678Shselasky}; 2267308678Shselasky 2268308678Shselaskystruct mlx5_ifc_scheduling_context_bits { 2269308678Shselasky u8 element_type[0x8]; 2270308678Shselasky u8 reserved_at_8[0x18]; 2271308678Shselasky 2272308678Shselasky u8 element_attributes[0x20]; 2273308678Shselasky 2274308678Shselasky u8 parent_element_id[0x20]; 2275308678Shselasky 2276308678Shselasky u8 reserved_at_60[0x40]; 2277308678Shselasky 2278308678Shselasky u8 bw_share[0x20]; 2279308678Shselasky 2280308678Shselasky u8 max_average_bw[0x20]; 2281308678Shselasky 2282308678Shselasky u8 reserved_at_e0[0x120]; 2283308678Shselasky}; 2284308678Shselasky 2285290650Shselaskystruct mlx5_ifc_rqtc_bits { 2286290650Shselasky u8 reserved_0[0xa0]; 2287290650Shselasky 2288290650Shselasky u8 reserved_1[0x10]; 2289290650Shselasky u8 rqt_max_size[0x10]; 2290290650Shselasky 2291290650Shselasky u8 reserved_2[0x10]; 2292290650Shselasky u8 rqt_actual_size[0x10]; 2293290650Shselasky 2294290650Shselasky u8 reserved_3[0x6a0]; 2295290650Shselasky 2296290650Shselasky struct mlx5_ifc_rq_num_bits rq_num[0]; 2297290650Shselasky}; 2298290650Shselasky 2299290650Shselaskyenum { 2300290650Shselasky MLX5_RQC_RQ_TYPE_MEMORY_RQ_INLINE = 0x0, 2301290650Shselasky MLX5_RQC_RQ_TYPE_MEMORY_RQ_RMP = 0x1, 2302290650Shselasky}; 2303290650Shselasky 2304290650Shselaskyenum { 2305290650Shselasky MLX5_RQC_STATE_RST = 0x0, 2306290650Shselasky MLX5_RQC_STATE_RDY = 0x1, 2307290650Shselasky MLX5_RQC_STATE_ERR = 0x3, 2308290650Shselasky}; 2309290650Shselasky 2310321992Shselaskyenum { 2311321992Shselasky MLX5_RQC_DROPLESS_MODE_DISABLE = 0x0, 2312321992Shselasky MLX5_RQC_DROPLESS_MODE_ENABLE = 0x1, 2313321992Shselasky}; 2314321992Shselasky 2315290650Shselaskystruct mlx5_ifc_rqc_bits { 2316321992Shselasky u8 rlkey[0x1]; 2317321992Shselasky u8 delay_drop_en[0x1]; 2318321992Shselasky u8 scatter_fcs[0x1]; 2319290650Shselasky u8 vlan_strip_disable[0x1]; 2320290650Shselasky u8 mem_rq_type[0x4]; 2321290650Shselasky u8 state[0x4]; 2322290650Shselasky u8 reserved_1[0x1]; 2323290650Shselasky u8 flush_in_error_en[0x1]; 2324290650Shselasky u8 reserved_2[0x12]; 2325290650Shselasky 2326290650Shselasky u8 reserved_3[0x8]; 2327290650Shselasky u8 user_index[0x18]; 2328290650Shselasky 2329290650Shselasky u8 reserved_4[0x8]; 2330290650Shselasky u8 cqn[0x18]; 2331290650Shselasky 2332290650Shselasky u8 counter_set_id[0x8]; 2333290650Shselasky u8 reserved_5[0x18]; 2334290650Shselasky 2335290650Shselasky u8 reserved_6[0x8]; 2336290650Shselasky u8 rmpn[0x18]; 2337290650Shselasky 2338290650Shselasky u8 reserved_7[0xe0]; 2339290650Shselasky 2340290650Shselasky struct mlx5_ifc_wq_bits wq; 2341290650Shselasky}; 2342290650Shselasky 2343290650Shselaskyenum { 2344290650Shselasky MLX5_RMPC_STATE_RDY = 0x1, 2345290650Shselasky MLX5_RMPC_STATE_ERR = 0x3, 2346290650Shselasky}; 2347290650Shselasky 2348290650Shselaskystruct mlx5_ifc_rmpc_bits { 2349290650Shselasky u8 reserved_0[0x8]; 2350290650Shselasky u8 state[0x4]; 2351290650Shselasky u8 reserved_1[0x14]; 2352290650Shselasky 2353290650Shselasky u8 basic_cyclic_rcv_wqe[0x1]; 2354290650Shselasky u8 reserved_2[0x1f]; 2355290650Shselasky 2356290650Shselasky u8 reserved_3[0x140]; 2357290650Shselasky 2358290650Shselasky struct mlx5_ifc_wq_bits wq; 2359290650Shselasky}; 2360290650Shselasky 2361290650Shselaskyenum { 2362290650Shselasky MLX5_NIC_VPORT_CONTEXT_ALLOWED_LIST_TYPE_CURRENT_UC_MAC_ADDRESS = 0x0, 2363290650Shselasky MLX5_NIC_VPORT_CONTEXT_ALLOWED_LIST_TYPE_CURRENT_MC_MAC_ADDRESS = 0x1, 2364290650Shselasky MLX5_NIC_VPORT_CONTEXT_ALLOWED_LIST_TYPE_VLAN_LIST = 0x2, 2365290650Shselasky}; 2366290650Shselasky 2367290650Shselaskystruct mlx5_ifc_nic_vport_context_bits { 2368290650Shselasky u8 reserved_0[0x5]; 2369290650Shselasky u8 min_wqe_inline_mode[0x3]; 2370321992Shselasky u8 reserved_1[0x15]; 2371321992Shselasky u8 disable_mc_local_lb[0x1]; 2372321992Shselasky u8 disable_uc_local_lb[0x1]; 2373290650Shselasky u8 roce_en[0x1]; 2374290650Shselasky 2375290650Shselasky u8 arm_change_event[0x1]; 2376290650Shselasky u8 reserved_2[0x1a]; 2377290650Shselasky u8 event_on_mtu[0x1]; 2378290650Shselasky u8 event_on_promisc_change[0x1]; 2379290650Shselasky u8 event_on_vlan_change[0x1]; 2380290650Shselasky u8 event_on_mc_address_change[0x1]; 2381290650Shselasky u8 event_on_uc_address_change[0x1]; 2382290650Shselasky 2383290650Shselasky u8 reserved_3[0xe0]; 2384290650Shselasky 2385290650Shselasky u8 reserved_4[0x10]; 2386290650Shselasky u8 mtu[0x10]; 2387290650Shselasky 2388290650Shselasky u8 system_image_guid[0x40]; 2389290650Shselasky 2390290650Shselasky u8 port_guid[0x40]; 2391290650Shselasky 2392290650Shselasky u8 node_guid[0x40]; 2393290650Shselasky 2394290650Shselasky u8 reserved_5[0x140]; 2395290650Shselasky 2396290650Shselasky u8 qkey_violation_counter[0x10]; 2397290650Shselasky u8 reserved_6[0x10]; 2398290650Shselasky 2399290650Shselasky u8 reserved_7[0x420]; 2400290650Shselasky 2401290650Shselasky u8 promisc_uc[0x1]; 2402290650Shselasky u8 promisc_mc[0x1]; 2403290650Shselasky u8 promisc_all[0x1]; 2404290650Shselasky u8 reserved_8[0x2]; 2405290650Shselasky u8 allowed_list_type[0x3]; 2406290650Shselasky u8 reserved_9[0xc]; 2407290650Shselasky u8 allowed_list_size[0xc]; 2408290650Shselasky 2409290650Shselasky struct mlx5_ifc_mac_address_layout_bits permanent_address; 2410290650Shselasky 2411290650Shselasky u8 reserved_10[0x20]; 2412290650Shselasky 2413290650Shselasky u8 current_uc_mac_address[0][0x40]; 2414290650Shselasky}; 2415290650Shselasky 2416290650Shselaskyenum { 2417290650Shselasky MLX5_ACCESS_MODE_PA = 0x0, 2418290650Shselasky MLX5_ACCESS_MODE_MTT = 0x1, 2419290650Shselasky MLX5_ACCESS_MODE_KLM = 0x2, 2420290650Shselasky}; 2421290650Shselasky 2422290650Shselaskystruct mlx5_ifc_mkc_bits { 2423290650Shselasky u8 reserved_0[0x1]; 2424290650Shselasky u8 free[0x1]; 2425290650Shselasky u8 reserved_1[0xd]; 2426290650Shselasky u8 small_fence_on_rdma_read_response[0x1]; 2427290650Shselasky u8 umr_en[0x1]; 2428290650Shselasky u8 a[0x1]; 2429290650Shselasky u8 rw[0x1]; 2430290650Shselasky u8 rr[0x1]; 2431290650Shselasky u8 lw[0x1]; 2432290650Shselasky u8 lr[0x1]; 2433290650Shselasky u8 access_mode[0x2]; 2434290650Shselasky u8 reserved_2[0x8]; 2435290650Shselasky 2436290650Shselasky u8 qpn[0x18]; 2437290650Shselasky u8 mkey_7_0[0x8]; 2438290650Shselasky 2439290650Shselasky u8 reserved_3[0x20]; 2440290650Shselasky 2441290650Shselasky u8 length64[0x1]; 2442290650Shselasky u8 bsf_en[0x1]; 2443290650Shselasky u8 sync_umr[0x1]; 2444290650Shselasky u8 reserved_4[0x2]; 2445290650Shselasky u8 expected_sigerr_count[0x1]; 2446290650Shselasky u8 reserved_5[0x1]; 2447290650Shselasky u8 en_rinval[0x1]; 2448290650Shselasky u8 pd[0x18]; 2449290650Shselasky 2450290650Shselasky u8 start_addr[0x40]; 2451290650Shselasky 2452290650Shselasky u8 len[0x40]; 2453290650Shselasky 2454290650Shselasky u8 bsf_octword_size[0x20]; 2455290650Shselasky 2456290650Shselasky u8 reserved_6[0x80]; 2457290650Shselasky 2458290650Shselasky u8 translations_octword_size[0x20]; 2459290650Shselasky 2460290650Shselasky u8 reserved_7[0x1b]; 2461290650Shselasky u8 log_page_size[0x5]; 2462290650Shselasky 2463290650Shselasky u8 reserved_8[0x20]; 2464290650Shselasky}; 2465290650Shselasky 2466290650Shselaskystruct mlx5_ifc_pkey_bits { 2467290650Shselasky u8 reserved_0[0x10]; 2468290650Shselasky u8 pkey[0x10]; 2469290650Shselasky}; 2470290650Shselasky 2471290650Shselaskystruct mlx5_ifc_array128_auto_bits { 2472290650Shselasky u8 array128_auto[16][0x8]; 2473290650Shselasky}; 2474290650Shselasky 2475290650Shselaskyenum { 2476290650Shselasky MLX5_HCA_VPORT_CONTEXT_FIELD_SELECT_PORT_GUID = 0x0, 2477290650Shselasky MLX5_HCA_VPORT_CONTEXT_FIELD_SELECT_NODE_GUID = 0x1, 2478290650Shselasky MLX5_HCA_VPORT_CONTEXT_FIELD_SELECT_VPORT_STATE_POLICY = 0x2, 2479290650Shselasky}; 2480290650Shselasky 2481290650Shselaskyenum { 2482290650Shselasky MLX5_HCA_VPORT_CONTEXT_PORT_PHYSICAL_STATE_SLEEP = 0x1, 2483290650Shselasky MLX5_HCA_VPORT_CONTEXT_PORT_PHYSICAL_STATE_POLLING = 0x2, 2484290650Shselasky MLX5_HCA_VPORT_CONTEXT_PORT_PHYSICAL_STATE_DISABLED = 0x3, 2485290650Shselasky MLX5_HCA_VPORT_CONTEXT_PORT_PHYSICAL_STATE_PORTCONFIGURATIONTRAINING = 0x4, 2486290650Shselasky MLX5_HCA_VPORT_CONTEXT_PORT_PHYSICAL_STATE_LINKUP = 0x5, 2487290650Shselasky MLX5_HCA_VPORT_CONTEXT_PORT_PHYSICAL_STATE_LINKERRORRECOVERY = 0x6, 2488290650Shselasky MLX5_HCA_VPORT_CONTEXT_PORT_PHYSICAL_STATE_PHYTEST = 0x7, 2489290650Shselasky}; 2490290650Shselasky 2491290650Shselaskyenum { 2492290650Shselasky MLX5_HCA_VPORT_CONTEXT_VPORT_STATE_POLICY_DOWN = 0x0, 2493290650Shselasky MLX5_HCA_VPORT_CONTEXT_VPORT_STATE_POLICY_UP = 0x1, 2494290650Shselasky MLX5_HCA_VPORT_CONTEXT_VPORT_STATE_POLICY_FOLLOW = 0x2, 2495290650Shselasky}; 2496290650Shselasky 2497290650Shselaskyenum { 2498290650Shselasky MLX5_HCA_VPORT_CONTEXT_PORT_STATE_DOWN = 0x1, 2499290650Shselasky MLX5_HCA_VPORT_CONTEXT_PORT_STATE_INIT = 0x2, 2500290650Shselasky MLX5_HCA_VPORT_CONTEXT_PORT_STATE_ARM = 0x3, 2501290650Shselasky MLX5_HCA_VPORT_CONTEXT_PORT_STATE_ACTIVE = 0x4, 2502290650Shselasky}; 2503290650Shselasky 2504290650Shselaskyenum { 2505290650Shselasky MLX5_HCA_VPORT_CONTEXT_VPORT_STATE_DOWN = 0x1, 2506290650Shselasky MLX5_HCA_VPORT_CONTEXT_VPORT_STATE_INIT = 0x2, 2507290650Shselasky MLX5_HCA_VPORT_CONTEXT_VPORT_STATE_ARM = 0x3, 2508290650Shselasky MLX5_HCA_VPORT_CONTEXT_VPORT_STATE_ACTIVE = 0x4, 2509290650Shselasky}; 2510290650Shselasky 2511290650Shselaskystruct mlx5_ifc_hca_vport_context_bits { 2512290650Shselasky u8 field_select[0x20]; 2513290650Shselasky 2514290650Shselasky u8 reserved_0[0xe0]; 2515290650Shselasky 2516290650Shselasky u8 sm_virt_aware[0x1]; 2517290650Shselasky u8 has_smi[0x1]; 2518290650Shselasky u8 has_raw[0x1]; 2519290650Shselasky u8 grh_required[0x1]; 2520306233Shselasky u8 reserved_1[0x1]; 2521306233Shselasky u8 min_wqe_inline_mode[0x3]; 2522306233Shselasky u8 reserved_2[0x8]; 2523290650Shselasky u8 port_physical_state[0x4]; 2524290650Shselasky u8 vport_state_policy[0x4]; 2525290650Shselasky u8 port_state[0x4]; 2526290650Shselasky u8 vport_state[0x4]; 2527290650Shselasky 2528306233Shselasky u8 reserved_3[0x20]; 2529290650Shselasky 2530290650Shselasky u8 system_image_guid[0x40]; 2531290650Shselasky 2532290650Shselasky u8 port_guid[0x40]; 2533290650Shselasky 2534290650Shselasky u8 node_guid[0x40]; 2535290650Shselasky 2536290650Shselasky u8 cap_mask1[0x20]; 2537290650Shselasky 2538290650Shselasky u8 cap_mask1_field_select[0x20]; 2539290650Shselasky 2540290650Shselasky u8 cap_mask2[0x20]; 2541290650Shselasky 2542290650Shselasky u8 cap_mask2_field_select[0x20]; 2543290650Shselasky 2544306233Shselasky u8 reserved_4[0x80]; 2545290650Shselasky 2546290650Shselasky u8 lid[0x10]; 2547306233Shselasky u8 reserved_5[0x4]; 2548290650Shselasky u8 init_type_reply[0x4]; 2549290650Shselasky u8 lmc[0x3]; 2550290650Shselasky u8 subnet_timeout[0x5]; 2551290650Shselasky 2552290650Shselasky u8 sm_lid[0x10]; 2553290650Shselasky u8 sm_sl[0x4]; 2554306233Shselasky u8 reserved_6[0xc]; 2555290650Shselasky 2556290650Shselasky u8 qkey_violation_counter[0x10]; 2557290650Shselasky u8 pkey_violation_counter[0x10]; 2558290650Shselasky 2559306233Shselasky u8 reserved_7[0xca0]; 2560290650Shselasky}; 2561290650Shselasky 2562290650Shselaskyunion mlx5_ifc_hca_cap_union_bits { 2563290650Shselasky struct mlx5_ifc_cmd_hca_cap_bits cmd_hca_cap; 2564290650Shselasky struct mlx5_ifc_odp_cap_bits odp_cap; 2565290650Shselasky struct mlx5_ifc_atomic_caps_bits atomic_caps; 2566290650Shselasky struct mlx5_ifc_roce_cap_bits roce_cap; 2567290650Shselasky struct mlx5_ifc_per_protocol_networking_offload_caps_bits per_protocol_networking_offload_caps; 2568290650Shselasky struct mlx5_ifc_flow_table_nic_cap_bits flow_table_nic_cap; 2569290650Shselasky struct mlx5_ifc_flow_table_eswitch_cap_bits flow_table_eswitch_cap; 2570290650Shselasky struct mlx5_ifc_e_switch_cap_bits e_switch_cap; 2571306233Shselasky struct mlx5_ifc_snapshot_cap_bits snapshot_cap; 2572306233Shselasky struct mlx5_ifc_debug_cap_bits diagnostic_counters_cap; 2573306233Shselasky struct mlx5_ifc_qos_cap_bits qos_cap; 2574290650Shselasky u8 reserved_0[0x8000]; 2575290650Shselasky}; 2576290650Shselasky 2577329200Shselaskyenum { 2578329200Shselasky MLX5_FLOW_TABLE_CONTEXT_TABLE_MISS_ACTION_DEFAULT = 0x0, 2579329200Shselasky MLX5_FLOW_TABLE_CONTEXT_TABLE_MISS_ACTION_IDENTIFIED = 0x1, 2580329200Shselasky}; 2581329200Shselasky 2582329200Shselaskystruct mlx5_ifc_flow_table_context_bits { 2583329200Shselasky u8 encap_en[0x1]; 2584329200Shselasky u8 decap_en[0x1]; 2585329200Shselasky u8 reserved_at_2[0x2]; 2586329200Shselasky u8 table_miss_action[0x4]; 2587329200Shselasky u8 level[0x8]; 2588329200Shselasky u8 reserved_at_10[0x8]; 2589329200Shselasky u8 log_size[0x8]; 2590329200Shselasky 2591329200Shselasky u8 reserved_at_20[0x8]; 2592329200Shselasky u8 table_miss_id[0x18]; 2593329200Shselasky 2594329200Shselasky u8 reserved_at_40[0x8]; 2595329200Shselasky u8 lag_master_next_table_id[0x18]; 2596329200Shselasky 2597329200Shselasky u8 reserved_at_60[0xe0]; 2598329200Shselasky}; 2599329200Shselasky 2600290650Shselaskystruct mlx5_ifc_esw_vport_context_bits { 2601290650Shselasky u8 reserved_0[0x3]; 2602290650Shselasky u8 vport_svlan_strip[0x1]; 2603290650Shselasky u8 vport_cvlan_strip[0x1]; 2604290650Shselasky u8 vport_svlan_insert[0x1]; 2605290650Shselasky u8 vport_cvlan_insert[0x2]; 2606290650Shselasky u8 reserved_1[0x18]; 2607290650Shselasky 2608290650Shselasky u8 reserved_2[0x20]; 2609290650Shselasky 2610290650Shselasky u8 svlan_cfi[0x1]; 2611290650Shselasky u8 svlan_pcp[0x3]; 2612290650Shselasky u8 svlan_id[0xc]; 2613290650Shselasky u8 cvlan_cfi[0x1]; 2614290650Shselasky u8 cvlan_pcp[0x3]; 2615290650Shselasky u8 cvlan_id[0xc]; 2616290650Shselasky 2617290650Shselasky u8 reserved_3[0x7a0]; 2618290650Shselasky}; 2619290650Shselasky 2620290650Shselaskyenum { 2621290650Shselasky MLX5_EQC_STATUS_OK = 0x0, 2622290650Shselasky MLX5_EQC_STATUS_EQ_WRITE_FAILURE = 0xa, 2623290650Shselasky}; 2624290650Shselasky 2625290650Shselaskyenum { 2626290650Shselasky MLX5_EQ_STATE_ARMED = 0x9, 2627290650Shselasky MLX5_EQ_STATE_FIRED = 0xa, 2628290650Shselasky}; 2629290650Shselasky 2630290650Shselaskystruct mlx5_ifc_eqc_bits { 2631290650Shselasky u8 status[0x4]; 2632290650Shselasky u8 reserved_0[0x9]; 2633290650Shselasky u8 ec[0x1]; 2634290650Shselasky u8 oi[0x1]; 2635290650Shselasky u8 reserved_1[0x5]; 2636290650Shselasky u8 st[0x4]; 2637290650Shselasky u8 reserved_2[0x8]; 2638290650Shselasky 2639290650Shselasky u8 reserved_3[0x20]; 2640290650Shselasky 2641290650Shselasky u8 reserved_4[0x14]; 2642290650Shselasky u8 page_offset[0x6]; 2643290650Shselasky u8 reserved_5[0x6]; 2644290650Shselasky 2645290650Shselasky u8 reserved_6[0x3]; 2646290650Shselasky u8 log_eq_size[0x5]; 2647290650Shselasky u8 uar_page[0x18]; 2648290650Shselasky 2649290650Shselasky u8 reserved_7[0x20]; 2650290650Shselasky 2651290650Shselasky u8 reserved_8[0x18]; 2652290650Shselasky u8 intr[0x8]; 2653290650Shselasky 2654290650Shselasky u8 reserved_9[0x3]; 2655290650Shselasky u8 log_page_size[0x5]; 2656290650Shselasky u8 reserved_10[0x18]; 2657290650Shselasky 2658290650Shselasky u8 reserved_11[0x60]; 2659290650Shselasky 2660290650Shselasky u8 reserved_12[0x8]; 2661290650Shselasky u8 consumer_counter[0x18]; 2662290650Shselasky 2663290650Shselasky u8 reserved_13[0x8]; 2664290650Shselasky u8 producer_counter[0x18]; 2665290650Shselasky 2666290650Shselasky u8 reserved_14[0x80]; 2667290650Shselasky}; 2668290650Shselasky 2669290650Shselaskyenum { 2670290650Shselasky MLX5_DCTC_STATE_ACTIVE = 0x0, 2671290650Shselasky MLX5_DCTC_STATE_DRAINING = 0x1, 2672290650Shselasky MLX5_DCTC_STATE_DRAINED = 0x2, 2673290650Shselasky}; 2674290650Shselasky 2675290650Shselaskyenum { 2676290650Shselasky MLX5_DCTC_CS_RES_DISABLE = 0x0, 2677290650Shselasky MLX5_DCTC_CS_RES_NA = 0x1, 2678290650Shselasky MLX5_DCTC_CS_RES_UP_TO_64B = 0x2, 2679290650Shselasky}; 2680290650Shselasky 2681290650Shselaskyenum { 2682290650Shselasky MLX5_DCTC_MTU_256_BYTES = 0x1, 2683290650Shselasky MLX5_DCTC_MTU_512_BYTES = 0x2, 2684290650Shselasky MLX5_DCTC_MTU_1K_BYTES = 0x3, 2685290650Shselasky MLX5_DCTC_MTU_2K_BYTES = 0x4, 2686290650Shselasky MLX5_DCTC_MTU_4K_BYTES = 0x5, 2687290650Shselasky}; 2688290650Shselasky 2689290650Shselaskystruct mlx5_ifc_dctc_bits { 2690290650Shselasky u8 reserved_0[0x4]; 2691290650Shselasky u8 state[0x4]; 2692290650Shselasky u8 reserved_1[0x18]; 2693290650Shselasky 2694290650Shselasky u8 reserved_2[0x8]; 2695290650Shselasky u8 user_index[0x18]; 2696290650Shselasky 2697290650Shselasky u8 reserved_3[0x8]; 2698290650Shselasky u8 cqn[0x18]; 2699290650Shselasky 2700290650Shselasky u8 counter_set_id[0x8]; 2701290650Shselasky u8 atomic_mode[0x4]; 2702290650Shselasky u8 rre[0x1]; 2703290650Shselasky u8 rwe[0x1]; 2704290650Shselasky u8 rae[0x1]; 2705290650Shselasky u8 atomic_like_write_en[0x1]; 2706290650Shselasky u8 latency_sensitive[0x1]; 2707290650Shselasky u8 rlky[0x1]; 2708290650Shselasky u8 reserved_4[0xe]; 2709290650Shselasky 2710290650Shselasky u8 reserved_5[0x8]; 2711290650Shselasky u8 cs_res[0x8]; 2712290650Shselasky u8 reserved_6[0x3]; 2713290650Shselasky u8 min_rnr_nak[0x5]; 2714290650Shselasky u8 reserved_7[0x8]; 2715290650Shselasky 2716290650Shselasky u8 reserved_8[0x8]; 2717290650Shselasky u8 srqn[0x18]; 2718290650Shselasky 2719290650Shselasky u8 reserved_9[0x8]; 2720290650Shselasky u8 pd[0x18]; 2721290650Shselasky 2722290650Shselasky u8 tclass[0x8]; 2723290650Shselasky u8 reserved_10[0x4]; 2724290650Shselasky u8 flow_label[0x14]; 2725290650Shselasky 2726290650Shselasky u8 dc_access_key[0x40]; 2727290650Shselasky 2728290650Shselasky u8 reserved_11[0x5]; 2729290650Shselasky u8 mtu[0x3]; 2730290650Shselasky u8 port[0x8]; 2731290650Shselasky u8 pkey_index[0x10]; 2732290650Shselasky 2733290650Shselasky u8 reserved_12[0x8]; 2734290650Shselasky u8 my_addr_index[0x8]; 2735290650Shselasky u8 reserved_13[0x8]; 2736290650Shselasky u8 hop_limit[0x8]; 2737290650Shselasky 2738290650Shselasky u8 dc_access_key_violation_count[0x20]; 2739290650Shselasky 2740290650Shselasky u8 reserved_14[0x14]; 2741290650Shselasky u8 dei_cfi[0x1]; 2742290650Shselasky u8 eth_prio[0x3]; 2743290650Shselasky u8 ecn[0x2]; 2744290650Shselasky u8 dscp[0x6]; 2745290650Shselasky 2746290650Shselasky u8 reserved_15[0x40]; 2747290650Shselasky}; 2748290650Shselasky 2749290650Shselaskyenum { 2750290650Shselasky MLX5_CQC_STATUS_OK = 0x0, 2751290650Shselasky MLX5_CQC_STATUS_CQ_OVERFLOW = 0x9, 2752290650Shselasky MLX5_CQC_STATUS_CQ_WRITE_FAIL = 0xa, 2753290650Shselasky}; 2754290650Shselasky 2755290650Shselaskyenum { 2756290650Shselasky CQE_SIZE_64 = 0x0, 2757290650Shselasky CQE_SIZE_128 = 0x1, 2758290650Shselasky}; 2759290650Shselasky 2760290650Shselaskyenum { 2761290650Shselasky MLX5_CQ_PERIOD_MODE_START_FROM_EQE = 0x0, 2762290650Shselasky MLX5_CQ_PERIOD_MODE_START_FROM_CQE = 0x1, 2763290650Shselasky}; 2764290650Shselasky 2765290650Shselaskyenum { 2766290650Shselasky MLX5_CQ_STATE_SOLICITED_ARMED = 0x6, 2767290650Shselasky MLX5_CQ_STATE_ARMED = 0x9, 2768290650Shselasky MLX5_CQ_STATE_FIRED = 0xa, 2769290650Shselasky}; 2770290650Shselasky 2771290650Shselaskystruct mlx5_ifc_cqc_bits { 2772290650Shselasky u8 status[0x4]; 2773290650Shselasky u8 reserved_0[0x4]; 2774290650Shselasky u8 cqe_sz[0x3]; 2775290650Shselasky u8 cc[0x1]; 2776290650Shselasky u8 reserved_1[0x1]; 2777290650Shselasky u8 scqe_break_moderation_en[0x1]; 2778290650Shselasky u8 oi[0x1]; 2779290650Shselasky u8 cq_period_mode[0x2]; 2780290650Shselasky u8 cqe_compression_en[0x1]; 2781290650Shselasky u8 mini_cqe_res_format[0x2]; 2782290650Shselasky u8 st[0x4]; 2783290650Shselasky u8 reserved_2[0x8]; 2784290650Shselasky 2785290650Shselasky u8 reserved_3[0x20]; 2786290650Shselasky 2787290650Shselasky u8 reserved_4[0x14]; 2788290650Shselasky u8 page_offset[0x6]; 2789290650Shselasky u8 reserved_5[0x6]; 2790290650Shselasky 2791290650Shselasky u8 reserved_6[0x3]; 2792290650Shselasky u8 log_cq_size[0x5]; 2793290650Shselasky u8 uar_page[0x18]; 2794290650Shselasky 2795290650Shselasky u8 reserved_7[0x4]; 2796290650Shselasky u8 cq_period[0xc]; 2797290650Shselasky u8 cq_max_count[0x10]; 2798290650Shselasky 2799290650Shselasky u8 reserved_8[0x18]; 2800290650Shselasky u8 c_eqn[0x8]; 2801290650Shselasky 2802290650Shselasky u8 reserved_9[0x3]; 2803290650Shselasky u8 log_page_size[0x5]; 2804290650Shselasky u8 reserved_10[0x18]; 2805290650Shselasky 2806290650Shselasky u8 reserved_11[0x20]; 2807290650Shselasky 2808290650Shselasky u8 reserved_12[0x8]; 2809290650Shselasky u8 last_notified_index[0x18]; 2810290650Shselasky 2811290650Shselasky u8 reserved_13[0x8]; 2812290650Shselasky u8 last_solicit_index[0x18]; 2813290650Shselasky 2814290650Shselasky u8 reserved_14[0x8]; 2815290650Shselasky u8 consumer_counter[0x18]; 2816290650Shselasky 2817290650Shselasky u8 reserved_15[0x8]; 2818290650Shselasky u8 producer_counter[0x18]; 2819290650Shselasky 2820290650Shselasky u8 reserved_16[0x40]; 2821290650Shselasky 2822290650Shselasky u8 dbr_addr[0x40]; 2823290650Shselasky}; 2824290650Shselasky 2825290650Shselaskyunion mlx5_ifc_cong_control_roce_ecn_auto_bits { 2826290650Shselasky struct mlx5_ifc_cong_control_802_1qau_rp_bits cong_control_802_1qau_rp; 2827290650Shselasky struct mlx5_ifc_cong_control_r_roce_ecn_rp_bits cong_control_r_roce_ecn_rp; 2828290650Shselasky struct mlx5_ifc_cong_control_r_roce_ecn_np_bits cong_control_r_roce_ecn_np; 2829290650Shselasky u8 reserved_0[0x800]; 2830290650Shselasky}; 2831290650Shselasky 2832290650Shselaskystruct mlx5_ifc_query_adapter_param_block_bits { 2833290650Shselasky u8 reserved_0[0xc0]; 2834290650Shselasky 2835290650Shselasky u8 reserved_1[0x8]; 2836290650Shselasky u8 ieee_vendor_id[0x18]; 2837290650Shselasky 2838290650Shselasky u8 reserved_2[0x10]; 2839290650Shselasky u8 vsd_vendor_id[0x10]; 2840290650Shselasky 2841290650Shselasky u8 vsd[208][0x8]; 2842290650Shselasky 2843290650Shselasky u8 vsd_contd_psid[16][0x8]; 2844290650Shselasky}; 2845290650Shselasky 2846290650Shselaskyunion mlx5_ifc_modify_field_select_resize_field_select_auto_bits { 2847290650Shselasky struct mlx5_ifc_modify_field_select_bits modify_field_select; 2848290650Shselasky struct mlx5_ifc_resize_field_select_bits resize_field_select; 2849290650Shselasky u8 reserved_0[0x20]; 2850290650Shselasky}; 2851290650Shselasky 2852290650Shselaskyunion mlx5_ifc_field_select_802_1_r_roce_auto_bits { 2853290650Shselasky struct mlx5_ifc_field_select_802_1qau_rp_bits field_select_802_1qau_rp; 2854290650Shselasky struct mlx5_ifc_field_select_r_roce_rp_bits field_select_r_roce_rp; 2855290650Shselasky struct mlx5_ifc_field_select_r_roce_np_bits field_select_r_roce_np; 2856290650Shselasky u8 reserved_0[0x20]; 2857290650Shselasky}; 2858290650Shselasky 2859290650Shselaskystruct mlx5_ifc_bufferx_reg_bits { 2860290650Shselasky u8 reserved_0[0x6]; 2861290650Shselasky u8 lossy[0x1]; 2862290650Shselasky u8 epsb[0x1]; 2863290650Shselasky u8 reserved_1[0xc]; 2864290650Shselasky u8 size[0xc]; 2865290650Shselasky 2866290650Shselasky u8 xoff_threshold[0x10]; 2867290650Shselasky u8 xon_threshold[0x10]; 2868290650Shselasky}; 2869290650Shselasky 2870290650Shselaskystruct mlx5_ifc_config_item_bits { 2871290650Shselasky u8 valid[0x2]; 2872290650Shselasky u8 reserved_0[0x2]; 2873290650Shselasky u8 header_type[0x2]; 2874290650Shselasky u8 reserved_1[0x2]; 2875290650Shselasky u8 default_location[0x1]; 2876290650Shselasky u8 reserved_2[0x7]; 2877290650Shselasky u8 version[0x4]; 2878290650Shselasky u8 reserved_3[0x3]; 2879290650Shselasky u8 length[0x9]; 2880290650Shselasky 2881290650Shselasky u8 type[0x20]; 2882290650Shselasky 2883290650Shselasky u8 reserved_4[0x10]; 2884290650Shselasky u8 crc16[0x10]; 2885290650Shselasky}; 2886290650Shselasky 2887290650Shselaskystruct mlx5_ifc_nodnic_port_config_reg_bits { 2888290650Shselasky struct mlx5_ifc_nodnic_event_word_bits event; 2889290650Shselasky 2890290650Shselasky u8 network_en[0x1]; 2891290650Shselasky u8 dma_en[0x1]; 2892290650Shselasky u8 promisc_en[0x1]; 2893290650Shselasky u8 promisc_multicast_en[0x1]; 2894290650Shselasky u8 reserved_0[0x17]; 2895290650Shselasky u8 receive_filter_en[0x5]; 2896290650Shselasky 2897290650Shselasky u8 reserved_1[0x10]; 2898290650Shselasky u8 mac_47_32[0x10]; 2899290650Shselasky 2900290650Shselasky u8 mac_31_0[0x20]; 2901290650Shselasky 2902290650Shselasky u8 receive_filters_mgid_mac[64][0x8]; 2903290650Shselasky 2904290650Shselasky u8 gid[16][0x8]; 2905290650Shselasky 2906290650Shselasky u8 reserved_2[0x10]; 2907290650Shselasky u8 lid[0x10]; 2908290650Shselasky 2909290650Shselasky u8 reserved_3[0xc]; 2910290650Shselasky u8 sm_sl[0x4]; 2911290650Shselasky u8 sm_lid[0x10]; 2912290650Shselasky 2913290650Shselasky u8 completion_address_63_32[0x20]; 2914290650Shselasky 2915290650Shselasky u8 completion_address_31_12[0x14]; 2916290650Shselasky u8 reserved_4[0x6]; 2917290650Shselasky u8 log_cq_size[0x6]; 2918290650Shselasky 2919290650Shselasky u8 working_buffer_address_63_32[0x20]; 2920290650Shselasky 2921290650Shselasky u8 working_buffer_address_31_12[0x14]; 2922290650Shselasky u8 reserved_5[0xc]; 2923290650Shselasky 2924290650Shselasky struct mlx5_ifc_nodnic_cq_arming_word_bits arm_cq; 2925290650Shselasky 2926290650Shselasky u8 pkey_index[0x10]; 2927290650Shselasky u8 pkey[0x10]; 2928290650Shselasky 2929290650Shselasky struct mlx5_ifc_nodnic_ring_config_reg_bits send_ring0; 2930290650Shselasky 2931290650Shselasky struct mlx5_ifc_nodnic_ring_config_reg_bits send_ring1; 2932290650Shselasky 2933290650Shselasky struct mlx5_ifc_nodnic_ring_config_reg_bits receive_ring0; 2934290650Shselasky 2935290650Shselasky struct mlx5_ifc_nodnic_ring_config_reg_bits receive_ring1; 2936290650Shselasky 2937290650Shselasky u8 reserved_6[0x400]; 2938290650Shselasky}; 2939290650Shselasky 2940290650Shselaskyunion mlx5_ifc_event_auto_bits { 2941290650Shselasky struct mlx5_ifc_comp_event_bits comp_event; 2942290650Shselasky struct mlx5_ifc_dct_events_bits dct_events; 2943290650Shselasky struct mlx5_ifc_qp_events_bits qp_events; 2944290650Shselasky struct mlx5_ifc_wqe_associated_page_fault_event_bits wqe_associated_page_fault_event; 2945290650Shselasky struct mlx5_ifc_rdma_page_fault_event_bits rdma_page_fault_event; 2946290650Shselasky struct mlx5_ifc_cq_error_bits cq_error; 2947290650Shselasky struct mlx5_ifc_dropped_packet_logged_bits dropped_packet_logged; 2948290650Shselasky struct mlx5_ifc_port_state_change_event_bits port_state_change_event; 2949290650Shselasky struct mlx5_ifc_gpio_event_bits gpio_event; 2950290650Shselasky struct mlx5_ifc_db_bf_congestion_event_bits db_bf_congestion_event; 2951290650Shselasky struct mlx5_ifc_stall_vl_event_bits stall_vl_event; 2952290650Shselasky struct mlx5_ifc_cmd_inter_comp_event_bits cmd_inter_comp_event; 2953290650Shselasky struct mlx5_ifc_pages_req_event_bits pages_req_event; 2954290650Shselasky struct mlx5_ifc_nic_vport_change_event_bits nic_vport_change_event; 2955290650Shselasky u8 reserved_0[0xe0]; 2956290650Shselasky}; 2957290650Shselasky 2958290650Shselaskystruct mlx5_ifc_health_buffer_bits { 2959290650Shselasky u8 reserved_0[0x100]; 2960290650Shselasky 2961290650Shselasky u8 assert_existptr[0x20]; 2962290650Shselasky 2963290650Shselasky u8 assert_callra[0x20]; 2964290650Shselasky 2965290650Shselasky u8 reserved_1[0x40]; 2966290650Shselasky 2967290650Shselasky u8 fw_version[0x20]; 2968290650Shselasky 2969290650Shselasky u8 hw_id[0x20]; 2970290650Shselasky 2971290650Shselasky u8 reserved_2[0x20]; 2972290650Shselasky 2973290650Shselasky u8 irisc_index[0x8]; 2974290650Shselasky u8 synd[0x8]; 2975290650Shselasky u8 ext_synd[0x10]; 2976290650Shselasky}; 2977290650Shselasky 2978290650Shselaskystruct mlx5_ifc_register_loopback_control_bits { 2979290650Shselasky u8 no_lb[0x1]; 2980290650Shselasky u8 reserved_0[0x7]; 2981290650Shselasky u8 port[0x8]; 2982290650Shselasky u8 reserved_1[0x10]; 2983290650Shselasky 2984290650Shselasky u8 reserved_2[0x60]; 2985290650Shselasky}; 2986290650Shselasky 2987306233Shselaskystruct mlx5_ifc_lrh_bits { 2988306233Shselasky u8 vl[4]; 2989306233Shselasky u8 lver[4]; 2990306233Shselasky u8 sl[4]; 2991306233Shselasky u8 reserved2[2]; 2992306233Shselasky u8 lnh[2]; 2993306233Shselasky u8 dlid[16]; 2994306233Shselasky u8 reserved5[5]; 2995306233Shselasky u8 pkt_len[11]; 2996306233Shselasky u8 slid[16]; 2997306233Shselasky}; 2998306233Shselasky 2999290650Shselaskystruct mlx5_ifc_icmd_set_wol_rol_out_bits { 3000290650Shselasky u8 reserved_0[0x40]; 3001290650Shselasky 3002290650Shselasky u8 reserved_1[0x10]; 3003290650Shselasky u8 rol_mode[0x8]; 3004290650Shselasky u8 wol_mode[0x8]; 3005290650Shselasky}; 3006290650Shselasky 3007290650Shselaskystruct mlx5_ifc_icmd_set_wol_rol_in_bits { 3008290650Shselasky u8 reserved_0[0x40]; 3009290650Shselasky 3010290650Shselasky u8 rol_mode_valid[0x1]; 3011290650Shselasky u8 wol_mode_valid[0x1]; 3012290650Shselasky u8 reserved_1[0xe]; 3013290650Shselasky u8 rol_mode[0x8]; 3014290650Shselasky u8 wol_mode[0x8]; 3015290650Shselasky 3016290650Shselasky u8 reserved_2[0x7a0]; 3017290650Shselasky}; 3018290650Shselasky 3019290650Shselaskystruct mlx5_ifc_icmd_set_virtual_mac_in_bits { 3020290650Shselasky u8 virtual_mac_en[0x1]; 3021290650Shselasky u8 mac_aux_v[0x1]; 3022290650Shselasky u8 reserved_0[0x1e]; 3023290650Shselasky 3024290650Shselasky u8 reserved_1[0x40]; 3025290650Shselasky 3026290650Shselasky struct mlx5_ifc_mac_address_layout_bits virtual_mac; 3027290650Shselasky 3028290650Shselasky u8 reserved_2[0x760]; 3029290650Shselasky}; 3030290650Shselasky 3031290650Shselaskystruct mlx5_ifc_icmd_query_virtual_mac_out_bits { 3032290650Shselasky u8 virtual_mac_en[0x1]; 3033290650Shselasky u8 mac_aux_v[0x1]; 3034290650Shselasky u8 reserved_0[0x1e]; 3035290650Shselasky 3036290650Shselasky struct mlx5_ifc_mac_address_layout_bits permanent_mac; 3037290650Shselasky 3038290650Shselasky struct mlx5_ifc_mac_address_layout_bits virtual_mac; 3039290650Shselasky 3040290650Shselasky u8 reserved_1[0x760]; 3041290650Shselasky}; 3042290650Shselasky 3043290650Shselaskystruct mlx5_ifc_icmd_query_fw_info_out_bits { 3044290650Shselasky struct mlx5_ifc_fw_version_bits fw_version; 3045290650Shselasky 3046290650Shselasky u8 reserved_0[0x10]; 3047290650Shselasky u8 hash_signature[0x10]; 3048290650Shselasky 3049290650Shselasky u8 psid[16][0x8]; 3050290650Shselasky 3051290650Shselasky u8 reserved_1[0x6e0]; 3052290650Shselasky}; 3053290650Shselasky 3054290650Shselaskystruct mlx5_ifc_icmd_query_cap_in_bits { 3055290650Shselasky u8 reserved_0[0x10]; 3056290650Shselasky u8 capability_group[0x10]; 3057290650Shselasky}; 3058290650Shselasky 3059290650Shselaskystruct mlx5_ifc_icmd_query_cap_general_bits { 3060290650Shselasky u8 nv_access[0x1]; 3061290650Shselasky u8 fw_info_psid[0x1]; 3062290650Shselasky u8 reserved_0[0x1e]; 3063290650Shselasky 3064290650Shselasky u8 reserved_1[0x16]; 3065290650Shselasky u8 rol_s[0x1]; 3066290650Shselasky u8 rol_g[0x1]; 3067290650Shselasky u8 reserved_2[0x1]; 3068290650Shselasky u8 wol_s[0x1]; 3069290650Shselasky u8 wol_g[0x1]; 3070290650Shselasky u8 wol_a[0x1]; 3071290650Shselasky u8 wol_b[0x1]; 3072290650Shselasky u8 wol_m[0x1]; 3073290650Shselasky u8 wol_u[0x1]; 3074290650Shselasky u8 wol_p[0x1]; 3075290650Shselasky}; 3076290650Shselasky 3077290650Shselaskystruct mlx5_ifc_icmd_ocbb_query_header_stats_out_bits { 3078290650Shselasky u8 status[0x8]; 3079290650Shselasky u8 reserved_0[0x18]; 3080290650Shselasky 3081290650Shselasky u8 reserved_1[0x7e0]; 3082290650Shselasky}; 3083290650Shselasky 3084290650Shselaskystruct mlx5_ifc_icmd_ocbb_query_etoc_stats_out_bits { 3085290650Shselasky u8 status[0x8]; 3086290650Shselasky u8 reserved_0[0x18]; 3087290650Shselasky 3088290650Shselasky u8 reserved_1[0x7e0]; 3089290650Shselasky}; 3090290650Shselasky 3091290650Shselaskystruct mlx5_ifc_icmd_ocbb_init_in_bits { 3092290650Shselasky u8 address_hi[0x20]; 3093290650Shselasky 3094290650Shselasky u8 address_lo[0x20]; 3095290650Shselasky 3096290650Shselasky u8 reserved_0[0x7c0]; 3097290650Shselasky}; 3098290650Shselasky 3099290650Shselaskystruct mlx5_ifc_icmd_init_ocsd_in_bits { 3100290650Shselasky u8 reserved_0[0x20]; 3101290650Shselasky 3102290650Shselasky u8 address_hi[0x20]; 3103290650Shselasky 3104290650Shselasky u8 address_lo[0x20]; 3105290650Shselasky 3106290650Shselasky u8 reserved_1[0x7a0]; 3107290650Shselasky}; 3108290650Shselasky 3109290650Shselaskystruct mlx5_ifc_icmd_access_reg_out_bits { 3110290650Shselasky u8 reserved_0[0x11]; 3111290650Shselasky u8 status[0x7]; 3112290650Shselasky u8 reserved_1[0x8]; 3113290650Shselasky 3114290650Shselasky u8 register_id[0x10]; 3115290650Shselasky u8 reserved_2[0x10]; 3116290650Shselasky 3117290650Shselasky u8 reserved_3[0x40]; 3118290650Shselasky 3119290650Shselasky u8 reserved_4[0x5]; 3120290650Shselasky u8 len[0xb]; 3121290650Shselasky u8 reserved_5[0x10]; 3122290650Shselasky 3123290650Shselasky u8 register_data[0][0x20]; 3124290650Shselasky}; 3125290650Shselasky 3126290650Shselaskyenum { 3127290650Shselasky MLX5_ICMD_ACCESS_REG_IN_METHOD_QUERY = 0x1, 3128290650Shselasky MLX5_ICMD_ACCESS_REG_IN_METHOD_WRITE = 0x2, 3129290650Shselasky}; 3130290650Shselasky 3131290650Shselaskystruct mlx5_ifc_icmd_access_reg_in_bits { 3132290650Shselasky u8 constant_1[0x5]; 3133290650Shselasky u8 constant_2[0xb]; 3134290650Shselasky u8 reserved_0[0x10]; 3135290650Shselasky 3136290650Shselasky u8 register_id[0x10]; 3137290650Shselasky u8 reserved_1[0x1]; 3138290650Shselasky u8 method[0x7]; 3139290650Shselasky u8 constant_3[0x8]; 3140290650Shselasky 3141290650Shselasky u8 reserved_2[0x40]; 3142290650Shselasky 3143290650Shselasky u8 constant_4[0x5]; 3144290650Shselasky u8 len[0xb]; 3145290650Shselasky u8 reserved_3[0x10]; 3146290650Shselasky 3147290650Shselasky u8 register_data[0][0x20]; 3148290650Shselasky}; 3149290650Shselasky 3150290650Shselaskystruct mlx5_ifc_teardown_hca_out_bits { 3151290650Shselasky u8 status[0x8]; 3152290650Shselasky u8 reserved_0[0x18]; 3153290650Shselasky 3154290650Shselasky u8 syndrome[0x20]; 3155290650Shselasky 3156290650Shselasky u8 reserved_1[0x40]; 3157290650Shselasky}; 3158290650Shselasky 3159290650Shselaskyenum { 3160290650Shselasky MLX5_TEARDOWN_HCA_IN_PROFILE_GRACEFUL_CLOSE = 0x0, 3161290650Shselasky MLX5_TEARDOWN_HCA_IN_PROFILE_PANIC_CLOSE = 0x1, 3162290650Shselasky}; 3163290650Shselasky 3164290650Shselaskystruct mlx5_ifc_teardown_hca_in_bits { 3165290650Shselasky u8 opcode[0x10]; 3166290650Shselasky u8 reserved_0[0x10]; 3167290650Shselasky 3168290650Shselasky u8 reserved_1[0x10]; 3169290650Shselasky u8 op_mod[0x10]; 3170290650Shselasky 3171290650Shselasky u8 reserved_2[0x10]; 3172290650Shselasky u8 profile[0x10]; 3173290650Shselasky 3174290650Shselasky u8 reserved_3[0x20]; 3175290650Shselasky}; 3176290650Shselasky 3177321992Shselaskystruct mlx5_ifc_set_delay_drop_params_out_bits { 3178321992Shselasky u8 status[0x8]; 3179321992Shselasky u8 reserved_at_8[0x18]; 3180321992Shselasky 3181321992Shselasky u8 syndrome[0x20]; 3182321992Shselasky 3183321992Shselasky u8 reserved_at_40[0x40]; 3184321992Shselasky}; 3185321992Shselasky 3186321992Shselaskystruct mlx5_ifc_set_delay_drop_params_in_bits { 3187321992Shselasky u8 opcode[0x10]; 3188321992Shselasky u8 reserved_at_10[0x10]; 3189321992Shselasky 3190321992Shselasky u8 reserved_at_20[0x10]; 3191321992Shselasky u8 op_mod[0x10]; 3192321992Shselasky 3193321992Shselasky u8 reserved_at_40[0x20]; 3194321992Shselasky 3195321992Shselasky u8 reserved_at_60[0x10]; 3196321992Shselasky u8 delay_drop_timeout[0x10]; 3197321992Shselasky}; 3198321992Shselasky 3199321992Shselaskystruct mlx5_ifc_query_delay_drop_params_out_bits { 3200321992Shselasky u8 status[0x8]; 3201321992Shselasky u8 reserved_at_8[0x18]; 3202321992Shselasky 3203321992Shselasky u8 syndrome[0x20]; 3204321992Shselasky 3205321992Shselasky u8 reserved_at_40[0x20]; 3206321992Shselasky 3207321992Shselasky u8 reserved_at_60[0x10]; 3208321992Shselasky u8 delay_drop_timeout[0x10]; 3209321992Shselasky}; 3210321992Shselasky 3211321992Shselaskystruct mlx5_ifc_query_delay_drop_params_in_bits { 3212321992Shselasky u8 opcode[0x10]; 3213321992Shselasky u8 reserved_at_10[0x10]; 3214321992Shselasky 3215321992Shselasky u8 reserved_at_20[0x10]; 3216321992Shselasky u8 op_mod[0x10]; 3217321992Shselasky 3218321992Shselasky u8 reserved_at_40[0x40]; 3219321992Shselasky}; 3220321992Shselasky 3221290650Shselaskystruct mlx5_ifc_suspend_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_suspend_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_sqerr2rts_qp_out_bits { 3244290650Shselasky u8 status[0x8]; 3245290650Shselasky u8 reserved_0[0x18]; 3246290650Shselasky 3247290650Shselasky u8 syndrome[0x20]; 3248290650Shselasky 3249290650Shselasky u8 reserved_1[0x40]; 3250290650Shselasky}; 3251290650Shselasky 3252290650Shselaskystruct mlx5_ifc_sqerr2rts_qp_in_bits { 3253290650Shselasky u8 opcode[0x10]; 3254290650Shselasky u8 reserved_0[0x10]; 3255290650Shselasky 3256290650Shselasky u8 reserved_1[0x10]; 3257290650Shselasky u8 op_mod[0x10]; 3258290650Shselasky 3259290650Shselasky u8 reserved_2[0x8]; 3260290650Shselasky u8 qpn[0x18]; 3261290650Shselasky 3262290650Shselasky u8 reserved_3[0x20]; 3263290650Shselasky 3264290650Shselasky u8 opt_param_mask[0x20]; 3265290650Shselasky 3266290650Shselasky u8 reserved_4[0x20]; 3267290650Shselasky 3268290650Shselasky struct mlx5_ifc_qpc_bits qpc; 3269290650Shselasky 3270290650Shselasky u8 reserved_5[0x80]; 3271290650Shselasky}; 3272290650Shselasky 3273290650Shselaskystruct mlx5_ifc_sqd2rts_qp_out_bits { 3274290650Shselasky u8 status[0x8]; 3275290650Shselasky u8 reserved_0[0x18]; 3276290650Shselasky 3277290650Shselasky u8 syndrome[0x20]; 3278290650Shselasky 3279290650Shselasky u8 reserved_1[0x40]; 3280290650Shselasky}; 3281290650Shselasky 3282290650Shselaskystruct mlx5_ifc_sqd2rts_qp_in_bits { 3283290650Shselasky u8 opcode[0x10]; 3284290650Shselasky u8 reserved_0[0x10]; 3285290650Shselasky 3286290650Shselasky u8 reserved_1[0x10]; 3287290650Shselasky u8 op_mod[0x10]; 3288290650Shselasky 3289290650Shselasky u8 reserved_2[0x8]; 3290290650Shselasky u8 qpn[0x18]; 3291290650Shselasky 3292290650Shselasky u8 reserved_3[0x20]; 3293290650Shselasky 3294290650Shselasky u8 opt_param_mask[0x20]; 3295290650Shselasky 3296290650Shselasky u8 reserved_4[0x20]; 3297290650Shselasky 3298290650Shselasky struct mlx5_ifc_qpc_bits qpc; 3299290650Shselasky 3300290650Shselasky u8 reserved_5[0x80]; 3301290650Shselasky}; 3302290650Shselasky 3303290650Shselaskystruct mlx5_ifc_set_wol_rol_out_bits { 3304290650Shselasky u8 status[0x8]; 3305290650Shselasky u8 reserved_0[0x18]; 3306290650Shselasky 3307290650Shselasky u8 syndrome[0x20]; 3308290650Shselasky 3309290650Shselasky u8 reserved_1[0x40]; 3310290650Shselasky}; 3311290650Shselasky 3312290650Shselaskystruct mlx5_ifc_set_wol_rol_in_bits { 3313290650Shselasky u8 opcode[0x10]; 3314290650Shselasky u8 reserved_0[0x10]; 3315290650Shselasky 3316290650Shselasky u8 reserved_1[0x10]; 3317290650Shselasky u8 op_mod[0x10]; 3318290650Shselasky 3319290650Shselasky u8 rol_mode_valid[0x1]; 3320290650Shselasky u8 wol_mode_valid[0x1]; 3321290650Shselasky u8 reserved_2[0xe]; 3322290650Shselasky u8 rol_mode[0x8]; 3323290650Shselasky u8 wol_mode[0x8]; 3324290650Shselasky 3325290650Shselasky u8 reserved_3[0x20]; 3326290650Shselasky}; 3327290650Shselasky 3328290650Shselaskystruct mlx5_ifc_set_roce_address_out_bits { 3329290650Shselasky u8 status[0x8]; 3330290650Shselasky u8 reserved_0[0x18]; 3331290650Shselasky 3332290650Shselasky u8 syndrome[0x20]; 3333290650Shselasky 3334290650Shselasky u8 reserved_1[0x40]; 3335290650Shselasky}; 3336290650Shselasky 3337290650Shselaskystruct mlx5_ifc_set_roce_address_in_bits { 3338290650Shselasky u8 opcode[0x10]; 3339290650Shselasky u8 reserved_0[0x10]; 3340290650Shselasky 3341290650Shselasky u8 reserved_1[0x10]; 3342290650Shselasky u8 op_mod[0x10]; 3343290650Shselasky 3344290650Shselasky u8 roce_address_index[0x10]; 3345290650Shselasky u8 reserved_2[0x10]; 3346290650Shselasky 3347290650Shselasky u8 reserved_3[0x20]; 3348290650Shselasky 3349290650Shselasky struct mlx5_ifc_roce_addr_layout_bits roce_address; 3350290650Shselasky}; 3351290650Shselasky 3352290650Shselaskystruct mlx5_ifc_set_rdb_out_bits { 3353290650Shselasky u8 status[0x8]; 3354290650Shselasky u8 reserved_0[0x18]; 3355290650Shselasky 3356290650Shselasky u8 syndrome[0x20]; 3357290650Shselasky 3358290650Shselasky u8 reserved_1[0x40]; 3359290650Shselasky}; 3360290650Shselasky 3361290650Shselaskystruct mlx5_ifc_set_rdb_in_bits { 3362290650Shselasky u8 opcode[0x10]; 3363290650Shselasky u8 reserved_0[0x10]; 3364290650Shselasky 3365290650Shselasky u8 reserved_1[0x10]; 3366290650Shselasky u8 op_mod[0x10]; 3367290650Shselasky 3368290650Shselasky u8 reserved_2[0x8]; 3369290650Shselasky u8 qpn[0x18]; 3370290650Shselasky 3371290650Shselasky u8 reserved_3[0x18]; 3372290650Shselasky u8 rdb_list_size[0x8]; 3373290650Shselasky 3374290650Shselasky struct mlx5_ifc_rdbc_bits rdb_context[0]; 3375290650Shselasky}; 3376290650Shselasky 3377290650Shselaskystruct mlx5_ifc_set_mad_demux_out_bits { 3378290650Shselasky u8 status[0x8]; 3379290650Shselasky u8 reserved_0[0x18]; 3380290650Shselasky 3381290650Shselasky u8 syndrome[0x20]; 3382290650Shselasky 3383290650Shselasky u8 reserved_1[0x40]; 3384290650Shselasky}; 3385290650Shselasky 3386290650Shselaskyenum { 3387290650Shselasky MLX5_SET_MAD_DEMUX_IN_DEMUX_MODE_PASS_ALL = 0x0, 3388290650Shselasky MLX5_SET_MAD_DEMUX_IN_DEMUX_MODE_SELECTIVE = 0x2, 3389290650Shselasky}; 3390290650Shselasky 3391290650Shselaskystruct mlx5_ifc_set_mad_demux_in_bits { 3392290650Shselasky u8 opcode[0x10]; 3393290650Shselasky u8 reserved_0[0x10]; 3394290650Shselasky 3395290650Shselasky u8 reserved_1[0x10]; 3396290650Shselasky u8 op_mod[0x10]; 3397290650Shselasky 3398290650Shselasky u8 reserved_2[0x20]; 3399290650Shselasky 3400290650Shselasky u8 reserved_3[0x6]; 3401290650Shselasky u8 demux_mode[0x2]; 3402290650Shselasky u8 reserved_4[0x18]; 3403290650Shselasky}; 3404290650Shselasky 3405290650Shselaskystruct mlx5_ifc_set_l2_table_entry_out_bits { 3406290650Shselasky u8 status[0x8]; 3407290650Shselasky u8 reserved_0[0x18]; 3408290650Shselasky 3409290650Shselasky u8 syndrome[0x20]; 3410290650Shselasky 3411290650Shselasky u8 reserved_1[0x40]; 3412290650Shselasky}; 3413290650Shselasky 3414290650Shselaskystruct mlx5_ifc_set_l2_table_entry_in_bits { 3415290650Shselasky u8 opcode[0x10]; 3416290650Shselasky u8 reserved_0[0x10]; 3417290650Shselasky 3418290650Shselasky u8 reserved_1[0x10]; 3419290650Shselasky u8 op_mod[0x10]; 3420290650Shselasky 3421290650Shselasky u8 reserved_2[0x60]; 3422290650Shselasky 3423290650Shselasky u8 reserved_3[0x8]; 3424290650Shselasky u8 table_index[0x18]; 3425290650Shselasky 3426290650Shselasky u8 reserved_4[0x20]; 3427290650Shselasky 3428290650Shselasky u8 reserved_5[0x13]; 3429290650Shselasky u8 vlan_valid[0x1]; 3430290650Shselasky u8 vlan[0xc]; 3431290650Shselasky 3432290650Shselasky struct mlx5_ifc_mac_address_layout_bits mac_address; 3433290650Shselasky 3434290650Shselasky u8 reserved_6[0xc0]; 3435290650Shselasky}; 3436290650Shselasky 3437290650Shselaskystruct mlx5_ifc_set_issi_out_bits { 3438290650Shselasky u8 status[0x8]; 3439290650Shselasky u8 reserved_0[0x18]; 3440290650Shselasky 3441290650Shselasky u8 syndrome[0x20]; 3442290650Shselasky 3443290650Shselasky u8 reserved_1[0x40]; 3444290650Shselasky}; 3445290650Shselasky 3446290650Shselaskystruct mlx5_ifc_set_issi_in_bits { 3447290650Shselasky u8 opcode[0x10]; 3448290650Shselasky u8 reserved_0[0x10]; 3449290650Shselasky 3450290650Shselasky u8 reserved_1[0x10]; 3451290650Shselasky u8 op_mod[0x10]; 3452290650Shselasky 3453290650Shselasky u8 reserved_2[0x10]; 3454290650Shselasky u8 current_issi[0x10]; 3455290650Shselasky 3456290650Shselasky u8 reserved_3[0x20]; 3457290650Shselasky}; 3458290650Shselasky 3459290650Shselaskystruct mlx5_ifc_set_hca_cap_out_bits { 3460290650Shselasky u8 status[0x8]; 3461290650Shselasky u8 reserved_0[0x18]; 3462290650Shselasky 3463290650Shselasky u8 syndrome[0x20]; 3464290650Shselasky 3465290650Shselasky u8 reserved_1[0x40]; 3466290650Shselasky}; 3467290650Shselasky 3468290650Shselaskystruct mlx5_ifc_set_hca_cap_in_bits { 3469290650Shselasky u8 opcode[0x10]; 3470290650Shselasky u8 reserved_0[0x10]; 3471290650Shselasky 3472290650Shselasky u8 reserved_1[0x10]; 3473290650Shselasky u8 op_mod[0x10]; 3474290650Shselasky 3475290650Shselasky u8 reserved_2[0x40]; 3476290650Shselasky 3477290650Shselasky union mlx5_ifc_hca_cap_union_bits capability; 3478290650Shselasky}; 3479290650Shselasky 3480306233Shselaskyenum { 3481306233Shselasky MLX5_SET_FTE_MODIFY_ENABLE_MASK_ACTION = 0x0, 3482306233Shselasky MLX5_SET_FTE_MODIFY_ENABLE_MASK_FLOW_TAG = 0x1, 3483306233Shselasky MLX5_SET_FTE_MODIFY_ENABLE_MASK_DESTINATION_LIST = 0x2, 3484306233Shselasky MLX5_SET_FTE_MODIFY_ENABLE_MASK_FLOW_COUNTERS = 0x3 3485306233Shselasky}; 3486306233Shselasky 3487290650Shselaskystruct mlx5_ifc_set_flow_table_root_out_bits { 3488290650Shselasky u8 status[0x8]; 3489290650Shselasky u8 reserved_0[0x18]; 3490290650Shselasky 3491290650Shselasky u8 syndrome[0x20]; 3492290650Shselasky 3493290650Shselasky u8 reserved_1[0x40]; 3494290650Shselasky}; 3495290650Shselasky 3496290650Shselaskystruct mlx5_ifc_set_flow_table_root_in_bits { 3497290650Shselasky u8 opcode[0x10]; 3498290650Shselasky u8 reserved_0[0x10]; 3499290650Shselasky 3500290650Shselasky u8 reserved_1[0x10]; 3501290650Shselasky u8 op_mod[0x10]; 3502290650Shselasky 3503290650Shselasky u8 other_vport[0x1]; 3504290650Shselasky u8 reserved_2[0xf]; 3505290650Shselasky u8 vport_number[0x10]; 3506290650Shselasky 3507290650Shselasky u8 reserved_3[0x20]; 3508290650Shselasky 3509290650Shselasky u8 table_type[0x8]; 3510290650Shselasky u8 reserved_4[0x18]; 3511290650Shselasky 3512290650Shselasky u8 reserved_5[0x8]; 3513290650Shselasky u8 table_id[0x18]; 3514290650Shselasky 3515306233Shselasky u8 reserved_6[0x8]; 3516306233Shselasky u8 underlay_qpn[0x18]; 3517306233Shselasky 3518306233Shselasky u8 reserved_7[0x120]; 3519290650Shselasky}; 3520290650Shselasky 3521290650Shselaskystruct mlx5_ifc_set_fte_out_bits { 3522290650Shselasky u8 status[0x8]; 3523290650Shselasky u8 reserved_0[0x18]; 3524290650Shselasky 3525290650Shselasky u8 syndrome[0x20]; 3526290650Shselasky 3527290650Shselasky u8 reserved_1[0x40]; 3528290650Shselasky}; 3529290650Shselasky 3530290650Shselaskystruct mlx5_ifc_set_fte_in_bits { 3531290650Shselasky u8 opcode[0x10]; 3532290650Shselasky u8 reserved_0[0x10]; 3533290650Shselasky 3534290650Shselasky u8 reserved_1[0x10]; 3535290650Shselasky u8 op_mod[0x10]; 3536290650Shselasky 3537290650Shselasky u8 other_vport[0x1]; 3538290650Shselasky u8 reserved_2[0xf]; 3539290650Shselasky u8 vport_number[0x10]; 3540290650Shselasky 3541290650Shselasky u8 reserved_3[0x20]; 3542290650Shselasky 3543290650Shselasky u8 table_type[0x8]; 3544290650Shselasky u8 reserved_4[0x18]; 3545290650Shselasky 3546290650Shselasky u8 reserved_5[0x8]; 3547290650Shselasky u8 table_id[0x18]; 3548290650Shselasky 3549290650Shselasky u8 reserved_6[0x18]; 3550290650Shselasky u8 modify_enable_mask[0x8]; 3551290650Shselasky 3552290650Shselasky u8 reserved_7[0x20]; 3553290650Shselasky 3554290650Shselasky u8 flow_index[0x20]; 3555290650Shselasky 3556290650Shselasky u8 reserved_8[0xe0]; 3557290650Shselasky 3558290650Shselasky struct mlx5_ifc_flow_context_bits flow_context; 3559290650Shselasky}; 3560290650Shselasky 3561290650Shselaskystruct mlx5_ifc_set_driver_version_out_bits { 3562290650Shselasky u8 status[0x8]; 3563290650Shselasky u8 reserved_0[0x18]; 3564290650Shselasky 3565290650Shselasky u8 syndrome[0x20]; 3566290650Shselasky 3567290650Shselasky u8 reserved_1[0x40]; 3568290650Shselasky}; 3569290650Shselasky 3570290650Shselaskystruct mlx5_ifc_set_driver_version_in_bits { 3571290650Shselasky u8 opcode[0x10]; 3572290650Shselasky u8 reserved_0[0x10]; 3573290650Shselasky 3574290650Shselasky u8 reserved_1[0x10]; 3575290650Shselasky u8 op_mod[0x10]; 3576290650Shselasky 3577290650Shselasky u8 reserved_2[0x40]; 3578290650Shselasky 3579290650Shselasky u8 driver_version[64][0x8]; 3580290650Shselasky}; 3581290650Shselasky 3582290650Shselaskystruct mlx5_ifc_set_dc_cnak_trace_out_bits { 3583290650Shselasky u8 status[0x8]; 3584290650Shselasky u8 reserved_0[0x18]; 3585290650Shselasky 3586290650Shselasky u8 syndrome[0x20]; 3587290650Shselasky 3588290650Shselasky u8 reserved_1[0x40]; 3589290650Shselasky}; 3590290650Shselasky 3591290650Shselaskystruct mlx5_ifc_set_dc_cnak_trace_in_bits { 3592290650Shselasky u8 opcode[0x10]; 3593290650Shselasky u8 reserved_0[0x10]; 3594290650Shselasky 3595290650Shselasky u8 reserved_1[0x10]; 3596290650Shselasky u8 op_mod[0x10]; 3597290650Shselasky 3598290650Shselasky u8 enable[0x1]; 3599290650Shselasky u8 reserved_2[0x1f]; 3600290650Shselasky 3601290650Shselasky u8 reserved_3[0x160]; 3602290650Shselasky 3603290650Shselasky struct mlx5_ifc_cmd_pas_bits pas; 3604290650Shselasky}; 3605290650Shselasky 3606290650Shselaskystruct mlx5_ifc_set_burst_size_out_bits { 3607290650Shselasky u8 status[0x8]; 3608290650Shselasky u8 reserved_0[0x18]; 3609290650Shselasky 3610290650Shselasky u8 syndrome[0x20]; 3611290650Shselasky 3612290650Shselasky u8 reserved_1[0x40]; 3613290650Shselasky}; 3614290650Shselasky 3615290650Shselaskystruct mlx5_ifc_set_burst_size_in_bits { 3616290650Shselasky u8 opcode[0x10]; 3617290650Shselasky u8 reserved_0[0x10]; 3618290650Shselasky 3619290650Shselasky u8 reserved_1[0x10]; 3620290650Shselasky u8 op_mod[0x10]; 3621290650Shselasky 3622290650Shselasky u8 reserved_2[0x20]; 3623290650Shselasky 3624290650Shselasky u8 reserved_3[0x9]; 3625290650Shselasky u8 device_burst_size[0x17]; 3626290650Shselasky}; 3627290650Shselasky 3628290650Shselaskystruct mlx5_ifc_rts2rts_qp_out_bits { 3629290650Shselasky u8 status[0x8]; 3630290650Shselasky u8 reserved_0[0x18]; 3631290650Shselasky 3632290650Shselasky u8 syndrome[0x20]; 3633290650Shselasky 3634290650Shselasky u8 reserved_1[0x40]; 3635290650Shselasky}; 3636290650Shselasky 3637290650Shselaskystruct mlx5_ifc_rts2rts_qp_in_bits { 3638290650Shselasky u8 opcode[0x10]; 3639290650Shselasky u8 reserved_0[0x10]; 3640290650Shselasky 3641290650Shselasky u8 reserved_1[0x10]; 3642290650Shselasky u8 op_mod[0x10]; 3643290650Shselasky 3644290650Shselasky u8 reserved_2[0x8]; 3645290650Shselasky u8 qpn[0x18]; 3646290650Shselasky 3647290650Shselasky u8 reserved_3[0x20]; 3648290650Shselasky 3649290650Shselasky u8 opt_param_mask[0x20]; 3650290650Shselasky 3651290650Shselasky u8 reserved_4[0x20]; 3652290650Shselasky 3653290650Shselasky struct mlx5_ifc_qpc_bits qpc; 3654290650Shselasky 3655290650Shselasky u8 reserved_5[0x80]; 3656290650Shselasky}; 3657290650Shselasky 3658290650Shselaskystruct mlx5_ifc_rtr2rts_qp_out_bits { 3659290650Shselasky u8 status[0x8]; 3660290650Shselasky u8 reserved_0[0x18]; 3661290650Shselasky 3662290650Shselasky u8 syndrome[0x20]; 3663290650Shselasky 3664290650Shselasky u8 reserved_1[0x40]; 3665290650Shselasky}; 3666290650Shselasky 3667290650Shselaskystruct mlx5_ifc_rtr2rts_qp_in_bits { 3668290650Shselasky u8 opcode[0x10]; 3669290650Shselasky u8 reserved_0[0x10]; 3670290650Shselasky 3671290650Shselasky u8 reserved_1[0x10]; 3672290650Shselasky u8 op_mod[0x10]; 3673290650Shselasky 3674290650Shselasky u8 reserved_2[0x8]; 3675290650Shselasky u8 qpn[0x18]; 3676290650Shselasky 3677290650Shselasky u8 reserved_3[0x20]; 3678290650Shselasky 3679290650Shselasky u8 opt_param_mask[0x20]; 3680290650Shselasky 3681290650Shselasky u8 reserved_4[0x20]; 3682290650Shselasky 3683290650Shselasky struct mlx5_ifc_qpc_bits qpc; 3684290650Shselasky 3685290650Shselasky u8 reserved_5[0x80]; 3686290650Shselasky}; 3687290650Shselasky 3688290650Shselaskystruct mlx5_ifc_rst2init_qp_out_bits { 3689290650Shselasky u8 status[0x8]; 3690290650Shselasky u8 reserved_0[0x18]; 3691290650Shselasky 3692290650Shselasky u8 syndrome[0x20]; 3693290650Shselasky 3694290650Shselasky u8 reserved_1[0x40]; 3695290650Shselasky}; 3696290650Shselasky 3697290650Shselaskystruct mlx5_ifc_rst2init_qp_in_bits { 3698290650Shselasky u8 opcode[0x10]; 3699290650Shselasky u8 reserved_0[0x10]; 3700290650Shselasky 3701290650Shselasky u8 reserved_1[0x10]; 3702290650Shselasky u8 op_mod[0x10]; 3703290650Shselasky 3704290650Shselasky u8 reserved_2[0x8]; 3705290650Shselasky u8 qpn[0x18]; 3706290650Shselasky 3707290650Shselasky u8 reserved_3[0x20]; 3708290650Shselasky 3709290650Shselasky u8 opt_param_mask[0x20]; 3710290650Shselasky 3711290650Shselasky u8 reserved_4[0x20]; 3712290650Shselasky 3713290650Shselasky struct mlx5_ifc_qpc_bits qpc; 3714290650Shselasky 3715290650Shselasky u8 reserved_5[0x80]; 3716290650Shselasky}; 3717290650Shselasky 3718290650Shselaskystruct mlx5_ifc_resume_qp_out_bits { 3719290650Shselasky u8 status[0x8]; 3720290650Shselasky u8 reserved_0[0x18]; 3721290650Shselasky 3722290650Shselasky u8 syndrome[0x20]; 3723290650Shselasky 3724290650Shselasky u8 reserved_1[0x40]; 3725290650Shselasky}; 3726290650Shselasky 3727290650Shselaskystruct mlx5_ifc_resume_qp_in_bits { 3728290650Shselasky u8 opcode[0x10]; 3729290650Shselasky u8 reserved_0[0x10]; 3730290650Shselasky 3731290650Shselasky u8 reserved_1[0x10]; 3732290650Shselasky u8 op_mod[0x10]; 3733290650Shselasky 3734290650Shselasky u8 reserved_2[0x8]; 3735290650Shselasky u8 qpn[0x18]; 3736290650Shselasky 3737290650Shselasky u8 reserved_3[0x20]; 3738290650Shselasky}; 3739290650Shselasky 3740290650Shselaskystruct mlx5_ifc_query_xrc_srq_out_bits { 3741290650Shselasky u8 status[0x8]; 3742290650Shselasky u8 reserved_0[0x18]; 3743290650Shselasky 3744290650Shselasky u8 syndrome[0x20]; 3745290650Shselasky 3746290650Shselasky u8 reserved_1[0x40]; 3747290650Shselasky 3748290650Shselasky struct mlx5_ifc_xrc_srqc_bits xrc_srq_context_entry; 3749290650Shselasky 3750290650Shselasky u8 reserved_2[0x600]; 3751290650Shselasky 3752290650Shselasky u8 pas[0][0x40]; 3753290650Shselasky}; 3754290650Shselasky 3755290650Shselaskystruct mlx5_ifc_query_xrc_srq_in_bits { 3756290650Shselasky u8 opcode[0x10]; 3757290650Shselasky u8 reserved_0[0x10]; 3758290650Shselasky 3759290650Shselasky u8 reserved_1[0x10]; 3760290650Shselasky u8 op_mod[0x10]; 3761290650Shselasky 3762290650Shselasky u8 reserved_2[0x8]; 3763290650Shselasky u8 xrc_srqn[0x18]; 3764290650Shselasky 3765290650Shselasky u8 reserved_3[0x20]; 3766290650Shselasky}; 3767290650Shselasky 3768290650Shselaskystruct mlx5_ifc_query_wol_rol_out_bits { 3769290650Shselasky u8 status[0x8]; 3770290650Shselasky u8 reserved_0[0x18]; 3771290650Shselasky 3772290650Shselasky u8 syndrome[0x20]; 3773290650Shselasky 3774290650Shselasky u8 reserved_1[0x10]; 3775290650Shselasky u8 rol_mode[0x8]; 3776290650Shselasky u8 wol_mode[0x8]; 3777290650Shselasky 3778290650Shselasky u8 reserved_2[0x20]; 3779290650Shselasky}; 3780290650Shselasky 3781290650Shselaskystruct mlx5_ifc_query_wol_rol_in_bits { 3782290650Shselasky u8 opcode[0x10]; 3783290650Shselasky u8 reserved_0[0x10]; 3784290650Shselasky 3785290650Shselasky u8 reserved_1[0x10]; 3786290650Shselasky u8 op_mod[0x10]; 3787290650Shselasky 3788290650Shselasky u8 reserved_2[0x40]; 3789290650Shselasky}; 3790290650Shselasky 3791290650Shselaskyenum { 3792290650Shselasky MLX5_QUERY_VPORT_STATE_OUT_STATE_DOWN = 0x0, 3793290650Shselasky MLX5_QUERY_VPORT_STATE_OUT_STATE_UP = 0x1, 3794290650Shselasky}; 3795290650Shselasky 3796290650Shselaskystruct mlx5_ifc_query_vport_state_out_bits { 3797290650Shselasky u8 status[0x8]; 3798290650Shselasky u8 reserved_0[0x18]; 3799290650Shselasky 3800290650Shselasky u8 syndrome[0x20]; 3801290650Shselasky 3802290650Shselasky u8 reserved_1[0x20]; 3803290650Shselasky 3804290650Shselasky u8 reserved_2[0x18]; 3805290650Shselasky u8 admin_state[0x4]; 3806290650Shselasky u8 state[0x4]; 3807290650Shselasky}; 3808290650Shselasky 3809290650Shselaskyenum { 3810290650Shselasky MLX5_QUERY_VPORT_STATE_IN_OP_MOD_VNIC_VPORT = 0x0, 3811290650Shselasky MLX5_QUERY_VPORT_STATE_IN_OP_MOD_ESW_VPORT = 0x1, 3812290650Shselasky MLX5_QUERY_VPORT_STATE_IN_OP_MOD_UPLINK = 0x2, 3813290650Shselasky}; 3814290650Shselasky 3815290650Shselaskystruct mlx5_ifc_query_vport_state_in_bits { 3816290650Shselasky u8 opcode[0x10]; 3817290650Shselasky u8 reserved_0[0x10]; 3818290650Shselasky 3819290650Shselasky u8 reserved_1[0x10]; 3820290650Shselasky u8 op_mod[0x10]; 3821290650Shselasky 3822290650Shselasky u8 other_vport[0x1]; 3823290650Shselasky u8 reserved_2[0xf]; 3824290650Shselasky u8 vport_number[0x10]; 3825290650Shselasky 3826290650Shselasky u8 reserved_3[0x20]; 3827290650Shselasky}; 3828290650Shselasky 3829290650Shselaskystruct mlx5_ifc_query_vport_counter_out_bits { 3830290650Shselasky u8 status[0x8]; 3831290650Shselasky u8 reserved_0[0x18]; 3832290650Shselasky 3833290650Shselasky u8 syndrome[0x20]; 3834290650Shselasky 3835290650Shselasky u8 reserved_1[0x40]; 3836290650Shselasky 3837290650Shselasky struct mlx5_ifc_traffic_counter_bits received_errors; 3838290650Shselasky 3839290650Shselasky struct mlx5_ifc_traffic_counter_bits transmit_errors; 3840290650Shselasky 3841290650Shselasky struct mlx5_ifc_traffic_counter_bits received_ib_unicast; 3842290650Shselasky 3843290650Shselasky struct mlx5_ifc_traffic_counter_bits transmitted_ib_unicast; 3844290650Shselasky 3845290650Shselasky struct mlx5_ifc_traffic_counter_bits received_ib_multicast; 3846290650Shselasky 3847290650Shselasky struct mlx5_ifc_traffic_counter_bits transmitted_ib_multicast; 3848290650Shselasky 3849290650Shselasky struct mlx5_ifc_traffic_counter_bits received_eth_broadcast; 3850290650Shselasky 3851290650Shselasky struct mlx5_ifc_traffic_counter_bits transmitted_eth_broadcast; 3852290650Shselasky 3853290650Shselasky struct mlx5_ifc_traffic_counter_bits received_eth_unicast; 3854290650Shselasky 3855290650Shselasky struct mlx5_ifc_traffic_counter_bits transmitted_eth_unicast; 3856290650Shselasky 3857290650Shselasky struct mlx5_ifc_traffic_counter_bits received_eth_multicast; 3858290650Shselasky 3859290650Shselasky struct mlx5_ifc_traffic_counter_bits transmitted_eth_multicast; 3860290650Shselasky 3861290650Shselasky u8 reserved_2[0xa00]; 3862290650Shselasky}; 3863290650Shselasky 3864290650Shselaskyenum { 3865290650Shselasky MLX5_QUERY_VPORT_COUNTER_IN_OP_MOD_VPORT_COUNTERS = 0x0, 3866290650Shselasky}; 3867290650Shselasky 3868290650Shselaskystruct mlx5_ifc_query_vport_counter_in_bits { 3869290650Shselasky u8 opcode[0x10]; 3870290650Shselasky u8 reserved_0[0x10]; 3871290650Shselasky 3872290650Shselasky u8 reserved_1[0x10]; 3873290650Shselasky u8 op_mod[0x10]; 3874290650Shselasky 3875290650Shselasky u8 other_vport[0x1]; 3876290650Shselasky u8 reserved_2[0xb]; 3877290650Shselasky u8 port_num[0x4]; 3878290650Shselasky u8 vport_number[0x10]; 3879290650Shselasky 3880290650Shselasky u8 reserved_3[0x60]; 3881290650Shselasky 3882290650Shselasky u8 clear[0x1]; 3883290650Shselasky u8 reserved_4[0x1f]; 3884290650Shselasky 3885290650Shselasky u8 reserved_5[0x20]; 3886290650Shselasky}; 3887290650Shselasky 3888290650Shselaskystruct mlx5_ifc_query_tis_out_bits { 3889290650Shselasky u8 status[0x8]; 3890290650Shselasky u8 reserved_0[0x18]; 3891290650Shselasky 3892290650Shselasky u8 syndrome[0x20]; 3893290650Shselasky 3894290650Shselasky u8 reserved_1[0x40]; 3895290650Shselasky 3896290650Shselasky struct mlx5_ifc_tisc_bits tis_context; 3897290650Shselasky}; 3898290650Shselasky 3899290650Shselaskystruct mlx5_ifc_query_tis_in_bits { 3900290650Shselasky u8 opcode[0x10]; 3901290650Shselasky u8 reserved_0[0x10]; 3902290650Shselasky 3903290650Shselasky u8 reserved_1[0x10]; 3904290650Shselasky u8 op_mod[0x10]; 3905290650Shselasky 3906290650Shselasky u8 reserved_2[0x8]; 3907290650Shselasky u8 tisn[0x18]; 3908290650Shselasky 3909290650Shselasky u8 reserved_3[0x20]; 3910290650Shselasky}; 3911290650Shselasky 3912290650Shselaskystruct mlx5_ifc_query_tir_out_bits { 3913290650Shselasky u8 status[0x8]; 3914290650Shselasky u8 reserved_0[0x18]; 3915290650Shselasky 3916290650Shselasky u8 syndrome[0x20]; 3917290650Shselasky 3918290650Shselasky u8 reserved_1[0xc0]; 3919290650Shselasky 3920290650Shselasky struct mlx5_ifc_tirc_bits tir_context; 3921290650Shselasky}; 3922290650Shselasky 3923290650Shselaskystruct mlx5_ifc_query_tir_in_bits { 3924290650Shselasky u8 opcode[0x10]; 3925290650Shselasky u8 reserved_0[0x10]; 3926290650Shselasky 3927290650Shselasky u8 reserved_1[0x10]; 3928290650Shselasky u8 op_mod[0x10]; 3929290650Shselasky 3930290650Shselasky u8 reserved_2[0x8]; 3931290650Shselasky u8 tirn[0x18]; 3932290650Shselasky 3933290650Shselasky u8 reserved_3[0x20]; 3934290650Shselasky}; 3935290650Shselasky 3936290650Shselaskystruct mlx5_ifc_query_srq_out_bits { 3937290650Shselasky u8 status[0x8]; 3938290650Shselasky u8 reserved_0[0x18]; 3939290650Shselasky 3940290650Shselasky u8 syndrome[0x20]; 3941290650Shselasky 3942290650Shselasky u8 reserved_1[0x40]; 3943290650Shselasky 3944290650Shselasky struct mlx5_ifc_srqc_bits srq_context_entry; 3945290650Shselasky 3946290650Shselasky u8 reserved_2[0x600]; 3947290650Shselasky 3948290650Shselasky u8 pas[0][0x40]; 3949290650Shselasky}; 3950290650Shselasky 3951290650Shselaskystruct mlx5_ifc_query_srq_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 reserved_2[0x8]; 3959290650Shselasky u8 srqn[0x18]; 3960290650Shselasky 3961290650Shselasky u8 reserved_3[0x20]; 3962290650Shselasky}; 3963290650Shselasky 3964290650Shselaskystruct mlx5_ifc_query_sq_out_bits { 3965290650Shselasky u8 status[0x8]; 3966290650Shselasky u8 reserved_0[0x18]; 3967290650Shselasky 3968290650Shselasky u8 syndrome[0x20]; 3969290650Shselasky 3970290650Shselasky u8 reserved_1[0xc0]; 3971290650Shselasky 3972290650Shselasky struct mlx5_ifc_sqc_bits sq_context; 3973290650Shselasky}; 3974290650Shselasky 3975290650Shselaskystruct mlx5_ifc_query_sq_in_bits { 3976290650Shselasky u8 opcode[0x10]; 3977290650Shselasky u8 reserved_0[0x10]; 3978290650Shselasky 3979290650Shselasky u8 reserved_1[0x10]; 3980290650Shselasky u8 op_mod[0x10]; 3981290650Shselasky 3982290650Shselasky u8 reserved_2[0x8]; 3983290650Shselasky u8 sqn[0x18]; 3984290650Shselasky 3985290650Shselasky u8 reserved_3[0x20]; 3986290650Shselasky}; 3987290650Shselasky 3988290650Shselaskystruct mlx5_ifc_query_special_contexts_out_bits { 3989290650Shselasky u8 status[0x8]; 3990290650Shselasky u8 reserved_0[0x18]; 3991290650Shselasky 3992290650Shselasky u8 syndrome[0x20]; 3993290650Shselasky 3994290650Shselasky u8 reserved_1[0x20]; 3995290650Shselasky 3996290650Shselasky u8 resd_lkey[0x20]; 3997290650Shselasky}; 3998290650Shselasky 3999290650Shselaskystruct mlx5_ifc_query_special_contexts_in_bits { 4000290650Shselasky u8 opcode[0x10]; 4001290650Shselasky u8 reserved_0[0x10]; 4002290650Shselasky 4003290650Shselasky u8 reserved_1[0x10]; 4004290650Shselasky u8 op_mod[0x10]; 4005290650Shselasky 4006290650Shselasky u8 reserved_2[0x40]; 4007290650Shselasky}; 4008290650Shselasky 4009308678Shselaskystruct mlx5_ifc_query_scheduling_element_out_bits { 4010308678Shselasky u8 status[0x8]; 4011308678Shselasky u8 reserved_at_8[0x18]; 4012308678Shselasky 4013308678Shselasky u8 syndrome[0x20]; 4014308678Shselasky 4015308678Shselasky u8 reserved_at_40[0xc0]; 4016308678Shselasky 4017308678Shselasky struct mlx5_ifc_scheduling_context_bits scheduling_context; 4018308678Shselasky 4019308678Shselasky u8 reserved_at_300[0x100]; 4020308678Shselasky}; 4021308678Shselasky 4022308678Shselaskyenum { 4023308678Shselasky MLX5_SCHEDULING_ELEMENT_IN_HIERARCHY_E_SWITCH = 0x2, 4024308678Shselasky}; 4025308678Shselasky 4026308678Shselaskystruct mlx5_ifc_query_scheduling_element_in_bits { 4027308678Shselasky u8 opcode[0x10]; 4028308678Shselasky u8 reserved_at_10[0x10]; 4029308678Shselasky 4030308678Shselasky u8 reserved_at_20[0x10]; 4031308678Shselasky u8 op_mod[0x10]; 4032308678Shselasky 4033308678Shselasky u8 scheduling_hierarchy[0x8]; 4034308678Shselasky u8 reserved_at_48[0x18]; 4035308678Shselasky 4036308678Shselasky u8 scheduling_element_id[0x20]; 4037308678Shselasky 4038308678Shselasky u8 reserved_at_80[0x180]; 4039308678Shselasky}; 4040308678Shselasky 4041290650Shselaskystruct mlx5_ifc_query_rqt_out_bits { 4042290650Shselasky u8 status[0x8]; 4043290650Shselasky u8 reserved_0[0x18]; 4044290650Shselasky 4045290650Shselasky u8 syndrome[0x20]; 4046290650Shselasky 4047290650Shselasky u8 reserved_1[0xc0]; 4048290650Shselasky 4049290650Shselasky struct mlx5_ifc_rqtc_bits rqt_context; 4050290650Shselasky}; 4051290650Shselasky 4052290650Shselaskystruct mlx5_ifc_query_rqt_in_bits { 4053290650Shselasky u8 opcode[0x10]; 4054290650Shselasky u8 reserved_0[0x10]; 4055290650Shselasky 4056290650Shselasky u8 reserved_1[0x10]; 4057290650Shselasky u8 op_mod[0x10]; 4058290650Shselasky 4059290650Shselasky u8 reserved_2[0x8]; 4060290650Shselasky u8 rqtn[0x18]; 4061290650Shselasky 4062290650Shselasky u8 reserved_3[0x20]; 4063290650Shselasky}; 4064290650Shselasky 4065290650Shselaskystruct mlx5_ifc_query_rq_out_bits { 4066290650Shselasky u8 status[0x8]; 4067290650Shselasky u8 reserved_0[0x18]; 4068290650Shselasky 4069290650Shselasky u8 syndrome[0x20]; 4070290650Shselasky 4071290650Shselasky u8 reserved_1[0xc0]; 4072290650Shselasky 4073290650Shselasky struct mlx5_ifc_rqc_bits rq_context; 4074290650Shselasky}; 4075290650Shselasky 4076290650Shselaskystruct mlx5_ifc_query_rq_in_bits { 4077290650Shselasky u8 opcode[0x10]; 4078290650Shselasky u8 reserved_0[0x10]; 4079290650Shselasky 4080290650Shselasky u8 reserved_1[0x10]; 4081290650Shselasky u8 op_mod[0x10]; 4082290650Shselasky 4083290650Shselasky u8 reserved_2[0x8]; 4084290650Shselasky u8 rqn[0x18]; 4085290650Shselasky 4086290650Shselasky u8 reserved_3[0x20]; 4087290650Shselasky}; 4088290650Shselasky 4089290650Shselaskystruct mlx5_ifc_query_roce_address_out_bits { 4090290650Shselasky u8 status[0x8]; 4091290650Shselasky u8 reserved_0[0x18]; 4092290650Shselasky 4093290650Shselasky u8 syndrome[0x20]; 4094290650Shselasky 4095290650Shselasky u8 reserved_1[0x40]; 4096290650Shselasky 4097290650Shselasky struct mlx5_ifc_roce_addr_layout_bits roce_address; 4098290650Shselasky}; 4099290650Shselasky 4100290650Shselaskystruct mlx5_ifc_query_roce_address_in_bits { 4101290650Shselasky u8 opcode[0x10]; 4102290650Shselasky u8 reserved_0[0x10]; 4103290650Shselasky 4104290650Shselasky u8 reserved_1[0x10]; 4105290650Shselasky u8 op_mod[0x10]; 4106290650Shselasky 4107290650Shselasky u8 roce_address_index[0x10]; 4108290650Shselasky u8 reserved_2[0x10]; 4109290650Shselasky 4110290650Shselasky u8 reserved_3[0x20]; 4111290650Shselasky}; 4112290650Shselasky 4113290650Shselaskystruct mlx5_ifc_query_rmp_out_bits { 4114290650Shselasky u8 status[0x8]; 4115290650Shselasky u8 reserved_0[0x18]; 4116290650Shselasky 4117290650Shselasky u8 syndrome[0x20]; 4118290650Shselasky 4119290650Shselasky u8 reserved_1[0xc0]; 4120290650Shselasky 4121290650Shselasky struct mlx5_ifc_rmpc_bits rmp_context; 4122290650Shselasky}; 4123290650Shselasky 4124290650Shselaskystruct mlx5_ifc_query_rmp_in_bits { 4125290650Shselasky u8 opcode[0x10]; 4126290650Shselasky u8 reserved_0[0x10]; 4127290650Shselasky 4128290650Shselasky u8 reserved_1[0x10]; 4129290650Shselasky u8 op_mod[0x10]; 4130290650Shselasky 4131290650Shselasky u8 reserved_2[0x8]; 4132290650Shselasky u8 rmpn[0x18]; 4133290650Shselasky 4134290650Shselasky u8 reserved_3[0x20]; 4135290650Shselasky}; 4136290650Shselasky 4137290650Shselaskystruct mlx5_ifc_query_rdb_out_bits { 4138290650Shselasky u8 status[0x8]; 4139290650Shselasky u8 reserved_0[0x18]; 4140290650Shselasky 4141290650Shselasky u8 syndrome[0x20]; 4142290650Shselasky 4143290650Shselasky u8 reserved_1[0x20]; 4144290650Shselasky 4145290650Shselasky u8 reserved_2[0x18]; 4146290650Shselasky u8 rdb_list_size[0x8]; 4147290650Shselasky 4148290650Shselasky struct mlx5_ifc_rdbc_bits rdb_context[0]; 4149290650Shselasky}; 4150290650Shselasky 4151290650Shselaskystruct mlx5_ifc_query_rdb_in_bits { 4152290650Shselasky u8 opcode[0x10]; 4153290650Shselasky u8 reserved_0[0x10]; 4154290650Shselasky 4155290650Shselasky u8 reserved_1[0x10]; 4156290650Shselasky u8 op_mod[0x10]; 4157290650Shselasky 4158290650Shselasky u8 reserved_2[0x8]; 4159290650Shselasky u8 qpn[0x18]; 4160290650Shselasky 4161290650Shselasky u8 reserved_3[0x20]; 4162290650Shselasky}; 4163290650Shselasky 4164290650Shselaskystruct mlx5_ifc_query_qp_out_bits { 4165290650Shselasky u8 status[0x8]; 4166290650Shselasky u8 reserved_0[0x18]; 4167290650Shselasky 4168290650Shselasky u8 syndrome[0x20]; 4169290650Shselasky 4170290650Shselasky u8 reserved_1[0x40]; 4171290650Shselasky 4172290650Shselasky u8 opt_param_mask[0x20]; 4173290650Shselasky 4174290650Shselasky u8 reserved_2[0x20]; 4175290650Shselasky 4176290650Shselasky struct mlx5_ifc_qpc_bits qpc; 4177290650Shselasky 4178290650Shselasky u8 reserved_3[0x80]; 4179290650Shselasky 4180290650Shselasky u8 pas[0][0x40]; 4181290650Shselasky}; 4182290650Shselasky 4183290650Shselaskystruct mlx5_ifc_query_qp_in_bits { 4184290650Shselasky u8 opcode[0x10]; 4185290650Shselasky u8 reserved_0[0x10]; 4186290650Shselasky 4187290650Shselasky u8 reserved_1[0x10]; 4188290650Shselasky u8 op_mod[0x10]; 4189290650Shselasky 4190290650Shselasky u8 reserved_2[0x8]; 4191290650Shselasky u8 qpn[0x18]; 4192290650Shselasky 4193290650Shselasky u8 reserved_3[0x20]; 4194290650Shselasky}; 4195290650Shselasky 4196290650Shselaskystruct mlx5_ifc_query_q_counter_out_bits { 4197290650Shselasky u8 status[0x8]; 4198290650Shselasky u8 reserved_0[0x18]; 4199290650Shselasky 4200290650Shselasky u8 syndrome[0x20]; 4201290650Shselasky 4202290650Shselasky u8 reserved_1[0x40]; 4203290650Shselasky 4204290650Shselasky u8 rx_write_requests[0x20]; 4205290650Shselasky 4206290650Shselasky u8 reserved_2[0x20]; 4207290650Shselasky 4208290650Shselasky u8 rx_read_requests[0x20]; 4209290650Shselasky 4210290650Shselasky u8 reserved_3[0x20]; 4211290650Shselasky 4212290650Shselasky u8 rx_atomic_requests[0x20]; 4213290650Shselasky 4214290650Shselasky u8 reserved_4[0x20]; 4215290650Shselasky 4216290650Shselasky u8 rx_dct_connect[0x20]; 4217290650Shselasky 4218290650Shselasky u8 reserved_5[0x20]; 4219290650Shselasky 4220290650Shselasky u8 out_of_buffer[0x20]; 4221290650Shselasky 4222321992Shselasky u8 reserved_7[0x20]; 4223290650Shselasky 4224290650Shselasky u8 out_of_sequence[0x20]; 4225290650Shselasky 4226321992Shselasky u8 reserved_8[0x20]; 4227306233Shselasky 4228321992Shselasky u8 duplicate_request[0x20]; 4229306233Shselasky 4230321992Shselasky u8 reserved_9[0x20]; 4231306233Shselasky 4232321992Shselasky u8 rnr_nak_retry_err[0x20]; 4233306233Shselasky 4234321992Shselasky u8 reserved_10[0x20]; 4235306233Shselasky 4236321992Shselasky u8 packet_seq_err[0x20]; 4237306233Shselasky 4238321992Shselasky u8 reserved_11[0x20]; 4239306233Shselasky 4240321992Shselasky u8 implied_nak_seq_err[0x20]; 4241306233Shselasky 4242321992Shselasky u8 reserved_12[0x20]; 4243306233Shselasky 4244321992Shselasky u8 local_ack_timeout_err[0x20]; 4245306233Shselasky 4246321992Shselasky u8 reserved_13[0x20]; 4247321992Shselasky 4248321992Shselasky u8 resp_rnr_nak[0x20]; 4249321992Shselasky 4250321992Shselasky u8 reserved_14[0x20]; 4251321992Shselasky 4252321992Shselasky u8 req_rnr_retries_exceeded[0x20]; 4253321992Shselasky 4254321992Shselasky u8 reserved_15[0x460]; 4255290650Shselasky}; 4256290650Shselasky 4257290650Shselaskystruct mlx5_ifc_query_q_counter_in_bits { 4258290650Shselasky u8 opcode[0x10]; 4259290650Shselasky u8 reserved_0[0x10]; 4260290650Shselasky 4261290650Shselasky u8 reserved_1[0x10]; 4262290650Shselasky u8 op_mod[0x10]; 4263290650Shselasky 4264290650Shselasky u8 reserved_2[0x80]; 4265290650Shselasky 4266290650Shselasky u8 clear[0x1]; 4267290650Shselasky u8 reserved_3[0x1f]; 4268290650Shselasky 4269290650Shselasky u8 reserved_4[0x18]; 4270290650Shselasky u8 counter_set_id[0x8]; 4271290650Shselasky}; 4272290650Shselasky 4273290650Shselaskystruct mlx5_ifc_query_pages_out_bits { 4274290650Shselasky u8 status[0x8]; 4275290650Shselasky u8 reserved_0[0x18]; 4276290650Shselasky 4277290650Shselasky u8 syndrome[0x20]; 4278290650Shselasky 4279290650Shselasky u8 reserved_1[0x10]; 4280290650Shselasky u8 function_id[0x10]; 4281290650Shselasky 4282290650Shselasky u8 num_pages[0x20]; 4283290650Shselasky}; 4284290650Shselasky 4285290650Shselaskyenum { 4286290650Shselasky MLX5_BOOT_PAGES = 0x1, 4287290650Shselasky MLX5_INIT_PAGES = 0x2, 4288290650Shselasky MLX5_POST_INIT_PAGES = 0x3, 4289290650Shselasky}; 4290290650Shselasky 4291290650Shselaskystruct mlx5_ifc_query_pages_in_bits { 4292290650Shselasky u8 opcode[0x10]; 4293290650Shselasky u8 reserved_0[0x10]; 4294290650Shselasky 4295290650Shselasky u8 reserved_1[0x10]; 4296290650Shselasky u8 op_mod[0x10]; 4297290650Shselasky 4298290650Shselasky u8 reserved_2[0x10]; 4299290650Shselasky u8 function_id[0x10]; 4300290650Shselasky 4301290650Shselasky u8 reserved_3[0x20]; 4302290650Shselasky}; 4303290650Shselasky 4304290650Shselaskystruct mlx5_ifc_query_nic_vport_context_out_bits { 4305290650Shselasky u8 status[0x8]; 4306290650Shselasky u8 reserved_0[0x18]; 4307290650Shselasky 4308290650Shselasky u8 syndrome[0x20]; 4309290650Shselasky 4310290650Shselasky u8 reserved_1[0x40]; 4311290650Shselasky 4312290650Shselasky struct mlx5_ifc_nic_vport_context_bits nic_vport_context; 4313290650Shselasky}; 4314290650Shselasky 4315290650Shselaskystruct mlx5_ifc_query_nic_vport_context_in_bits { 4316290650Shselasky u8 opcode[0x10]; 4317290650Shselasky u8 reserved_0[0x10]; 4318290650Shselasky 4319290650Shselasky u8 reserved_1[0x10]; 4320290650Shselasky u8 op_mod[0x10]; 4321290650Shselasky 4322290650Shselasky u8 other_vport[0x1]; 4323290650Shselasky u8 reserved_2[0xf]; 4324290650Shselasky u8 vport_number[0x10]; 4325290650Shselasky 4326290650Shselasky u8 reserved_3[0x5]; 4327290650Shselasky u8 allowed_list_type[0x3]; 4328290650Shselasky u8 reserved_4[0x18]; 4329290650Shselasky}; 4330290650Shselasky 4331290650Shselaskystruct mlx5_ifc_query_mkey_out_bits { 4332290650Shselasky u8 status[0x8]; 4333290650Shselasky u8 reserved_0[0x18]; 4334290650Shselasky 4335290650Shselasky u8 syndrome[0x20]; 4336290650Shselasky 4337290650Shselasky u8 reserved_1[0x40]; 4338290650Shselasky 4339290650Shselasky struct mlx5_ifc_mkc_bits memory_key_mkey_entry; 4340290650Shselasky 4341290650Shselasky u8 reserved_2[0x600]; 4342290650Shselasky 4343290650Shselasky u8 bsf0_klm0_pas_mtt0_1[16][0x8]; 4344290650Shselasky 4345290650Shselasky u8 bsf1_klm1_pas_mtt2_3[16][0x8]; 4346290650Shselasky}; 4347290650Shselasky 4348290650Shselaskystruct mlx5_ifc_query_mkey_in_bits { 4349290650Shselasky u8 opcode[0x10]; 4350290650Shselasky u8 reserved_0[0x10]; 4351290650Shselasky 4352290650Shselasky u8 reserved_1[0x10]; 4353290650Shselasky u8 op_mod[0x10]; 4354290650Shselasky 4355290650Shselasky u8 reserved_2[0x8]; 4356290650Shselasky u8 mkey_index[0x18]; 4357290650Shselasky 4358290650Shselasky u8 pg_access[0x1]; 4359290650Shselasky u8 reserved_3[0x1f]; 4360290650Shselasky}; 4361290650Shselasky 4362290650Shselaskystruct mlx5_ifc_query_mad_demux_out_bits { 4363290650Shselasky u8 status[0x8]; 4364290650Shselasky u8 reserved_0[0x18]; 4365290650Shselasky 4366290650Shselasky u8 syndrome[0x20]; 4367290650Shselasky 4368290650Shselasky u8 reserved_1[0x40]; 4369290650Shselasky 4370290650Shselasky u8 mad_dumux_parameters_block[0x20]; 4371290650Shselasky}; 4372290650Shselasky 4373290650Shselaskystruct mlx5_ifc_query_mad_demux_in_bits { 4374290650Shselasky u8 opcode[0x10]; 4375290650Shselasky u8 reserved_0[0x10]; 4376290650Shselasky 4377290650Shselasky u8 reserved_1[0x10]; 4378290650Shselasky u8 op_mod[0x10]; 4379290650Shselasky 4380290650Shselasky u8 reserved_2[0x40]; 4381290650Shselasky}; 4382290650Shselasky 4383290650Shselaskystruct mlx5_ifc_query_l2_table_entry_out_bits { 4384290650Shselasky u8 status[0x8]; 4385290650Shselasky u8 reserved_0[0x18]; 4386290650Shselasky 4387290650Shselasky u8 syndrome[0x20]; 4388290650Shselasky 4389290650Shselasky u8 reserved_1[0xa0]; 4390290650Shselasky 4391290650Shselasky u8 reserved_2[0x13]; 4392290650Shselasky u8 vlan_valid[0x1]; 4393290650Shselasky u8 vlan[0xc]; 4394290650Shselasky 4395290650Shselasky struct mlx5_ifc_mac_address_layout_bits mac_address; 4396290650Shselasky 4397290650Shselasky u8 reserved_3[0xc0]; 4398290650Shselasky}; 4399290650Shselasky 4400290650Shselaskystruct mlx5_ifc_query_l2_table_entry_in_bits { 4401290650Shselasky u8 opcode[0x10]; 4402290650Shselasky u8 reserved_0[0x10]; 4403290650Shselasky 4404290650Shselasky u8 reserved_1[0x10]; 4405290650Shselasky u8 op_mod[0x10]; 4406290650Shselasky 4407290650Shselasky u8 reserved_2[0x60]; 4408290650Shselasky 4409290650Shselasky u8 reserved_3[0x8]; 4410290650Shselasky u8 table_index[0x18]; 4411290650Shselasky 4412290650Shselasky u8 reserved_4[0x140]; 4413290650Shselasky}; 4414290650Shselasky 4415290650Shselaskystruct mlx5_ifc_query_issi_out_bits { 4416290650Shselasky u8 status[0x8]; 4417290650Shselasky u8 reserved_0[0x18]; 4418290650Shselasky 4419290650Shselasky u8 syndrome[0x20]; 4420290650Shselasky 4421290650Shselasky u8 reserved_1[0x10]; 4422290650Shselasky u8 current_issi[0x10]; 4423290650Shselasky 4424290650Shselasky u8 reserved_2[0xa0]; 4425290650Shselasky 4426290650Shselasky u8 supported_issi_reserved[76][0x8]; 4427290650Shselasky u8 supported_issi_dw0[0x20]; 4428290650Shselasky}; 4429290650Shselasky 4430290650Shselaskystruct mlx5_ifc_query_issi_in_bits { 4431290650Shselasky u8 opcode[0x10]; 4432290650Shselasky u8 reserved_0[0x10]; 4433290650Shselasky 4434290650Shselasky u8 reserved_1[0x10]; 4435290650Shselasky u8 op_mod[0x10]; 4436290650Shselasky 4437290650Shselasky u8 reserved_2[0x40]; 4438290650Shselasky}; 4439290650Shselasky 4440290650Shselaskystruct mlx5_ifc_query_hca_vport_pkey_out_bits { 4441290650Shselasky u8 status[0x8]; 4442290650Shselasky u8 reserved_0[0x18]; 4443290650Shselasky 4444290650Shselasky u8 syndrome[0x20]; 4445290650Shselasky 4446290650Shselasky u8 reserved_1[0x40]; 4447290650Shselasky 4448290650Shselasky struct mlx5_ifc_pkey_bits pkey[0]; 4449290650Shselasky}; 4450290650Shselasky 4451290650Shselaskystruct mlx5_ifc_query_hca_vport_pkey_in_bits { 4452290650Shselasky u8 opcode[0x10]; 4453290650Shselasky u8 reserved_0[0x10]; 4454290650Shselasky 4455290650Shselasky u8 reserved_1[0x10]; 4456290650Shselasky u8 op_mod[0x10]; 4457290650Shselasky 4458290650Shselasky u8 other_vport[0x1]; 4459290650Shselasky u8 reserved_2[0xb]; 4460290650Shselasky u8 port_num[0x4]; 4461290650Shselasky u8 vport_number[0x10]; 4462290650Shselasky 4463290650Shselasky u8 reserved_3[0x10]; 4464290650Shselasky u8 pkey_index[0x10]; 4465290650Shselasky}; 4466290650Shselasky 4467290650Shselaskystruct mlx5_ifc_query_hca_vport_gid_out_bits { 4468290650Shselasky u8 status[0x8]; 4469290650Shselasky u8 reserved_0[0x18]; 4470290650Shselasky 4471290650Shselasky u8 syndrome[0x20]; 4472290650Shselasky 4473290650Shselasky u8 reserved_1[0x20]; 4474290650Shselasky 4475290650Shselasky u8 gids_num[0x10]; 4476290650Shselasky u8 reserved_2[0x10]; 4477290650Shselasky 4478290650Shselasky struct mlx5_ifc_array128_auto_bits gid[0]; 4479290650Shselasky}; 4480290650Shselasky 4481290650Shselaskystruct mlx5_ifc_query_hca_vport_gid_in_bits { 4482290650Shselasky u8 opcode[0x10]; 4483290650Shselasky u8 reserved_0[0x10]; 4484290650Shselasky 4485290650Shselasky u8 reserved_1[0x10]; 4486290650Shselasky u8 op_mod[0x10]; 4487290650Shselasky 4488290650Shselasky u8 other_vport[0x1]; 4489290650Shselasky u8 reserved_2[0xb]; 4490290650Shselasky u8 port_num[0x4]; 4491290650Shselasky u8 vport_number[0x10]; 4492290650Shselasky 4493290650Shselasky u8 reserved_3[0x10]; 4494290650Shselasky u8 gid_index[0x10]; 4495290650Shselasky}; 4496290650Shselasky 4497290650Shselaskystruct mlx5_ifc_query_hca_vport_context_out_bits { 4498290650Shselasky u8 status[0x8]; 4499290650Shselasky u8 reserved_0[0x18]; 4500290650Shselasky 4501290650Shselasky u8 syndrome[0x20]; 4502290650Shselasky 4503290650Shselasky u8 reserved_1[0x40]; 4504290650Shselasky 4505290650Shselasky struct mlx5_ifc_hca_vport_context_bits hca_vport_context; 4506290650Shselasky}; 4507290650Shselasky 4508290650Shselaskystruct mlx5_ifc_query_hca_vport_context_in_bits { 4509290650Shselasky u8 opcode[0x10]; 4510290650Shselasky u8 reserved_0[0x10]; 4511290650Shselasky 4512290650Shselasky u8 reserved_1[0x10]; 4513290650Shselasky u8 op_mod[0x10]; 4514290650Shselasky 4515290650Shselasky u8 other_vport[0x1]; 4516290650Shselasky u8 reserved_2[0xb]; 4517290650Shselasky u8 port_num[0x4]; 4518290650Shselasky u8 vport_number[0x10]; 4519290650Shselasky 4520290650Shselasky u8 reserved_3[0x20]; 4521290650Shselasky}; 4522290650Shselasky 4523290650Shselaskystruct mlx5_ifc_query_hca_cap_out_bits { 4524290650Shselasky u8 status[0x8]; 4525290650Shselasky u8 reserved_0[0x18]; 4526290650Shselasky 4527290650Shselasky u8 syndrome[0x20]; 4528290650Shselasky 4529290650Shselasky u8 reserved_1[0x40]; 4530290650Shselasky 4531290650Shselasky union mlx5_ifc_hca_cap_union_bits capability; 4532290650Shselasky}; 4533290650Shselasky 4534290650Shselaskystruct mlx5_ifc_query_hca_cap_in_bits { 4535290650Shselasky u8 opcode[0x10]; 4536290650Shselasky u8 reserved_0[0x10]; 4537290650Shselasky 4538290650Shselasky u8 reserved_1[0x10]; 4539290650Shselasky u8 op_mod[0x10]; 4540290650Shselasky 4541290650Shselasky u8 reserved_2[0x40]; 4542290650Shselasky}; 4543290650Shselasky 4544290650Shselaskystruct mlx5_ifc_query_flow_table_out_bits { 4545290650Shselasky u8 status[0x8]; 4546329200Shselasky u8 reserved_at_8[0x18]; 4547290650Shselasky 4548290650Shselasky u8 syndrome[0x20]; 4549290650Shselasky 4550329200Shselasky u8 reserved_at_40[0x80]; 4551290650Shselasky 4552329200Shselasky struct mlx5_ifc_flow_table_context_bits flow_table_context; 4553290650Shselasky}; 4554290650Shselasky 4555290650Shselaskystruct mlx5_ifc_query_flow_table_in_bits { 4556290650Shselasky u8 opcode[0x10]; 4557290650Shselasky u8 reserved_0[0x10]; 4558290650Shselasky 4559290650Shselasky u8 reserved_1[0x10]; 4560290650Shselasky u8 op_mod[0x10]; 4561290650Shselasky 4562290650Shselasky u8 other_vport[0x1]; 4563290650Shselasky u8 reserved_2[0xf]; 4564290650Shselasky u8 vport_number[0x10]; 4565290650Shselasky 4566290650Shselasky u8 reserved_3[0x20]; 4567290650Shselasky 4568290650Shselasky u8 table_type[0x8]; 4569290650Shselasky u8 reserved_4[0x18]; 4570290650Shselasky 4571290650Shselasky u8 reserved_5[0x8]; 4572290650Shselasky u8 table_id[0x18]; 4573290650Shselasky 4574290650Shselasky u8 reserved_6[0x140]; 4575290650Shselasky}; 4576290650Shselasky 4577290650Shselaskystruct mlx5_ifc_query_fte_out_bits { 4578290650Shselasky u8 status[0x8]; 4579290650Shselasky u8 reserved_0[0x18]; 4580290650Shselasky 4581290650Shselasky u8 syndrome[0x20]; 4582290650Shselasky 4583290650Shselasky u8 reserved_1[0x1c0]; 4584290650Shselasky 4585290650Shselasky struct mlx5_ifc_flow_context_bits flow_context; 4586290650Shselasky}; 4587290650Shselasky 4588290650Shselaskystruct mlx5_ifc_query_fte_in_bits { 4589290650Shselasky u8 opcode[0x10]; 4590290650Shselasky u8 reserved_0[0x10]; 4591290650Shselasky 4592290650Shselasky u8 reserved_1[0x10]; 4593290650Shselasky u8 op_mod[0x10]; 4594290650Shselasky 4595290650Shselasky u8 other_vport[0x1]; 4596290650Shselasky u8 reserved_2[0xf]; 4597290650Shselasky u8 vport_number[0x10]; 4598290650Shselasky 4599290650Shselasky u8 reserved_3[0x20]; 4600290650Shselasky 4601290650Shselasky u8 table_type[0x8]; 4602290650Shselasky u8 reserved_4[0x18]; 4603290650Shselasky 4604290650Shselasky u8 reserved_5[0x8]; 4605290650Shselasky u8 table_id[0x18]; 4606290650Shselasky 4607290650Shselasky u8 reserved_6[0x40]; 4608290650Shselasky 4609290650Shselasky u8 flow_index[0x20]; 4610290650Shselasky 4611290650Shselasky u8 reserved_7[0xe0]; 4612290650Shselasky}; 4613290650Shselasky 4614290650Shselaskyenum { 4615290650Shselasky MLX5_QUERY_FLOW_GROUP_OUT_MATCH_CRITERIA_ENABLE_OUTER_HEADERS = 0x0, 4616290650Shselasky MLX5_QUERY_FLOW_GROUP_OUT_MATCH_CRITERIA_ENABLE_MISC_PARAMETERS = 0x1, 4617290650Shselasky MLX5_QUERY_FLOW_GROUP_OUT_MATCH_CRITERIA_ENABLE_INNER_HEADERS = 0x2, 4618290650Shselasky}; 4619290650Shselasky 4620290650Shselaskystruct mlx5_ifc_query_flow_group_out_bits { 4621290650Shselasky u8 status[0x8]; 4622290650Shselasky u8 reserved_0[0x18]; 4623290650Shselasky 4624290650Shselasky u8 syndrome[0x20]; 4625290650Shselasky 4626290650Shselasky u8 reserved_1[0xa0]; 4627290650Shselasky 4628290650Shselasky u8 start_flow_index[0x20]; 4629290650Shselasky 4630290650Shselasky u8 reserved_2[0x20]; 4631290650Shselasky 4632290650Shselasky u8 end_flow_index[0x20]; 4633290650Shselasky 4634290650Shselasky u8 reserved_3[0xa0]; 4635290650Shselasky 4636290650Shselasky u8 reserved_4[0x18]; 4637290650Shselasky u8 match_criteria_enable[0x8]; 4638290650Shselasky 4639290650Shselasky struct mlx5_ifc_fte_match_param_bits match_criteria; 4640290650Shselasky 4641290650Shselasky u8 reserved_5[0xe00]; 4642290650Shselasky}; 4643290650Shselasky 4644290650Shselaskystruct mlx5_ifc_query_flow_group_in_bits { 4645290650Shselasky u8 opcode[0x10]; 4646290650Shselasky u8 reserved_0[0x10]; 4647290650Shselasky 4648290650Shselasky u8 reserved_1[0x10]; 4649290650Shselasky u8 op_mod[0x10]; 4650290650Shselasky 4651290650Shselasky u8 other_vport[0x1]; 4652290650Shselasky u8 reserved_2[0xf]; 4653290650Shselasky u8 vport_number[0x10]; 4654290650Shselasky 4655290650Shselasky u8 reserved_3[0x20]; 4656290650Shselasky 4657290650Shselasky u8 table_type[0x8]; 4658290650Shselasky u8 reserved_4[0x18]; 4659290650Shselasky 4660290650Shselasky u8 reserved_5[0x8]; 4661290650Shselasky u8 table_id[0x18]; 4662290650Shselasky 4663290650Shselasky u8 group_id[0x20]; 4664290650Shselasky 4665290650Shselasky u8 reserved_6[0x120]; 4666290650Shselasky}; 4667290650Shselasky 4668290650Shselaskystruct mlx5_ifc_query_flow_counter_out_bits { 4669290650Shselasky u8 status[0x8]; 4670329204Shselasky u8 reserved_at_8[0x18]; 4671290650Shselasky 4672290650Shselasky u8 syndrome[0x20]; 4673290650Shselasky 4674329204Shselasky u8 reserved_at_40[0x40]; 4675290650Shselasky 4676329204Shselasky struct mlx5_ifc_traffic_counter_bits flow_statistics[0]; 4677290650Shselasky}; 4678290650Shselasky 4679290650Shselaskystruct mlx5_ifc_query_flow_counter_in_bits { 4680290650Shselasky u8 opcode[0x10]; 4681329204Shselasky u8 reserved_at_10[0x10]; 4682290650Shselasky 4683329204Shselasky u8 reserved_at_20[0x10]; 4684290650Shselasky u8 op_mod[0x10]; 4685290650Shselasky 4686329204Shselasky u8 reserved_at_40[0x80]; 4687290650Shselasky 4688290650Shselasky u8 clear[0x1]; 4689329204Shselasky u8 reserved_at_c1[0xf]; 4690329204Shselasky u8 num_of_counters[0x10]; 4691290650Shselasky 4692329204Shselasky u8 reserved_at_e0[0x10]; 4693290650Shselasky u8 flow_counter_id[0x10]; 4694290650Shselasky}; 4695290650Shselasky 4696290650Shselaskystruct mlx5_ifc_query_esw_vport_context_out_bits { 4697290650Shselasky u8 status[0x8]; 4698290650Shselasky u8 reserved_0[0x18]; 4699290650Shselasky 4700290650Shselasky u8 syndrome[0x20]; 4701290650Shselasky 4702290650Shselasky u8 reserved_1[0x40]; 4703290650Shselasky 4704290650Shselasky struct mlx5_ifc_esw_vport_context_bits esw_vport_context; 4705290650Shselasky}; 4706290650Shselasky 4707290650Shselaskystruct mlx5_ifc_query_esw_vport_context_in_bits { 4708290650Shselasky u8 opcode[0x10]; 4709290650Shselasky u8 reserved_0[0x10]; 4710290650Shselasky 4711290650Shselasky u8 reserved_1[0x10]; 4712290650Shselasky u8 op_mod[0x10]; 4713290650Shselasky 4714290650Shselasky u8 other_vport[0x1]; 4715290650Shselasky u8 reserved_2[0xf]; 4716290650Shselasky u8 vport_number[0x10]; 4717290650Shselasky 4718290650Shselasky u8 reserved_3[0x20]; 4719290650Shselasky}; 4720290650Shselasky 4721290650Shselaskystruct mlx5_ifc_query_eq_out_bits { 4722290650Shselasky u8 status[0x8]; 4723290650Shselasky u8 reserved_0[0x18]; 4724290650Shselasky 4725290650Shselasky u8 syndrome[0x20]; 4726290650Shselasky 4727290650Shselasky u8 reserved_1[0x40]; 4728290650Shselasky 4729290650Shselasky struct mlx5_ifc_eqc_bits eq_context_entry; 4730290650Shselasky 4731290650Shselasky u8 reserved_2[0x40]; 4732290650Shselasky 4733290650Shselasky u8 event_bitmask[0x40]; 4734290650Shselasky 4735290650Shselasky u8 reserved_3[0x580]; 4736290650Shselasky 4737290650Shselasky u8 pas[0][0x40]; 4738290650Shselasky}; 4739290650Shselasky 4740290650Shselaskystruct mlx5_ifc_query_eq_in_bits { 4741290650Shselasky u8 opcode[0x10]; 4742290650Shselasky u8 reserved_0[0x10]; 4743290650Shselasky 4744290650Shselasky u8 reserved_1[0x10]; 4745290650Shselasky u8 op_mod[0x10]; 4746290650Shselasky 4747290650Shselasky u8 reserved_2[0x18]; 4748290650Shselasky u8 eq_number[0x8]; 4749290650Shselasky 4750290650Shselasky u8 reserved_3[0x20]; 4751290650Shselasky}; 4752290650Shselasky 4753290650Shselaskystruct mlx5_ifc_query_dct_out_bits { 4754290650Shselasky u8 status[0x8]; 4755290650Shselasky u8 reserved_0[0x18]; 4756290650Shselasky 4757290650Shselasky u8 syndrome[0x20]; 4758290650Shselasky 4759290650Shselasky u8 reserved_1[0x40]; 4760290650Shselasky 4761290650Shselasky struct mlx5_ifc_dctc_bits dct_context_entry; 4762290650Shselasky 4763290650Shselasky u8 reserved_2[0x180]; 4764290650Shselasky}; 4765290650Shselasky 4766290650Shselaskystruct mlx5_ifc_query_dct_in_bits { 4767290650Shselasky u8 opcode[0x10]; 4768290650Shselasky u8 reserved_0[0x10]; 4769290650Shselasky 4770290650Shselasky u8 reserved_1[0x10]; 4771290650Shselasky u8 op_mod[0x10]; 4772290650Shselasky 4773290650Shselasky u8 reserved_2[0x8]; 4774290650Shselasky u8 dctn[0x18]; 4775290650Shselasky 4776290650Shselasky u8 reserved_3[0x20]; 4777290650Shselasky}; 4778290650Shselasky 4779290650Shselaskystruct mlx5_ifc_query_dc_cnak_trace_out_bits { 4780290650Shselasky u8 status[0x8]; 4781290650Shselasky u8 reserved_0[0x18]; 4782290650Shselasky 4783290650Shselasky u8 syndrome[0x20]; 4784290650Shselasky 4785290650Shselasky u8 enable[0x1]; 4786290650Shselasky u8 reserved_1[0x1f]; 4787290650Shselasky 4788290650Shselasky u8 reserved_2[0x160]; 4789290650Shselasky 4790290650Shselasky struct mlx5_ifc_cmd_pas_bits pas; 4791290650Shselasky}; 4792290650Shselasky 4793290650Shselaskystruct mlx5_ifc_query_dc_cnak_trace_in_bits { 4794290650Shselasky u8 opcode[0x10]; 4795290650Shselasky u8 reserved_0[0x10]; 4796290650Shselasky 4797290650Shselasky u8 reserved_1[0x10]; 4798290650Shselasky u8 op_mod[0x10]; 4799290650Shselasky 4800290650Shselasky u8 reserved_2[0x40]; 4801290650Shselasky}; 4802290650Shselasky 4803290650Shselaskystruct mlx5_ifc_query_cq_out_bits { 4804290650Shselasky u8 status[0x8]; 4805290650Shselasky u8 reserved_0[0x18]; 4806290650Shselasky 4807290650Shselasky u8 syndrome[0x20]; 4808290650Shselasky 4809290650Shselasky u8 reserved_1[0x40]; 4810290650Shselasky 4811290650Shselasky struct mlx5_ifc_cqc_bits cq_context; 4812290650Shselasky 4813290650Shselasky u8 reserved_2[0x600]; 4814290650Shselasky 4815290650Shselasky u8 pas[0][0x40]; 4816290650Shselasky}; 4817290650Shselasky 4818290650Shselaskystruct mlx5_ifc_query_cq_in_bits { 4819290650Shselasky u8 opcode[0x10]; 4820290650Shselasky u8 reserved_0[0x10]; 4821290650Shselasky 4822290650Shselasky u8 reserved_1[0x10]; 4823290650Shselasky u8 op_mod[0x10]; 4824290650Shselasky 4825290650Shselasky u8 reserved_2[0x8]; 4826290650Shselasky u8 cqn[0x18]; 4827290650Shselasky 4828290650Shselasky u8 reserved_3[0x20]; 4829290650Shselasky}; 4830290650Shselasky 4831290650Shselaskystruct mlx5_ifc_query_cong_status_out_bits { 4832290650Shselasky u8 status[0x8]; 4833290650Shselasky u8 reserved_0[0x18]; 4834290650Shselasky 4835290650Shselasky u8 syndrome[0x20]; 4836290650Shselasky 4837290650Shselasky u8 reserved_1[0x20]; 4838290650Shselasky 4839290650Shselasky u8 enable[0x1]; 4840290650Shselasky u8 tag_enable[0x1]; 4841290650Shselasky u8 reserved_2[0x1e]; 4842290650Shselasky}; 4843290650Shselasky 4844290650Shselaskystruct mlx5_ifc_query_cong_status_in_bits { 4845290650Shselasky u8 opcode[0x10]; 4846290650Shselasky u8 reserved_0[0x10]; 4847290650Shselasky 4848290650Shselasky u8 reserved_1[0x10]; 4849290650Shselasky u8 op_mod[0x10]; 4850290650Shselasky 4851290650Shselasky u8 reserved_2[0x18]; 4852290650Shselasky u8 priority[0x4]; 4853290650Shselasky u8 cong_protocol[0x4]; 4854290650Shselasky 4855290650Shselasky u8 reserved_3[0x20]; 4856290650Shselasky}; 4857290650Shselasky 4858290650Shselaskystruct mlx5_ifc_query_cong_statistics_out_bits { 4859290650Shselasky u8 status[0x8]; 4860290650Shselasky u8 reserved_0[0x18]; 4861290650Shselasky 4862290650Shselasky u8 syndrome[0x20]; 4863290650Shselasky 4864290650Shselasky u8 reserved_1[0x40]; 4865290650Shselasky 4866290650Shselasky u8 cur_flows[0x20]; 4867290650Shselasky 4868290650Shselasky u8 sum_flows[0x20]; 4869290650Shselasky 4870290650Shselasky u8 cnp_ignored_high[0x20]; 4871290650Shselasky 4872290650Shselasky u8 cnp_ignored_low[0x20]; 4873290650Shselasky 4874290650Shselasky u8 cnp_handled_high[0x20]; 4875290650Shselasky 4876290650Shselasky u8 cnp_handled_low[0x20]; 4877290650Shselasky 4878290650Shselasky u8 reserved_2[0x100]; 4879290650Shselasky 4880290650Shselasky u8 time_stamp_high[0x20]; 4881290650Shselasky 4882290650Shselasky u8 time_stamp_low[0x20]; 4883290650Shselasky 4884290650Shselasky u8 accumulators_period[0x20]; 4885290650Shselasky 4886290650Shselasky u8 ecn_marked_roce_packets_high[0x20]; 4887290650Shselasky 4888290650Shselasky u8 ecn_marked_roce_packets_low[0x20]; 4889290650Shselasky 4890290650Shselasky u8 cnps_sent_high[0x20]; 4891290650Shselasky 4892290650Shselasky u8 cnps_sent_low[0x20]; 4893290650Shselasky 4894290650Shselasky u8 reserved_3[0x560]; 4895290650Shselasky}; 4896290650Shselasky 4897290650Shselaskystruct mlx5_ifc_query_cong_statistics_in_bits { 4898290650Shselasky u8 opcode[0x10]; 4899290650Shselasky u8 reserved_0[0x10]; 4900290650Shselasky 4901290650Shselasky u8 reserved_1[0x10]; 4902290650Shselasky u8 op_mod[0x10]; 4903290650Shselasky 4904290650Shselasky u8 clear[0x1]; 4905290650Shselasky u8 reserved_2[0x1f]; 4906290650Shselasky 4907290650Shselasky u8 reserved_3[0x20]; 4908290650Shselasky}; 4909290650Shselasky 4910290650Shselaskystruct mlx5_ifc_query_cong_params_out_bits { 4911290650Shselasky u8 status[0x8]; 4912290650Shselasky u8 reserved_0[0x18]; 4913290650Shselasky 4914290650Shselasky u8 syndrome[0x20]; 4915290650Shselasky 4916290650Shselasky u8 reserved_1[0x40]; 4917290650Shselasky 4918290650Shselasky union mlx5_ifc_cong_control_roce_ecn_auto_bits congestion_parameters; 4919290650Shselasky}; 4920290650Shselasky 4921290650Shselaskystruct mlx5_ifc_query_cong_params_in_bits { 4922290650Shselasky u8 opcode[0x10]; 4923290650Shselasky u8 reserved_0[0x10]; 4924290650Shselasky 4925290650Shselasky u8 reserved_1[0x10]; 4926290650Shselasky u8 op_mod[0x10]; 4927290650Shselasky 4928290650Shselasky u8 reserved_2[0x1c]; 4929290650Shselasky u8 cong_protocol[0x4]; 4930290650Shselasky 4931290650Shselasky u8 reserved_3[0x20]; 4932290650Shselasky}; 4933290650Shselasky 4934290650Shselaskystruct mlx5_ifc_query_burst_size_out_bits { 4935290650Shselasky u8 status[0x8]; 4936290650Shselasky u8 reserved_0[0x18]; 4937290650Shselasky 4938290650Shselasky u8 syndrome[0x20]; 4939290650Shselasky 4940290650Shselasky u8 reserved_1[0x20]; 4941290650Shselasky 4942290650Shselasky u8 reserved_2[0x9]; 4943290650Shselasky u8 device_burst_size[0x17]; 4944290650Shselasky}; 4945290650Shselasky 4946290650Shselaskystruct mlx5_ifc_query_burst_size_in_bits { 4947290650Shselasky u8 opcode[0x10]; 4948290650Shselasky u8 reserved_0[0x10]; 4949290650Shselasky 4950290650Shselasky u8 reserved_1[0x10]; 4951290650Shselasky u8 op_mod[0x10]; 4952290650Shselasky 4953290650Shselasky u8 reserved_2[0x40]; 4954290650Shselasky}; 4955290650Shselasky 4956290650Shselaskystruct mlx5_ifc_query_adapter_out_bits { 4957290650Shselasky u8 status[0x8]; 4958290650Shselasky u8 reserved_0[0x18]; 4959290650Shselasky 4960290650Shselasky u8 syndrome[0x20]; 4961290650Shselasky 4962290650Shselasky u8 reserved_1[0x40]; 4963290650Shselasky 4964290650Shselasky struct mlx5_ifc_query_adapter_param_block_bits query_adapter_struct; 4965290650Shselasky}; 4966290650Shselasky 4967290650Shselaskystruct mlx5_ifc_query_adapter_in_bits { 4968290650Shselasky u8 opcode[0x10]; 4969290650Shselasky u8 reserved_0[0x10]; 4970290650Shselasky 4971290650Shselasky u8 reserved_1[0x10]; 4972290650Shselasky u8 op_mod[0x10]; 4973290650Shselasky 4974290650Shselasky u8 reserved_2[0x40]; 4975290650Shselasky}; 4976290650Shselasky 4977290650Shselaskystruct mlx5_ifc_qp_2rst_out_bits { 4978290650Shselasky u8 status[0x8]; 4979290650Shselasky u8 reserved_0[0x18]; 4980290650Shselasky 4981290650Shselasky u8 syndrome[0x20]; 4982290650Shselasky 4983290650Shselasky u8 reserved_1[0x40]; 4984290650Shselasky}; 4985290650Shselasky 4986290650Shselaskystruct mlx5_ifc_qp_2rst_in_bits { 4987290650Shselasky u8 opcode[0x10]; 4988290650Shselasky u8 reserved_0[0x10]; 4989290650Shselasky 4990290650Shselasky u8 reserved_1[0x10]; 4991290650Shselasky u8 op_mod[0x10]; 4992290650Shselasky 4993290650Shselasky u8 reserved_2[0x8]; 4994290650Shselasky u8 qpn[0x18]; 4995290650Shselasky 4996290650Shselasky u8 reserved_3[0x20]; 4997290650Shselasky}; 4998290650Shselasky 4999290650Shselaskystruct mlx5_ifc_qp_2err_out_bits { 5000290650Shselasky u8 status[0x8]; 5001290650Shselasky u8 reserved_0[0x18]; 5002290650Shselasky 5003290650Shselasky u8 syndrome[0x20]; 5004290650Shselasky 5005290650Shselasky u8 reserved_1[0x40]; 5006290650Shselasky}; 5007290650Shselasky 5008290650Shselaskystruct mlx5_ifc_qp_2err_in_bits { 5009290650Shselasky u8 opcode[0x10]; 5010290650Shselasky u8 reserved_0[0x10]; 5011290650Shselasky 5012290650Shselasky u8 reserved_1[0x10]; 5013290650Shselasky u8 op_mod[0x10]; 5014290650Shselasky 5015290650Shselasky u8 reserved_2[0x8]; 5016290650Shselasky u8 qpn[0x18]; 5017290650Shselasky 5018290650Shselasky u8 reserved_3[0x20]; 5019290650Shselasky}; 5020290650Shselasky 5021308678Shselaskystruct mlx5_ifc_para_vport_element_bits { 5022308678Shselasky u8 reserved_at_0[0xc]; 5023308678Shselasky u8 traffic_class[0x4]; 5024308678Shselasky u8 qos_para_vport_number[0x10]; 5025308678Shselasky}; 5026308678Shselasky 5027290650Shselaskystruct mlx5_ifc_page_fault_resume_out_bits { 5028290650Shselasky u8 status[0x8]; 5029290650Shselasky u8 reserved_0[0x18]; 5030290650Shselasky 5031290650Shselasky u8 syndrome[0x20]; 5032290650Shselasky 5033290650Shselasky u8 reserved_1[0x40]; 5034290650Shselasky}; 5035290650Shselasky 5036290650Shselaskystruct mlx5_ifc_page_fault_resume_in_bits { 5037290650Shselasky u8 opcode[0x10]; 5038290650Shselasky u8 reserved_0[0x10]; 5039290650Shselasky 5040290650Shselasky u8 reserved_1[0x10]; 5041290650Shselasky u8 op_mod[0x10]; 5042290650Shselasky 5043290650Shselasky u8 error[0x1]; 5044290650Shselasky u8 reserved_2[0x4]; 5045290650Shselasky u8 rdma[0x1]; 5046290650Shselasky u8 read_write[0x1]; 5047290650Shselasky u8 req_res[0x1]; 5048290650Shselasky u8 qpn[0x18]; 5049290650Shselasky 5050290650Shselasky u8 reserved_3[0x20]; 5051290650Shselasky}; 5052290650Shselasky 5053290650Shselaskystruct mlx5_ifc_nop_out_bits { 5054290650Shselasky u8 status[0x8]; 5055290650Shselasky u8 reserved_0[0x18]; 5056290650Shselasky 5057290650Shselasky u8 syndrome[0x20]; 5058290650Shselasky 5059290650Shselasky u8 reserved_1[0x40]; 5060290650Shselasky}; 5061290650Shselasky 5062290650Shselaskystruct mlx5_ifc_nop_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_modify_vport_state_out_bits { 5073290650Shselasky u8 status[0x8]; 5074290650Shselasky u8 reserved_0[0x18]; 5075290650Shselasky 5076290650Shselasky u8 syndrome[0x20]; 5077290650Shselasky 5078290650Shselasky u8 reserved_1[0x40]; 5079290650Shselasky}; 5080290650Shselasky 5081290650Shselaskyenum { 5082290650Shselasky MLX5_MODIFY_VPORT_STATE_IN_OP_MOD_NIC_VPORT = 0x0, 5083290650Shselasky MLX5_MODIFY_VPORT_STATE_IN_OP_MOD_ESW_VPORT = 0x1, 5084290650Shselasky MLX5_MODIFY_VPORT_STATE_IN_OP_MOD_UPLINK = 0x2, 5085290650Shselasky}; 5086290650Shselasky 5087290650Shselaskyenum { 5088290650Shselasky MLX5_MODIFY_VPORT_STATE_IN_ADMIN_STATE_DOWN = 0x0, 5089290650Shselasky MLX5_MODIFY_VPORT_STATE_IN_ADMIN_STATE_UP = 0x1, 5090290650Shselasky MLX5_MODIFY_VPORT_STATE_IN_ADMIN_STATE_FOLLOW = 0x2, 5091290650Shselasky}; 5092290650Shselasky 5093290650Shselaskystruct mlx5_ifc_modify_vport_state_in_bits { 5094290650Shselasky u8 opcode[0x10]; 5095290650Shselasky u8 reserved_0[0x10]; 5096290650Shselasky 5097290650Shselasky u8 reserved_1[0x10]; 5098290650Shselasky u8 op_mod[0x10]; 5099290650Shselasky 5100290650Shselasky u8 other_vport[0x1]; 5101290650Shselasky u8 reserved_2[0xf]; 5102290650Shselasky u8 vport_number[0x10]; 5103290650Shselasky 5104290650Shselasky u8 reserved_3[0x18]; 5105290650Shselasky u8 admin_state[0x4]; 5106290650Shselasky u8 reserved_4[0x4]; 5107290650Shselasky}; 5108290650Shselasky 5109290650Shselaskystruct mlx5_ifc_modify_tis_out_bits { 5110290650Shselasky u8 status[0x8]; 5111290650Shselasky u8 reserved_0[0x18]; 5112290650Shselasky 5113290650Shselasky u8 syndrome[0x20]; 5114290650Shselasky 5115290650Shselasky u8 reserved_1[0x40]; 5116290650Shselasky}; 5117290650Shselasky 5118329204Shselaskystruct mlx5_ifc_modify_tis_bitmask_bits { 5119329204Shselasky u8 reserved_at_0[0x20]; 5120329204Shselasky 5121329204Shselasky u8 reserved_at_20[0x1d]; 5122329204Shselasky u8 lag_tx_port_affinity[0x1]; 5123329204Shselasky u8 strict_lag_tx_port_affinity[0x1]; 5124329204Shselasky u8 prio[0x1]; 5125329204Shselasky}; 5126329204Shselasky 5127290650Shselaskystruct mlx5_ifc_modify_tis_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 tisn[0x18]; 5136290650Shselasky 5137290650Shselasky u8 reserved_3[0x20]; 5138290650Shselasky 5139329204Shselasky struct mlx5_ifc_modify_tis_bitmask_bits bitmask; 5140290650Shselasky 5141290650Shselasky u8 reserved_4[0x40]; 5142290650Shselasky 5143290650Shselasky struct mlx5_ifc_tisc_bits ctx; 5144290650Shselasky}; 5145290650Shselasky 5146290650Shselaskystruct mlx5_ifc_modify_tir_out_bits { 5147290650Shselasky u8 status[0x8]; 5148290650Shselasky u8 reserved_0[0x18]; 5149290650Shselasky 5150290650Shselasky u8 syndrome[0x20]; 5151290650Shselasky 5152290650Shselasky u8 reserved_1[0x40]; 5153290650Shselasky}; 5154290650Shselasky 5155308678Shselaskyenum 5156308678Shselasky{ 5157308678Shselasky MLX5_MODIFY_SQ_BITMASK_PACKET_PACING_RATE_LIMIT_INDEX = 0x1 << 0, 5158308678Shselasky MLX5_MODIFY_SQ_BITMASK_QOS_PARA_VPORT_NUMBER = 0x1 << 1 5159308678Shselasky}; 5160308678Shselasky 5161290650Shselaskystruct mlx5_ifc_modify_tir_in_bits { 5162290650Shselasky u8 opcode[0x10]; 5163290650Shselasky u8 reserved_0[0x10]; 5164290650Shselasky 5165290650Shselasky u8 reserved_1[0x10]; 5166290650Shselasky u8 op_mod[0x10]; 5167290650Shselasky 5168290650Shselasky u8 reserved_2[0x8]; 5169290650Shselasky u8 tirn[0x18]; 5170290650Shselasky 5171290650Shselasky u8 reserved_3[0x20]; 5172290650Shselasky 5173290650Shselasky u8 modify_bitmask[0x40]; 5174290650Shselasky 5175290650Shselasky u8 reserved_4[0x40]; 5176290650Shselasky 5177290650Shselasky struct mlx5_ifc_tirc_bits tir_context; 5178290650Shselasky}; 5179290650Shselasky 5180290650Shselaskystruct mlx5_ifc_modify_sq_out_bits { 5181290650Shselasky u8 status[0x8]; 5182290650Shselasky u8 reserved_0[0x18]; 5183290650Shselasky 5184290650Shselasky u8 syndrome[0x20]; 5185290650Shselasky 5186290650Shselasky u8 reserved_1[0x40]; 5187290650Shselasky}; 5188290650Shselasky 5189290650Shselaskystruct mlx5_ifc_modify_sq_in_bits { 5190290650Shselasky u8 opcode[0x10]; 5191290650Shselasky u8 reserved_0[0x10]; 5192290650Shselasky 5193290650Shselasky u8 reserved_1[0x10]; 5194290650Shselasky u8 op_mod[0x10]; 5195290650Shselasky 5196290650Shselasky u8 sq_state[0x4]; 5197290650Shselasky u8 reserved_2[0x4]; 5198290650Shselasky u8 sqn[0x18]; 5199290650Shselasky 5200290650Shselasky u8 reserved_3[0x20]; 5201290650Shselasky 5202290650Shselasky u8 modify_bitmask[0x40]; 5203290650Shselasky 5204290650Shselasky u8 reserved_4[0x40]; 5205290650Shselasky 5206290650Shselasky struct mlx5_ifc_sqc_bits ctx; 5207290650Shselasky}; 5208290650Shselasky 5209308678Shselaskystruct mlx5_ifc_modify_scheduling_element_out_bits { 5210308678Shselasky u8 status[0x8]; 5211308678Shselasky u8 reserved_at_8[0x18]; 5212308678Shselasky 5213308678Shselasky u8 syndrome[0x20]; 5214308678Shselasky 5215308678Shselasky u8 reserved_at_40[0x1c0]; 5216308678Shselasky}; 5217308678Shselasky 5218308678Shselaskyenum { 5219308678Shselasky MLX5_MODIFY_SCHEDULING_ELEMENT_IN_SCHEDULING_HIERARCHY_E_SWITCH = 0x2, 5220308678Shselasky}; 5221308678Shselasky 5222308678Shselaskyenum { 5223308678Shselasky MLX5_MODIFY_SCHEDULING_ELEMENT_BITMASK_BW_SHARE = 0x1, 5224308678Shselasky MLX5_MODIFY_SCHEDULING_ELEMENT_BITMASK_MAX_AVERAGE_BW = 0x2, 5225308678Shselasky}; 5226308678Shselasky 5227308678Shselaskystruct mlx5_ifc_modify_scheduling_element_in_bits { 5228308678Shselasky u8 opcode[0x10]; 5229308678Shselasky u8 reserved_at_10[0x10]; 5230308678Shselasky 5231308678Shselasky u8 reserved_at_20[0x10]; 5232308678Shselasky u8 op_mod[0x10]; 5233308678Shselasky 5234308678Shselasky u8 scheduling_hierarchy[0x8]; 5235308678Shselasky u8 reserved_at_48[0x18]; 5236308678Shselasky 5237308678Shselasky u8 scheduling_element_id[0x20]; 5238308678Shselasky 5239308678Shselasky u8 reserved_at_80[0x20]; 5240308678Shselasky 5241308678Shselasky u8 modify_bitmask[0x20]; 5242308678Shselasky 5243308678Shselasky u8 reserved_at_c0[0x40]; 5244308678Shselasky 5245308678Shselasky struct mlx5_ifc_scheduling_context_bits scheduling_context; 5246308678Shselasky 5247308678Shselasky u8 reserved_at_300[0x100]; 5248308678Shselasky}; 5249308678Shselasky 5250290650Shselaskystruct mlx5_ifc_modify_rqt_out_bits { 5251290650Shselasky u8 status[0x8]; 5252290650Shselasky u8 reserved_0[0x18]; 5253290650Shselasky 5254290650Shselasky u8 syndrome[0x20]; 5255290650Shselasky 5256290650Shselasky u8 reserved_1[0x40]; 5257290650Shselasky}; 5258290650Shselasky 5259290650Shselaskystruct mlx5_ifc_modify_rqt_in_bits { 5260290650Shselasky u8 opcode[0x10]; 5261290650Shselasky u8 reserved_0[0x10]; 5262290650Shselasky 5263290650Shselasky u8 reserved_1[0x10]; 5264290650Shselasky u8 op_mod[0x10]; 5265290650Shselasky 5266290650Shselasky u8 reserved_2[0x8]; 5267290650Shselasky u8 rqtn[0x18]; 5268290650Shselasky 5269290650Shselasky u8 reserved_3[0x20]; 5270290650Shselasky 5271290650Shselasky u8 modify_bitmask[0x40]; 5272290650Shselasky 5273290650Shselasky u8 reserved_4[0x40]; 5274290650Shselasky 5275290650Shselasky struct mlx5_ifc_rqtc_bits ctx; 5276290650Shselasky}; 5277290650Shselasky 5278290650Shselaskystruct mlx5_ifc_modify_rq_out_bits { 5279290650Shselasky u8 status[0x8]; 5280290650Shselasky u8 reserved_0[0x18]; 5281290650Shselasky 5282290650Shselasky u8 syndrome[0x20]; 5283290650Shselasky 5284290650Shselasky u8 reserved_1[0x40]; 5285290650Shselasky}; 5286290650Shselasky 5287329204Shselaskyenum { 5288329204Shselasky MLX5_MODIFY_RQ_IN_MODIFY_BITMASK_VSD = 1ULL << 1, 5289329204Shselasky MLX5_MODIFY_RQ_IN_MODIFY_BITMASK_MODIFY_RQ_COUNTER_SET_ID = 1ULL << 3, 5290306233Shselasky}; 5291306233Shselasky 5292290650Shselaskystruct mlx5_ifc_modify_rq_in_bits { 5293290650Shselasky u8 opcode[0x10]; 5294290650Shselasky u8 reserved_0[0x10]; 5295290650Shselasky 5296290650Shselasky u8 reserved_1[0x10]; 5297290650Shselasky u8 op_mod[0x10]; 5298290650Shselasky 5299290650Shselasky u8 rq_state[0x4]; 5300290650Shselasky u8 reserved_2[0x4]; 5301290650Shselasky u8 rqn[0x18]; 5302290650Shselasky 5303290650Shselasky u8 reserved_3[0x20]; 5304290650Shselasky 5305329204Shselasky u8 modify_bitmask[0x40]; 5306290650Shselasky 5307290650Shselasky u8 reserved_4[0x40]; 5308290650Shselasky 5309290650Shselasky struct mlx5_ifc_rqc_bits ctx; 5310290650Shselasky}; 5311290650Shselasky 5312290650Shselaskystruct mlx5_ifc_modify_rmp_out_bits { 5313290650Shselasky u8 status[0x8]; 5314290650Shselasky u8 reserved_0[0x18]; 5315290650Shselasky 5316290650Shselasky u8 syndrome[0x20]; 5317290650Shselasky 5318290650Shselasky u8 reserved_1[0x40]; 5319290650Shselasky}; 5320290650Shselasky 5321290650Shselaskystruct mlx5_ifc_rmp_bitmask_bits { 5322290650Shselasky u8 reserved[0x20]; 5323290650Shselasky 5324290650Shselasky u8 reserved1[0x1f]; 5325290650Shselasky u8 lwm[0x1]; 5326290650Shselasky}; 5327290650Shselasky 5328290650Shselaskystruct mlx5_ifc_modify_rmp_in_bits { 5329290650Shselasky u8 opcode[0x10]; 5330290650Shselasky u8 reserved_0[0x10]; 5331290650Shselasky 5332290650Shselasky u8 reserved_1[0x10]; 5333290650Shselasky u8 op_mod[0x10]; 5334290650Shselasky 5335290650Shselasky u8 rmp_state[0x4]; 5336290650Shselasky u8 reserved_2[0x4]; 5337290650Shselasky u8 rmpn[0x18]; 5338290650Shselasky 5339290650Shselasky u8 reserved_3[0x20]; 5340290650Shselasky 5341290650Shselasky struct mlx5_ifc_rmp_bitmask_bits bitmask; 5342290650Shselasky 5343290650Shselasky u8 reserved_4[0x40]; 5344290650Shselasky 5345290650Shselasky struct mlx5_ifc_rmpc_bits ctx; 5346290650Shselasky}; 5347290650Shselasky 5348290650Shselaskystruct mlx5_ifc_modify_nic_vport_context_out_bits { 5349290650Shselasky u8 status[0x8]; 5350290650Shselasky u8 reserved_0[0x18]; 5351290650Shselasky 5352290650Shselasky u8 syndrome[0x20]; 5353290650Shselasky 5354290650Shselasky u8 reserved_1[0x40]; 5355290650Shselasky}; 5356290650Shselasky 5357290650Shselaskystruct mlx5_ifc_modify_nic_vport_field_select_bits { 5358321992Shselasky u8 reserved_0[0x14]; 5359321992Shselasky u8 disable_uc_local_lb[0x1]; 5360321992Shselasky u8 disable_mc_local_lb[0x1]; 5361306233Shselasky u8 node_guid[0x1]; 5362306233Shselasky u8 port_guid[0x1]; 5363290650Shselasky u8 min_wqe_inline_mode[0x1]; 5364290650Shselasky u8 mtu[0x1]; 5365290650Shselasky u8 change_event[0x1]; 5366290650Shselasky u8 promisc[0x1]; 5367290650Shselasky u8 permanent_address[0x1]; 5368290650Shselasky u8 addresses_list[0x1]; 5369290650Shselasky u8 roce_en[0x1]; 5370290650Shselasky u8 reserved_1[0x1]; 5371290650Shselasky}; 5372290650Shselasky 5373290650Shselaskystruct mlx5_ifc_modify_nic_vport_context_in_bits { 5374290650Shselasky u8 opcode[0x10]; 5375290650Shselasky u8 reserved_0[0x10]; 5376290650Shselasky 5377290650Shselasky u8 reserved_1[0x10]; 5378290650Shselasky u8 op_mod[0x10]; 5379290650Shselasky 5380290650Shselasky u8 other_vport[0x1]; 5381290650Shselasky u8 reserved_2[0xf]; 5382290650Shselasky u8 vport_number[0x10]; 5383290650Shselasky 5384290650Shselasky struct mlx5_ifc_modify_nic_vport_field_select_bits field_select; 5385290650Shselasky 5386290650Shselasky u8 reserved_3[0x780]; 5387290650Shselasky 5388290650Shselasky struct mlx5_ifc_nic_vport_context_bits nic_vport_context; 5389290650Shselasky}; 5390290650Shselasky 5391290650Shselaskystruct mlx5_ifc_modify_hca_vport_context_out_bits { 5392290650Shselasky u8 status[0x8]; 5393290650Shselasky u8 reserved_0[0x18]; 5394290650Shselasky 5395290650Shselasky u8 syndrome[0x20]; 5396290650Shselasky 5397290650Shselasky u8 reserved_1[0x40]; 5398290650Shselasky}; 5399290650Shselasky 5400306233Shselaskystruct mlx5_ifc_grh_bits { 5401306233Shselasky u8 ip_version[4]; 5402306233Shselasky u8 traffic_class[8]; 5403306233Shselasky u8 flow_label[20]; 5404306233Shselasky u8 payload_length[16]; 5405306233Shselasky u8 next_header[8]; 5406306233Shselasky u8 hop_limit[8]; 5407306233Shselasky u8 sgid[128]; 5408306233Shselasky u8 dgid[128]; 5409306233Shselasky}; 5410306233Shselasky 5411306233Shselaskystruct mlx5_ifc_bth_bits { 5412306233Shselasky u8 opcode[8]; 5413306233Shselasky u8 se[1]; 5414306233Shselasky u8 migreq[1]; 5415306233Shselasky u8 pad_count[2]; 5416306233Shselasky u8 tver[4]; 5417306233Shselasky u8 p_key[16]; 5418306233Shselasky u8 reserved8[8]; 5419306233Shselasky u8 dest_qp[24]; 5420306233Shselasky u8 ack_req[1]; 5421306233Shselasky u8 reserved7[7]; 5422306233Shselasky u8 psn[24]; 5423306233Shselasky}; 5424306233Shselasky 5425306233Shselaskystruct mlx5_ifc_aeth_bits { 5426306233Shselasky u8 syndrome[8]; 5427306233Shselasky u8 msn[24]; 5428306233Shselasky}; 5429306233Shselasky 5430306233Shselaskystruct mlx5_ifc_dceth_bits { 5431306233Shselasky u8 reserved0[8]; 5432306233Shselasky u8 session_id[24]; 5433306233Shselasky u8 reserved1[8]; 5434306233Shselasky u8 dci_dct[24]; 5435306233Shselasky}; 5436306233Shselasky 5437290650Shselaskystruct mlx5_ifc_modify_hca_vport_context_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[0xb]; 5446290650Shselasky u8 port_num[0x4]; 5447290650Shselasky u8 vport_number[0x10]; 5448290650Shselasky 5449290650Shselasky u8 reserved_3[0x20]; 5450290650Shselasky 5451290650Shselasky struct mlx5_ifc_hca_vport_context_bits hca_vport_context; 5452290650Shselasky}; 5453290650Shselasky 5454329200Shselaskystruct mlx5_ifc_modify_flow_table_out_bits { 5455329200Shselasky u8 status[0x8]; 5456329200Shselasky u8 reserved_at_8[0x18]; 5457329200Shselasky 5458329200Shselasky u8 syndrome[0x20]; 5459329200Shselasky 5460329200Shselasky u8 reserved_at_40[0x40]; 5461329200Shselasky}; 5462329200Shselasky 5463329200Shselaskyenum { 5464329200Shselasky MLX5_MODIFY_FLOW_TABLE_SELECT_MISS_ACTION_AND_ID = 0x1, 5465329200Shselasky MLX5_MODIFY_FLOW_TABLE_SELECT_LAG_MASTER_NEXT_TABLE_ID = 0x8000, 5466329200Shselasky}; 5467329200Shselasky 5468329200Shselaskystruct mlx5_ifc_modify_flow_table_in_bits { 5469329200Shselasky u8 opcode[0x10]; 5470329200Shselasky u8 reserved_at_10[0x10]; 5471329200Shselasky 5472329200Shselasky u8 reserved_at_20[0x10]; 5473329200Shselasky u8 op_mod[0x10]; 5474329200Shselasky 5475329200Shselasky u8 other_vport[0x1]; 5476329200Shselasky u8 reserved_at_41[0xf]; 5477329200Shselasky u8 vport_number[0x10]; 5478329200Shselasky 5479329200Shselasky u8 reserved_at_60[0x10]; 5480329200Shselasky u8 modify_field_select[0x10]; 5481329200Shselasky 5482329200Shselasky u8 table_type[0x8]; 5483329200Shselasky u8 reserved_at_88[0x18]; 5484329200Shselasky 5485329200Shselasky u8 reserved_at_a0[0x8]; 5486329200Shselasky u8 table_id[0x18]; 5487329200Shselasky 5488329200Shselasky struct mlx5_ifc_flow_table_context_bits flow_table_context; 5489329200Shselasky}; 5490329200Shselasky 5491290650Shselaskystruct mlx5_ifc_modify_esw_vport_context_out_bits { 5492290650Shselasky u8 status[0x8]; 5493290650Shselasky u8 reserved_0[0x18]; 5494290650Shselasky 5495290650Shselasky u8 syndrome[0x20]; 5496290650Shselasky 5497290650Shselasky u8 reserved_1[0x40]; 5498290650Shselasky}; 5499290650Shselasky 5500306233Shselaskystruct mlx5_ifc_esw_vport_context_fields_select_bits { 5501306233Shselasky u8 reserved[0x1c]; 5502306233Shselasky u8 vport_cvlan_insert[0x1]; 5503306233Shselasky u8 vport_svlan_insert[0x1]; 5504306233Shselasky u8 vport_cvlan_strip[0x1]; 5505306233Shselasky u8 vport_svlan_strip[0x1]; 5506306233Shselasky}; 5507306233Shselasky 5508290650Shselaskystruct mlx5_ifc_modify_esw_vport_context_in_bits { 5509290650Shselasky u8 opcode[0x10]; 5510290650Shselasky u8 reserved_0[0x10]; 5511290650Shselasky 5512290650Shselasky u8 reserved_1[0x10]; 5513290650Shselasky u8 op_mod[0x10]; 5514290650Shselasky 5515290650Shselasky u8 other_vport[0x1]; 5516290650Shselasky u8 reserved_2[0xf]; 5517290650Shselasky u8 vport_number[0x10]; 5518290650Shselasky 5519306233Shselasky struct mlx5_ifc_esw_vport_context_fields_select_bits field_select; 5520290650Shselasky 5521290650Shselasky struct mlx5_ifc_esw_vport_context_bits esw_vport_context; 5522290650Shselasky}; 5523290650Shselasky 5524290650Shselaskystruct mlx5_ifc_modify_cq_out_bits { 5525290650Shselasky u8 status[0x8]; 5526290650Shselasky u8 reserved_0[0x18]; 5527290650Shselasky 5528290650Shselasky u8 syndrome[0x20]; 5529290650Shselasky 5530290650Shselasky u8 reserved_1[0x40]; 5531290650Shselasky}; 5532290650Shselasky 5533290650Shselaskyenum { 5534290650Shselasky MLX5_MODIFY_CQ_IN_OP_MOD_MODIFY_CQ = 0x0, 5535290650Shselasky MLX5_MODIFY_CQ_IN_OP_MOD_RESIZE_CQ = 0x1, 5536290650Shselasky}; 5537290650Shselasky 5538290650Shselaskystruct mlx5_ifc_modify_cq_in_bits { 5539290650Shselasky u8 opcode[0x10]; 5540290650Shselasky u8 reserved_0[0x10]; 5541290650Shselasky 5542290650Shselasky u8 reserved_1[0x10]; 5543290650Shselasky u8 op_mod[0x10]; 5544290650Shselasky 5545290650Shselasky u8 reserved_2[0x8]; 5546290650Shselasky u8 cqn[0x18]; 5547290650Shselasky 5548290650Shselasky union mlx5_ifc_modify_field_select_resize_field_select_auto_bits modify_field_select_resize_field_select; 5549290650Shselasky 5550290650Shselasky struct mlx5_ifc_cqc_bits cq_context; 5551290650Shselasky 5552290650Shselasky u8 reserved_3[0x600]; 5553290650Shselasky 5554290650Shselasky u8 pas[0][0x40]; 5555290650Shselasky}; 5556290650Shselasky 5557290650Shselaskystruct mlx5_ifc_modify_cong_status_out_bits { 5558290650Shselasky u8 status[0x8]; 5559290650Shselasky u8 reserved_0[0x18]; 5560290650Shselasky 5561290650Shselasky u8 syndrome[0x20]; 5562290650Shselasky 5563290650Shselasky u8 reserved_1[0x40]; 5564290650Shselasky}; 5565290650Shselasky 5566290650Shselaskystruct mlx5_ifc_modify_cong_status_in_bits { 5567290650Shselasky u8 opcode[0x10]; 5568290650Shselasky u8 reserved_0[0x10]; 5569290650Shselasky 5570290650Shselasky u8 reserved_1[0x10]; 5571290650Shselasky u8 op_mod[0x10]; 5572290650Shselasky 5573290650Shselasky u8 reserved_2[0x18]; 5574290650Shselasky u8 priority[0x4]; 5575290650Shselasky u8 cong_protocol[0x4]; 5576290650Shselasky 5577290650Shselasky u8 enable[0x1]; 5578290650Shselasky u8 tag_enable[0x1]; 5579290650Shselasky u8 reserved_3[0x1e]; 5580290650Shselasky}; 5581290650Shselasky 5582290650Shselaskystruct mlx5_ifc_modify_cong_params_out_bits { 5583290650Shselasky u8 status[0x8]; 5584290650Shselasky u8 reserved_0[0x18]; 5585290650Shselasky 5586290650Shselasky u8 syndrome[0x20]; 5587290650Shselasky 5588290650Shselasky u8 reserved_1[0x40]; 5589290650Shselasky}; 5590290650Shselasky 5591290650Shselaskystruct mlx5_ifc_modify_cong_params_in_bits { 5592290650Shselasky u8 opcode[0x10]; 5593290650Shselasky u8 reserved_0[0x10]; 5594290650Shselasky 5595290650Shselasky u8 reserved_1[0x10]; 5596290650Shselasky u8 op_mod[0x10]; 5597290650Shselasky 5598290650Shselasky u8 reserved_2[0x1c]; 5599290650Shselasky u8 cong_protocol[0x4]; 5600290650Shselasky 5601290650Shselasky union mlx5_ifc_field_select_802_1_r_roce_auto_bits field_select; 5602290650Shselasky 5603290650Shselasky u8 reserved_3[0x80]; 5604290650Shselasky 5605290650Shselasky union mlx5_ifc_cong_control_roce_ecn_auto_bits congestion_parameters; 5606290650Shselasky}; 5607290650Shselasky 5608290650Shselaskystruct mlx5_ifc_manage_pages_out_bits { 5609290650Shselasky u8 status[0x8]; 5610290650Shselasky u8 reserved_0[0x18]; 5611290650Shselasky 5612290650Shselasky u8 syndrome[0x20]; 5613290650Shselasky 5614290650Shselasky u8 output_num_entries[0x20]; 5615290650Shselasky 5616290650Shselasky u8 reserved_1[0x20]; 5617290650Shselasky 5618290650Shselasky u8 pas[0][0x40]; 5619290650Shselasky}; 5620290650Shselasky 5621290650Shselaskyenum { 5622290650Shselasky MLX5_PAGES_CANT_GIVE = 0x0, 5623290650Shselasky MLX5_PAGES_GIVE = 0x1, 5624290650Shselasky MLX5_PAGES_TAKE = 0x2, 5625290650Shselasky}; 5626290650Shselasky 5627290650Shselaskystruct mlx5_ifc_manage_pages_in_bits { 5628290650Shselasky u8 opcode[0x10]; 5629290650Shselasky u8 reserved_0[0x10]; 5630290650Shselasky 5631290650Shselasky u8 reserved_1[0x10]; 5632290650Shselasky u8 op_mod[0x10]; 5633290650Shselasky 5634290650Shselasky u8 reserved_2[0x10]; 5635290650Shselasky u8 function_id[0x10]; 5636290650Shselasky 5637290650Shselasky u8 input_num_entries[0x20]; 5638290650Shselasky 5639290650Shselasky u8 pas[0][0x40]; 5640290650Shselasky}; 5641290650Shselasky 5642290650Shselaskystruct mlx5_ifc_mad_ifc_out_bits { 5643290650Shselasky u8 status[0x8]; 5644290650Shselasky u8 reserved_0[0x18]; 5645290650Shselasky 5646290650Shselasky u8 syndrome[0x20]; 5647290650Shselasky 5648290650Shselasky u8 reserved_1[0x40]; 5649290650Shselasky 5650290650Shselasky u8 response_mad_packet[256][0x8]; 5651290650Shselasky}; 5652290650Shselasky 5653290650Shselaskystruct mlx5_ifc_mad_ifc_in_bits { 5654290650Shselasky u8 opcode[0x10]; 5655290650Shselasky u8 reserved_0[0x10]; 5656290650Shselasky 5657290650Shselasky u8 reserved_1[0x10]; 5658290650Shselasky u8 op_mod[0x10]; 5659290650Shselasky 5660290650Shselasky u8 remote_lid[0x10]; 5661290650Shselasky u8 reserved_2[0x8]; 5662290650Shselasky u8 port[0x8]; 5663290650Shselasky 5664290650Shselasky u8 reserved_3[0x20]; 5665290650Shselasky 5666290650Shselasky u8 mad[256][0x8]; 5667290650Shselasky}; 5668290650Shselasky 5669290650Shselaskystruct mlx5_ifc_init_hca_out_bits { 5670290650Shselasky u8 status[0x8]; 5671290650Shselasky u8 reserved_0[0x18]; 5672290650Shselasky 5673290650Shselasky u8 syndrome[0x20]; 5674290650Shselasky 5675290650Shselasky u8 reserved_1[0x40]; 5676290650Shselasky}; 5677290650Shselasky 5678290650Shselaskyenum { 5679290650Shselasky MLX5_INIT_HCA_IN_OP_MOD_INIT = 0x0, 5680290650Shselasky MLX5_INIT_HCA_IN_OP_MOD_PRE_INIT = 0x1, 5681290650Shselasky}; 5682290650Shselasky 5683290650Shselaskystruct mlx5_ifc_init_hca_in_bits { 5684290650Shselasky u8 opcode[0x10]; 5685290650Shselasky u8 reserved_0[0x10]; 5686290650Shselasky 5687290650Shselasky u8 reserved_1[0x10]; 5688290650Shselasky u8 op_mod[0x10]; 5689290650Shselasky 5690290650Shselasky u8 reserved_2[0x40]; 5691290650Shselasky}; 5692290650Shselasky 5693290650Shselaskystruct mlx5_ifc_init2rtr_qp_out_bits { 5694290650Shselasky u8 status[0x8]; 5695290650Shselasky u8 reserved_0[0x18]; 5696290650Shselasky 5697290650Shselasky u8 syndrome[0x20]; 5698290650Shselasky 5699290650Shselasky u8 reserved_1[0x40]; 5700290650Shselasky}; 5701290650Shselasky 5702290650Shselaskystruct mlx5_ifc_init2rtr_qp_in_bits { 5703290650Shselasky u8 opcode[0x10]; 5704290650Shselasky u8 reserved_0[0x10]; 5705290650Shselasky 5706290650Shselasky u8 reserved_1[0x10]; 5707290650Shselasky u8 op_mod[0x10]; 5708290650Shselasky 5709290650Shselasky u8 reserved_2[0x8]; 5710290650Shselasky u8 qpn[0x18]; 5711290650Shselasky 5712290650Shselasky u8 reserved_3[0x20]; 5713290650Shselasky 5714290650Shselasky u8 opt_param_mask[0x20]; 5715290650Shselasky 5716290650Shselasky u8 reserved_4[0x20]; 5717290650Shselasky 5718290650Shselasky struct mlx5_ifc_qpc_bits qpc; 5719290650Shselasky 5720290650Shselasky u8 reserved_5[0x80]; 5721290650Shselasky}; 5722290650Shselasky 5723290650Shselaskystruct mlx5_ifc_init2init_qp_out_bits { 5724290650Shselasky u8 status[0x8]; 5725290650Shselasky u8 reserved_0[0x18]; 5726290650Shselasky 5727290650Shselasky u8 syndrome[0x20]; 5728290650Shselasky 5729290650Shselasky u8 reserved_1[0x40]; 5730290650Shselasky}; 5731290650Shselasky 5732290650Shselaskystruct mlx5_ifc_init2init_qp_in_bits { 5733290650Shselasky u8 opcode[0x10]; 5734290650Shselasky u8 reserved_0[0x10]; 5735290650Shselasky 5736290650Shselasky u8 reserved_1[0x10]; 5737290650Shselasky u8 op_mod[0x10]; 5738290650Shselasky 5739290650Shselasky u8 reserved_2[0x8]; 5740290650Shselasky u8 qpn[0x18]; 5741290650Shselasky 5742290650Shselasky u8 reserved_3[0x20]; 5743290650Shselasky 5744290650Shselasky u8 opt_param_mask[0x20]; 5745290650Shselasky 5746290650Shselasky u8 reserved_4[0x20]; 5747290650Shselasky 5748290650Shselasky struct mlx5_ifc_qpc_bits qpc; 5749290650Shselasky 5750290650Shselasky u8 reserved_5[0x80]; 5751290650Shselasky}; 5752290650Shselasky 5753290650Shselaskystruct mlx5_ifc_get_dropped_packet_log_out_bits { 5754290650Shselasky u8 status[0x8]; 5755290650Shselasky u8 reserved_0[0x18]; 5756290650Shselasky 5757290650Shselasky u8 syndrome[0x20]; 5758290650Shselasky 5759290650Shselasky u8 reserved_1[0x40]; 5760290650Shselasky 5761290650Shselasky u8 packet_headers_log[128][0x8]; 5762290650Shselasky 5763290650Shselasky u8 packet_syndrome[64][0x8]; 5764290650Shselasky}; 5765290650Shselasky 5766290650Shselaskystruct mlx5_ifc_get_dropped_packet_log_in_bits { 5767290650Shselasky u8 opcode[0x10]; 5768290650Shselasky u8 reserved_0[0x10]; 5769290650Shselasky 5770290650Shselasky u8 reserved_1[0x10]; 5771290650Shselasky u8 op_mod[0x10]; 5772290650Shselasky 5773290650Shselasky u8 reserved_2[0x40]; 5774290650Shselasky}; 5775290650Shselasky 5776290650Shselaskystruct mlx5_ifc_gen_eqe_in_bits { 5777290650Shselasky u8 opcode[0x10]; 5778290650Shselasky u8 reserved_0[0x10]; 5779290650Shselasky 5780290650Shselasky u8 reserved_1[0x10]; 5781290650Shselasky u8 op_mod[0x10]; 5782290650Shselasky 5783290650Shselasky u8 reserved_2[0x18]; 5784290650Shselasky u8 eq_number[0x8]; 5785290650Shselasky 5786290650Shselasky u8 reserved_3[0x20]; 5787290650Shselasky 5788290650Shselasky u8 eqe[64][0x8]; 5789290650Shselasky}; 5790290650Shselasky 5791290650Shselaskystruct mlx5_ifc_gen_eq_out_bits { 5792290650Shselasky u8 status[0x8]; 5793290650Shselasky u8 reserved_0[0x18]; 5794290650Shselasky 5795290650Shselasky u8 syndrome[0x20]; 5796290650Shselasky 5797290650Shselasky u8 reserved_1[0x40]; 5798290650Shselasky}; 5799290650Shselasky 5800290650Shselaskystruct mlx5_ifc_enable_hca_out_bits { 5801290650Shselasky u8 status[0x8]; 5802290650Shselasky u8 reserved_0[0x18]; 5803290650Shselasky 5804290650Shselasky u8 syndrome[0x20]; 5805290650Shselasky 5806290650Shselasky u8 reserved_1[0x20]; 5807290650Shselasky}; 5808290650Shselasky 5809290650Shselaskystruct mlx5_ifc_enable_hca_in_bits { 5810290650Shselasky u8 opcode[0x10]; 5811290650Shselasky u8 reserved_0[0x10]; 5812290650Shselasky 5813290650Shselasky u8 reserved_1[0x10]; 5814290650Shselasky u8 op_mod[0x10]; 5815290650Shselasky 5816290650Shselasky u8 reserved_2[0x10]; 5817290650Shselasky u8 function_id[0x10]; 5818290650Shselasky 5819290650Shselasky u8 reserved_3[0x20]; 5820290650Shselasky}; 5821290650Shselasky 5822290650Shselaskystruct mlx5_ifc_drain_dct_out_bits { 5823290650Shselasky u8 status[0x8]; 5824290650Shselasky u8 reserved_0[0x18]; 5825290650Shselasky 5826290650Shselasky u8 syndrome[0x20]; 5827290650Shselasky 5828290650Shselasky u8 reserved_1[0x40]; 5829290650Shselasky}; 5830290650Shselasky 5831290650Shselaskystruct mlx5_ifc_drain_dct_in_bits { 5832290650Shselasky u8 opcode[0x10]; 5833290650Shselasky u8 reserved_0[0x10]; 5834290650Shselasky 5835290650Shselasky u8 reserved_1[0x10]; 5836290650Shselasky u8 op_mod[0x10]; 5837290650Shselasky 5838290650Shselasky u8 reserved_2[0x8]; 5839290650Shselasky u8 dctn[0x18]; 5840290650Shselasky 5841290650Shselasky u8 reserved_3[0x20]; 5842290650Shselasky}; 5843290650Shselasky 5844290650Shselaskystruct mlx5_ifc_disable_hca_out_bits { 5845290650Shselasky u8 status[0x8]; 5846290650Shselasky u8 reserved_0[0x18]; 5847290650Shselasky 5848290650Shselasky u8 syndrome[0x20]; 5849290650Shselasky 5850290650Shselasky u8 reserved_1[0x20]; 5851290650Shselasky}; 5852290650Shselasky 5853290650Shselaskystruct mlx5_ifc_disable_hca_in_bits { 5854290650Shselasky u8 opcode[0x10]; 5855290650Shselasky u8 reserved_0[0x10]; 5856290650Shselasky 5857290650Shselasky u8 reserved_1[0x10]; 5858290650Shselasky u8 op_mod[0x10]; 5859290650Shselasky 5860290650Shselasky u8 reserved_2[0x10]; 5861290650Shselasky u8 function_id[0x10]; 5862290650Shselasky 5863290650Shselasky u8 reserved_3[0x20]; 5864290650Shselasky}; 5865290650Shselasky 5866290650Shselaskystruct mlx5_ifc_detach_from_mcg_out_bits { 5867290650Shselasky u8 status[0x8]; 5868290650Shselasky u8 reserved_0[0x18]; 5869290650Shselasky 5870290650Shselasky u8 syndrome[0x20]; 5871290650Shselasky 5872290650Shselasky u8 reserved_1[0x40]; 5873290650Shselasky}; 5874290650Shselasky 5875290650Shselaskystruct mlx5_ifc_detach_from_mcg_in_bits { 5876290650Shselasky u8 opcode[0x10]; 5877290650Shselasky u8 reserved_0[0x10]; 5878290650Shselasky 5879290650Shselasky u8 reserved_1[0x10]; 5880290650Shselasky u8 op_mod[0x10]; 5881290650Shselasky 5882290650Shselasky u8 reserved_2[0x8]; 5883290650Shselasky u8 qpn[0x18]; 5884290650Shselasky 5885290650Shselasky u8 reserved_3[0x20]; 5886290650Shselasky 5887290650Shselasky u8 multicast_gid[16][0x8]; 5888290650Shselasky}; 5889290650Shselasky 5890290650Shselaskystruct mlx5_ifc_destroy_xrc_srq_out_bits { 5891290650Shselasky u8 status[0x8]; 5892290650Shselasky u8 reserved_0[0x18]; 5893290650Shselasky 5894290650Shselasky u8 syndrome[0x20]; 5895290650Shselasky 5896290650Shselasky u8 reserved_1[0x40]; 5897290650Shselasky}; 5898290650Shselasky 5899290650Shselaskystruct mlx5_ifc_destroy_xrc_srq_in_bits { 5900290650Shselasky u8 opcode[0x10]; 5901290650Shselasky u8 reserved_0[0x10]; 5902290650Shselasky 5903290650Shselasky u8 reserved_1[0x10]; 5904290650Shselasky u8 op_mod[0x10]; 5905290650Shselasky 5906290650Shselasky u8 reserved_2[0x8]; 5907290650Shselasky u8 xrc_srqn[0x18]; 5908290650Shselasky 5909290650Shselasky u8 reserved_3[0x20]; 5910290650Shselasky}; 5911290650Shselasky 5912290650Shselaskystruct mlx5_ifc_destroy_tis_out_bits { 5913290650Shselasky u8 status[0x8]; 5914290650Shselasky u8 reserved_0[0x18]; 5915290650Shselasky 5916290650Shselasky u8 syndrome[0x20]; 5917290650Shselasky 5918290650Shselasky u8 reserved_1[0x40]; 5919290650Shselasky}; 5920290650Shselasky 5921290650Shselaskystruct mlx5_ifc_destroy_tis_in_bits { 5922290650Shselasky u8 opcode[0x10]; 5923290650Shselasky u8 reserved_0[0x10]; 5924290650Shselasky 5925290650Shselasky u8 reserved_1[0x10]; 5926290650Shselasky u8 op_mod[0x10]; 5927290650Shselasky 5928290650Shselasky u8 reserved_2[0x8]; 5929290650Shselasky u8 tisn[0x18]; 5930290650Shselasky 5931290650Shselasky u8 reserved_3[0x20]; 5932290650Shselasky}; 5933290650Shselasky 5934290650Shselaskystruct mlx5_ifc_destroy_tir_out_bits { 5935290650Shselasky u8 status[0x8]; 5936290650Shselasky u8 reserved_0[0x18]; 5937290650Shselasky 5938290650Shselasky u8 syndrome[0x20]; 5939290650Shselasky 5940290650Shselasky u8 reserved_1[0x40]; 5941290650Shselasky}; 5942290650Shselasky 5943290650Shselaskystruct mlx5_ifc_destroy_tir_in_bits { 5944290650Shselasky u8 opcode[0x10]; 5945290650Shselasky u8 reserved_0[0x10]; 5946290650Shselasky 5947290650Shselasky u8 reserved_1[0x10]; 5948290650Shselasky u8 op_mod[0x10]; 5949290650Shselasky 5950290650Shselasky u8 reserved_2[0x8]; 5951290650Shselasky u8 tirn[0x18]; 5952290650Shselasky 5953290650Shselasky u8 reserved_3[0x20]; 5954290650Shselasky}; 5955290650Shselasky 5956290650Shselaskystruct mlx5_ifc_destroy_srq_out_bits { 5957290650Shselasky u8 status[0x8]; 5958290650Shselasky u8 reserved_0[0x18]; 5959290650Shselasky 5960290650Shselasky u8 syndrome[0x20]; 5961290650Shselasky 5962290650Shselasky u8 reserved_1[0x40]; 5963290650Shselasky}; 5964290650Shselasky 5965290650Shselaskystruct mlx5_ifc_destroy_srq_in_bits { 5966290650Shselasky u8 opcode[0x10]; 5967290650Shselasky u8 reserved_0[0x10]; 5968290650Shselasky 5969290650Shselasky u8 reserved_1[0x10]; 5970290650Shselasky u8 op_mod[0x10]; 5971290650Shselasky 5972290650Shselasky u8 reserved_2[0x8]; 5973290650Shselasky u8 srqn[0x18]; 5974290650Shselasky 5975290650Shselasky u8 reserved_3[0x20]; 5976290650Shselasky}; 5977290650Shselasky 5978290650Shselaskystruct mlx5_ifc_destroy_sq_out_bits { 5979290650Shselasky u8 status[0x8]; 5980290650Shselasky u8 reserved_0[0x18]; 5981290650Shselasky 5982290650Shselasky u8 syndrome[0x20]; 5983290650Shselasky 5984290650Shselasky u8 reserved_1[0x40]; 5985290650Shselasky}; 5986290650Shselasky 5987290650Shselaskystruct mlx5_ifc_destroy_sq_in_bits { 5988290650Shselasky u8 opcode[0x10]; 5989290650Shselasky u8 reserved_0[0x10]; 5990290650Shselasky 5991290650Shselasky u8 reserved_1[0x10]; 5992290650Shselasky u8 op_mod[0x10]; 5993290650Shselasky 5994290650Shselasky u8 reserved_2[0x8]; 5995290650Shselasky u8 sqn[0x18]; 5996290650Shselasky 5997290650Shselasky u8 reserved_3[0x20]; 5998290650Shselasky}; 5999290650Shselasky 6000308678Shselaskystruct mlx5_ifc_destroy_scheduling_element_out_bits { 6001308678Shselasky u8 status[0x8]; 6002308678Shselasky u8 reserved_at_8[0x18]; 6003308678Shselasky 6004308678Shselasky u8 syndrome[0x20]; 6005308678Shselasky 6006308678Shselasky u8 reserved_at_40[0x1c0]; 6007308678Shselasky}; 6008308678Shselasky 6009308678Shselaskyenum { 6010308678Shselasky MLX5_DESTROY_SCHEDULING_ELEMENT_IN_SCHEDULING_HIERARCHY_E_SWITCH = 0x2, 6011308678Shselasky}; 6012308678Shselasky 6013308678Shselaskystruct mlx5_ifc_destroy_scheduling_element_in_bits { 6014308678Shselasky u8 opcode[0x10]; 6015308678Shselasky u8 reserved_at_10[0x10]; 6016308678Shselasky 6017308678Shselasky u8 reserved_at_20[0x10]; 6018308678Shselasky u8 op_mod[0x10]; 6019308678Shselasky 6020308678Shselasky u8 scheduling_hierarchy[0x8]; 6021308678Shselasky u8 reserved_at_48[0x18]; 6022308678Shselasky 6023308678Shselasky u8 scheduling_element_id[0x20]; 6024308678Shselasky 6025308678Shselasky u8 reserved_at_80[0x180]; 6026308678Shselasky}; 6027308678Shselasky 6028290650Shselaskystruct mlx5_ifc_destroy_rqt_out_bits { 6029290650Shselasky u8 status[0x8]; 6030290650Shselasky u8 reserved_0[0x18]; 6031290650Shselasky 6032290650Shselasky u8 syndrome[0x20]; 6033290650Shselasky 6034290650Shselasky u8 reserved_1[0x40]; 6035290650Shselasky}; 6036290650Shselasky 6037290650Shselaskystruct mlx5_ifc_destroy_rqt_in_bits { 6038290650Shselasky u8 opcode[0x10]; 6039290650Shselasky u8 reserved_0[0x10]; 6040290650Shselasky 6041290650Shselasky u8 reserved_1[0x10]; 6042290650Shselasky u8 op_mod[0x10]; 6043290650Shselasky 6044290650Shselasky u8 reserved_2[0x8]; 6045290650Shselasky u8 rqtn[0x18]; 6046290650Shselasky 6047290650Shselasky u8 reserved_3[0x20]; 6048290650Shselasky}; 6049290650Shselasky 6050290650Shselaskystruct mlx5_ifc_destroy_rq_out_bits { 6051290650Shselasky u8 status[0x8]; 6052290650Shselasky u8 reserved_0[0x18]; 6053290650Shselasky 6054290650Shselasky u8 syndrome[0x20]; 6055290650Shselasky 6056290650Shselasky u8 reserved_1[0x40]; 6057290650Shselasky}; 6058290650Shselasky 6059290650Shselaskystruct mlx5_ifc_destroy_rq_in_bits { 6060290650Shselasky u8 opcode[0x10]; 6061290650Shselasky u8 reserved_0[0x10]; 6062290650Shselasky 6063290650Shselasky u8 reserved_1[0x10]; 6064290650Shselasky u8 op_mod[0x10]; 6065290650Shselasky 6066290650Shselasky u8 reserved_2[0x8]; 6067290650Shselasky u8 rqn[0x18]; 6068290650Shselasky 6069290650Shselasky u8 reserved_3[0x20]; 6070290650Shselasky}; 6071290650Shselasky 6072290650Shselaskystruct mlx5_ifc_destroy_rmp_out_bits { 6073290650Shselasky u8 status[0x8]; 6074290650Shselasky u8 reserved_0[0x18]; 6075290650Shselasky 6076290650Shselasky u8 syndrome[0x20]; 6077290650Shselasky 6078290650Shselasky u8 reserved_1[0x40]; 6079290650Shselasky}; 6080290650Shselasky 6081290650Shselaskystruct mlx5_ifc_destroy_rmp_in_bits { 6082290650Shselasky u8 opcode[0x10]; 6083290650Shselasky u8 reserved_0[0x10]; 6084290650Shselasky 6085290650Shselasky u8 reserved_1[0x10]; 6086290650Shselasky u8 op_mod[0x10]; 6087290650Shselasky 6088290650Shselasky u8 reserved_2[0x8]; 6089290650Shselasky u8 rmpn[0x18]; 6090290650Shselasky 6091290650Shselasky u8 reserved_3[0x20]; 6092290650Shselasky}; 6093290650Shselasky 6094290650Shselaskystruct mlx5_ifc_destroy_qp_out_bits { 6095290650Shselasky u8 status[0x8]; 6096290650Shselasky u8 reserved_0[0x18]; 6097290650Shselasky 6098290650Shselasky u8 syndrome[0x20]; 6099290650Shselasky 6100290650Shselasky u8 reserved_1[0x40]; 6101290650Shselasky}; 6102290650Shselasky 6103290650Shselaskystruct mlx5_ifc_destroy_qp_in_bits { 6104290650Shselasky u8 opcode[0x10]; 6105290650Shselasky u8 reserved_0[0x10]; 6106290650Shselasky 6107290650Shselasky u8 reserved_1[0x10]; 6108290650Shselasky u8 op_mod[0x10]; 6109290650Shselasky 6110290650Shselasky u8 reserved_2[0x8]; 6111290650Shselasky u8 qpn[0x18]; 6112290650Shselasky 6113290650Shselasky u8 reserved_3[0x20]; 6114290650Shselasky}; 6115290650Shselasky 6116308678Shselaskystruct mlx5_ifc_destroy_qos_para_vport_out_bits { 6117308678Shselasky u8 status[0x8]; 6118308678Shselasky u8 reserved_at_8[0x18]; 6119308678Shselasky 6120308678Shselasky u8 syndrome[0x20]; 6121308678Shselasky 6122308678Shselasky u8 reserved_at_40[0x1c0]; 6123308678Shselasky}; 6124308678Shselasky 6125308678Shselaskystruct mlx5_ifc_destroy_qos_para_vport_in_bits { 6126308678Shselasky u8 opcode[0x10]; 6127308678Shselasky u8 reserved_at_10[0x10]; 6128308678Shselasky 6129308678Shselasky u8 reserved_at_20[0x10]; 6130308678Shselasky u8 op_mod[0x10]; 6131308678Shselasky 6132308678Shselasky u8 reserved_at_40[0x20]; 6133308678Shselasky 6134308678Shselasky u8 reserved_at_60[0x10]; 6135308678Shselasky u8 qos_para_vport_number[0x10]; 6136308678Shselasky 6137308678Shselasky u8 reserved_at_80[0x180]; 6138308678Shselasky}; 6139308678Shselasky 6140290650Shselaskystruct mlx5_ifc_destroy_psv_out_bits { 6141290650Shselasky u8 status[0x8]; 6142290650Shselasky u8 reserved_0[0x18]; 6143290650Shselasky 6144290650Shselasky u8 syndrome[0x20]; 6145290650Shselasky 6146290650Shselasky u8 reserved_1[0x40]; 6147290650Shselasky}; 6148290650Shselasky 6149290650Shselaskystruct mlx5_ifc_destroy_psv_in_bits { 6150290650Shselasky u8 opcode[0x10]; 6151290650Shselasky u8 reserved_0[0x10]; 6152290650Shselasky 6153290650Shselasky u8 reserved_1[0x10]; 6154290650Shselasky u8 op_mod[0x10]; 6155290650Shselasky 6156290650Shselasky u8 reserved_2[0x8]; 6157290650Shselasky u8 psvn[0x18]; 6158290650Shselasky 6159290650Shselasky u8 reserved_3[0x20]; 6160290650Shselasky}; 6161290650Shselasky 6162290650Shselaskystruct mlx5_ifc_destroy_mkey_out_bits { 6163290650Shselasky u8 status[0x8]; 6164290650Shselasky u8 reserved_0[0x18]; 6165290650Shselasky 6166290650Shselasky u8 syndrome[0x20]; 6167290650Shselasky 6168290650Shselasky u8 reserved_1[0x40]; 6169290650Shselasky}; 6170290650Shselasky 6171290650Shselaskystruct mlx5_ifc_destroy_mkey_in_bits { 6172290650Shselasky u8 opcode[0x10]; 6173290650Shselasky u8 reserved_0[0x10]; 6174290650Shselasky 6175290650Shselasky u8 reserved_1[0x10]; 6176290650Shselasky u8 op_mod[0x10]; 6177290650Shselasky 6178290650Shselasky u8 reserved_2[0x8]; 6179290650Shselasky u8 mkey_index[0x18]; 6180290650Shselasky 6181290650Shselasky u8 reserved_3[0x20]; 6182290650Shselasky}; 6183290650Shselasky 6184290650Shselaskystruct mlx5_ifc_destroy_flow_table_out_bits { 6185290650Shselasky u8 status[0x8]; 6186290650Shselasky u8 reserved_0[0x18]; 6187290650Shselasky 6188290650Shselasky u8 syndrome[0x20]; 6189290650Shselasky 6190290650Shselasky u8 reserved_1[0x40]; 6191290650Shselasky}; 6192290650Shselasky 6193290650Shselaskystruct mlx5_ifc_destroy_flow_table_in_bits { 6194290650Shselasky u8 opcode[0x10]; 6195290650Shselasky u8 reserved_0[0x10]; 6196290650Shselasky 6197290650Shselasky u8 reserved_1[0x10]; 6198290650Shselasky u8 op_mod[0x10]; 6199290650Shselasky 6200290650Shselasky u8 other_vport[0x1]; 6201290650Shselasky u8 reserved_2[0xf]; 6202290650Shselasky u8 vport_number[0x10]; 6203290650Shselasky 6204290650Shselasky u8 reserved_3[0x20]; 6205290650Shselasky 6206290650Shselasky u8 table_type[0x8]; 6207290650Shselasky u8 reserved_4[0x18]; 6208290650Shselasky 6209290650Shselasky u8 reserved_5[0x8]; 6210290650Shselasky u8 table_id[0x18]; 6211290650Shselasky 6212290650Shselasky u8 reserved_6[0x140]; 6213290650Shselasky}; 6214290650Shselasky 6215290650Shselaskystruct mlx5_ifc_destroy_flow_group_out_bits { 6216290650Shselasky u8 status[0x8]; 6217290650Shselasky u8 reserved_0[0x18]; 6218290650Shselasky 6219290650Shselasky u8 syndrome[0x20]; 6220290650Shselasky 6221290650Shselasky u8 reserved_1[0x40]; 6222290650Shselasky}; 6223290650Shselasky 6224290650Shselaskystruct mlx5_ifc_destroy_flow_group_in_bits { 6225290650Shselasky u8 opcode[0x10]; 6226290650Shselasky u8 reserved_0[0x10]; 6227290650Shselasky 6228290650Shselasky u8 reserved_1[0x10]; 6229290650Shselasky u8 op_mod[0x10]; 6230290650Shselasky 6231290650Shselasky u8 other_vport[0x1]; 6232290650Shselasky u8 reserved_2[0xf]; 6233290650Shselasky u8 vport_number[0x10]; 6234290650Shselasky 6235290650Shselasky u8 reserved_3[0x20]; 6236290650Shselasky 6237290650Shselasky u8 table_type[0x8]; 6238290650Shselasky u8 reserved_4[0x18]; 6239290650Shselasky 6240290650Shselasky u8 reserved_5[0x8]; 6241290650Shselasky u8 table_id[0x18]; 6242290650Shselasky 6243290650Shselasky u8 group_id[0x20]; 6244290650Shselasky 6245290650Shselasky u8 reserved_6[0x120]; 6246290650Shselasky}; 6247290650Shselasky 6248290650Shselaskystruct mlx5_ifc_destroy_eq_out_bits { 6249290650Shselasky u8 status[0x8]; 6250290650Shselasky u8 reserved_0[0x18]; 6251290650Shselasky 6252290650Shselasky u8 syndrome[0x20]; 6253290650Shselasky 6254290650Shselasky u8 reserved_1[0x40]; 6255290650Shselasky}; 6256290650Shselasky 6257290650Shselaskystruct mlx5_ifc_destroy_eq_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[0x18]; 6265290650Shselasky u8 eq_number[0x8]; 6266290650Shselasky 6267290650Shselasky u8 reserved_3[0x20]; 6268290650Shselasky}; 6269290650Shselasky 6270290650Shselaskystruct mlx5_ifc_destroy_dct_out_bits { 6271290650Shselasky u8 status[0x8]; 6272290650Shselasky u8 reserved_0[0x18]; 6273290650Shselasky 6274290650Shselasky u8 syndrome[0x20]; 6275290650Shselasky 6276290650Shselasky u8 reserved_1[0x40]; 6277290650Shselasky}; 6278290650Shselasky 6279290650Shselaskystruct mlx5_ifc_destroy_dct_in_bits { 6280290650Shselasky u8 opcode[0x10]; 6281290650Shselasky u8 reserved_0[0x10]; 6282290650Shselasky 6283290650Shselasky u8 reserved_1[0x10]; 6284290650Shselasky u8 op_mod[0x10]; 6285290650Shselasky 6286290650Shselasky u8 reserved_2[0x8]; 6287290650Shselasky u8 dctn[0x18]; 6288290650Shselasky 6289290650Shselasky u8 reserved_3[0x20]; 6290290650Shselasky}; 6291290650Shselasky 6292290650Shselaskystruct mlx5_ifc_destroy_cq_out_bits { 6293290650Shselasky u8 status[0x8]; 6294290650Shselasky u8 reserved_0[0x18]; 6295290650Shselasky 6296290650Shselasky u8 syndrome[0x20]; 6297290650Shselasky 6298290650Shselasky u8 reserved_1[0x40]; 6299290650Shselasky}; 6300290650Shselasky 6301290650Shselaskystruct mlx5_ifc_destroy_cq_in_bits { 6302290650Shselasky u8 opcode[0x10]; 6303290650Shselasky u8 reserved_0[0x10]; 6304290650Shselasky 6305290650Shselasky u8 reserved_1[0x10]; 6306290650Shselasky u8 op_mod[0x10]; 6307290650Shselasky 6308290650Shselasky u8 reserved_2[0x8]; 6309290650Shselasky u8 cqn[0x18]; 6310290650Shselasky 6311290650Shselasky u8 reserved_3[0x20]; 6312290650Shselasky}; 6313290650Shselasky 6314290650Shselaskystruct mlx5_ifc_delete_vxlan_udp_dport_out_bits { 6315290650Shselasky u8 status[0x8]; 6316290650Shselasky u8 reserved_0[0x18]; 6317290650Shselasky 6318290650Shselasky u8 syndrome[0x20]; 6319290650Shselasky 6320290650Shselasky u8 reserved_1[0x40]; 6321290650Shselasky}; 6322290650Shselasky 6323290650Shselaskystruct mlx5_ifc_delete_vxlan_udp_dport_in_bits { 6324290650Shselasky u8 opcode[0x10]; 6325290650Shselasky u8 reserved_0[0x10]; 6326290650Shselasky 6327290650Shselasky u8 reserved_1[0x10]; 6328290650Shselasky u8 op_mod[0x10]; 6329290650Shselasky 6330290650Shselasky u8 reserved_2[0x20]; 6331290650Shselasky 6332290650Shselasky u8 reserved_3[0x10]; 6333290650Shselasky u8 vxlan_udp_port[0x10]; 6334290650Shselasky}; 6335290650Shselasky 6336290650Shselaskystruct mlx5_ifc_delete_l2_table_entry_out_bits { 6337290650Shselasky u8 status[0x8]; 6338290650Shselasky u8 reserved_0[0x18]; 6339290650Shselasky 6340290650Shselasky u8 syndrome[0x20]; 6341290650Shselasky 6342290650Shselasky u8 reserved_1[0x40]; 6343290650Shselasky}; 6344290650Shselasky 6345290650Shselaskystruct mlx5_ifc_delete_l2_table_entry_in_bits { 6346290650Shselasky u8 opcode[0x10]; 6347290650Shselasky u8 reserved_0[0x10]; 6348290650Shselasky 6349290650Shselasky u8 reserved_1[0x10]; 6350290650Shselasky u8 op_mod[0x10]; 6351290650Shselasky 6352290650Shselasky u8 reserved_2[0x60]; 6353290650Shselasky 6354290650Shselasky u8 reserved_3[0x8]; 6355290650Shselasky u8 table_index[0x18]; 6356290650Shselasky 6357290650Shselasky u8 reserved_4[0x140]; 6358290650Shselasky}; 6359290650Shselasky 6360290650Shselaskystruct mlx5_ifc_delete_fte_out_bits { 6361290650Shselasky u8 status[0x8]; 6362290650Shselasky u8 reserved_0[0x18]; 6363290650Shselasky 6364290650Shselasky u8 syndrome[0x20]; 6365290650Shselasky 6366290650Shselasky u8 reserved_1[0x40]; 6367290650Shselasky}; 6368290650Shselasky 6369290650Shselaskystruct mlx5_ifc_delete_fte_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 other_vport[0x1]; 6377290650Shselasky u8 reserved_2[0xf]; 6378290650Shselasky u8 vport_number[0x10]; 6379290650Shselasky 6380290650Shselasky u8 reserved_3[0x20]; 6381290650Shselasky 6382290650Shselasky u8 table_type[0x8]; 6383290650Shselasky u8 reserved_4[0x18]; 6384290650Shselasky 6385290650Shselasky u8 reserved_5[0x8]; 6386290650Shselasky u8 table_id[0x18]; 6387290650Shselasky 6388290650Shselasky u8 reserved_6[0x40]; 6389290650Shselasky 6390290650Shselasky u8 flow_index[0x20]; 6391290650Shselasky 6392290650Shselasky u8 reserved_7[0xe0]; 6393290650Shselasky}; 6394290650Shselasky 6395290650Shselaskystruct mlx5_ifc_dealloc_xrcd_out_bits { 6396290650Shselasky u8 status[0x8]; 6397290650Shselasky u8 reserved_0[0x18]; 6398290650Shselasky 6399290650Shselasky u8 syndrome[0x20]; 6400290650Shselasky 6401290650Shselasky u8 reserved_1[0x40]; 6402290650Shselasky}; 6403290650Shselasky 6404290650Shselaskystruct mlx5_ifc_dealloc_xrcd_in_bits { 6405290650Shselasky u8 opcode[0x10]; 6406290650Shselasky u8 reserved_0[0x10]; 6407290650Shselasky 6408290650Shselasky u8 reserved_1[0x10]; 6409290650Shselasky u8 op_mod[0x10]; 6410290650Shselasky 6411290650Shselasky u8 reserved_2[0x8]; 6412290650Shselasky u8 xrcd[0x18]; 6413290650Shselasky 6414290650Shselasky u8 reserved_3[0x20]; 6415290650Shselasky}; 6416290650Shselasky 6417290650Shselaskystruct mlx5_ifc_dealloc_uar_out_bits { 6418290650Shselasky u8 status[0x8]; 6419290650Shselasky u8 reserved_0[0x18]; 6420290650Shselasky 6421290650Shselasky u8 syndrome[0x20]; 6422290650Shselasky 6423290650Shselasky u8 reserved_1[0x40]; 6424290650Shselasky}; 6425290650Shselasky 6426290650Shselaskystruct mlx5_ifc_dealloc_uar_in_bits { 6427290650Shselasky u8 opcode[0x10]; 6428290650Shselasky u8 reserved_0[0x10]; 6429290650Shselasky 6430290650Shselasky u8 reserved_1[0x10]; 6431290650Shselasky u8 op_mod[0x10]; 6432290650Shselasky 6433290650Shselasky u8 reserved_2[0x8]; 6434290650Shselasky u8 uar[0x18]; 6435290650Shselasky 6436290650Shselasky u8 reserved_3[0x20]; 6437290650Shselasky}; 6438290650Shselasky 6439290650Shselaskystruct mlx5_ifc_dealloc_transport_domain_out_bits { 6440290650Shselasky u8 status[0x8]; 6441290650Shselasky u8 reserved_0[0x18]; 6442290650Shselasky 6443290650Shselasky u8 syndrome[0x20]; 6444290650Shselasky 6445290650Shselasky u8 reserved_1[0x40]; 6446290650Shselasky}; 6447290650Shselasky 6448290650Shselaskystruct mlx5_ifc_dealloc_transport_domain_in_bits { 6449290650Shselasky u8 opcode[0x10]; 6450290650Shselasky u8 reserved_0[0x10]; 6451290650Shselasky 6452290650Shselasky u8 reserved_1[0x10]; 6453290650Shselasky u8 op_mod[0x10]; 6454290650Shselasky 6455290650Shselasky u8 reserved_2[0x8]; 6456290650Shselasky u8 transport_domain[0x18]; 6457290650Shselasky 6458290650Shselasky u8 reserved_3[0x20]; 6459290650Shselasky}; 6460290650Shselasky 6461290650Shselaskystruct mlx5_ifc_dealloc_q_counter_out_bits { 6462290650Shselasky u8 status[0x8]; 6463290650Shselasky u8 reserved_0[0x18]; 6464290650Shselasky 6465290650Shselasky u8 syndrome[0x20]; 6466290650Shselasky 6467290650Shselasky u8 reserved_1[0x40]; 6468290650Shselasky}; 6469290650Shselasky 6470306233Shselaskystruct mlx5_ifc_counter_id_bits { 6471306233Shselasky u8 reserved[0x10]; 6472306233Shselasky u8 counter_id[0x10]; 6473306233Shselasky}; 6474306233Shselasky 6475308678Shselaskystruct mlx5_ifc_diagnostic_params_context_bits { 6476306233Shselasky u8 num_of_counters[0x10]; 6477306233Shselasky u8 reserved_2[0x8]; 6478306233Shselasky u8 log_num_of_samples[0x8]; 6479306233Shselasky 6480306233Shselasky u8 single[0x1]; 6481306233Shselasky u8 repetitive[0x1]; 6482306233Shselasky u8 sync[0x1]; 6483306233Shselasky u8 clear[0x1]; 6484306233Shselasky u8 on_demand[0x1]; 6485306233Shselasky u8 enable[0x1]; 6486306233Shselasky u8 reserved_3[0x12]; 6487306233Shselasky u8 log_sample_period[0x8]; 6488306233Shselasky 6489306233Shselasky u8 reserved_4[0x80]; 6490306233Shselasky 6491306233Shselasky struct mlx5_ifc_counter_id_bits counter_id[0]; 6492306233Shselasky}; 6493306233Shselasky 6494308678Shselaskystruct mlx5_ifc_set_diagnostic_params_in_bits { 6495308678Shselasky u8 opcode[0x10]; 6496308678Shselasky u8 reserved_0[0x10]; 6497308678Shselasky 6498308678Shselasky u8 reserved_1[0x10]; 6499308678Shselasky u8 op_mod[0x10]; 6500308678Shselasky 6501308678Shselasky struct mlx5_ifc_diagnostic_params_context_bits diagnostic_params_ctx; 6502308678Shselasky}; 6503308678Shselasky 6504308678Shselaskystruct mlx5_ifc_set_diagnostic_params_out_bits { 6505306233Shselasky u8 status[0x8]; 6506306233Shselasky u8 reserved_0[0x18]; 6507306233Shselasky 6508306233Shselasky u8 syndrome[0x20]; 6509306233Shselasky 6510306233Shselasky u8 reserved_1[0x40]; 6511306233Shselasky}; 6512306233Shselasky 6513308678Shselaskystruct mlx5_ifc_query_diagnostic_counters_in_bits { 6514306233Shselasky u8 opcode[0x10]; 6515306233Shselasky u8 reserved_0[0x10]; 6516306233Shselasky 6517306233Shselasky u8 reserved_1[0x10]; 6518306233Shselasky u8 op_mod[0x10]; 6519306233Shselasky 6520306233Shselasky u8 num_of_samples[0x10]; 6521306233Shselasky u8 sample_index[0x10]; 6522306233Shselasky 6523306233Shselasky u8 reserved_2[0x20]; 6524306233Shselasky}; 6525306233Shselasky 6526306233Shselaskystruct mlx5_ifc_diagnostic_counter_bits { 6527306233Shselasky u8 counter_id[0x10]; 6528306233Shselasky u8 sample_id[0x10]; 6529306233Shselasky 6530306233Shselasky u8 time_stamp_31_0[0x20]; 6531306233Shselasky 6532306233Shselasky u8 counter_value_h[0x20]; 6533306233Shselasky 6534306233Shselasky u8 counter_value_l[0x20]; 6535306233Shselasky}; 6536306233Shselasky 6537308678Shselaskystruct mlx5_ifc_query_diagnostic_counters_out_bits { 6538306233Shselasky u8 status[0x8]; 6539306233Shselasky u8 reserved_0[0x18]; 6540306233Shselasky 6541306233Shselasky u8 syndrome[0x20]; 6542306233Shselasky 6543306233Shselasky u8 reserved_1[0x40]; 6544306233Shselasky 6545306233Shselasky struct mlx5_ifc_diagnostic_counter_bits diag_counter[0]; 6546306233Shselasky}; 6547306233Shselasky 6548290650Shselaskystruct mlx5_ifc_dealloc_q_counter_in_bits { 6549290650Shselasky u8 opcode[0x10]; 6550290650Shselasky u8 reserved_0[0x10]; 6551290650Shselasky 6552290650Shselasky u8 reserved_1[0x10]; 6553290650Shselasky u8 op_mod[0x10]; 6554290650Shselasky 6555290650Shselasky u8 reserved_2[0x18]; 6556290650Shselasky u8 counter_set_id[0x8]; 6557290650Shselasky 6558290650Shselasky u8 reserved_3[0x20]; 6559290650Shselasky}; 6560290650Shselasky 6561290650Shselaskystruct mlx5_ifc_dealloc_pd_out_bits { 6562290650Shselasky u8 status[0x8]; 6563290650Shselasky u8 reserved_0[0x18]; 6564290650Shselasky 6565290650Shselasky u8 syndrome[0x20]; 6566290650Shselasky 6567290650Shselasky u8 reserved_1[0x40]; 6568290650Shselasky}; 6569290650Shselasky 6570290650Shselaskystruct mlx5_ifc_dealloc_pd_in_bits { 6571290650Shselasky u8 opcode[0x10]; 6572290650Shselasky u8 reserved_0[0x10]; 6573290650Shselasky 6574290650Shselasky u8 reserved_1[0x10]; 6575290650Shselasky u8 op_mod[0x10]; 6576290650Shselasky 6577290650Shselasky u8 reserved_2[0x8]; 6578290650Shselasky u8 pd[0x18]; 6579290650Shselasky 6580290650Shselasky u8 reserved_3[0x20]; 6581290650Shselasky}; 6582290650Shselasky 6583290650Shselaskystruct mlx5_ifc_dealloc_flow_counter_out_bits { 6584290650Shselasky u8 status[0x8]; 6585290650Shselasky u8 reserved_0[0x18]; 6586290650Shselasky 6587290650Shselasky u8 syndrome[0x20]; 6588290650Shselasky 6589290650Shselasky u8 reserved_1[0x40]; 6590290650Shselasky}; 6591290650Shselasky 6592290650Shselaskystruct mlx5_ifc_dealloc_flow_counter_in_bits { 6593290650Shselasky u8 opcode[0x10]; 6594290650Shselasky u8 reserved_0[0x10]; 6595290650Shselasky 6596290650Shselasky u8 reserved_1[0x10]; 6597290650Shselasky u8 op_mod[0x10]; 6598290650Shselasky 6599290650Shselasky u8 reserved_2[0x10]; 6600290650Shselasky u8 flow_counter_id[0x10]; 6601290650Shselasky 6602290650Shselasky u8 reserved_3[0x20]; 6603290650Shselasky}; 6604290650Shselasky 6605290650Shselaskystruct mlx5_ifc_deactivate_tracer_out_bits { 6606290650Shselasky u8 status[0x8]; 6607290650Shselasky u8 reserved_0[0x18]; 6608290650Shselasky 6609290650Shselasky u8 syndrome[0x20]; 6610290650Shselasky 6611290650Shselasky u8 reserved_1[0x40]; 6612290650Shselasky}; 6613290650Shselasky 6614290650Shselaskystruct mlx5_ifc_deactivate_tracer_in_bits { 6615290650Shselasky u8 opcode[0x10]; 6616290650Shselasky u8 reserved_0[0x10]; 6617290650Shselasky 6618290650Shselasky u8 reserved_1[0x10]; 6619290650Shselasky u8 op_mod[0x10]; 6620290650Shselasky 6621290650Shselasky u8 mkey[0x20]; 6622290650Shselasky 6623290650Shselasky u8 reserved_2[0x20]; 6624290650Shselasky}; 6625290650Shselasky 6626290650Shselaskystruct mlx5_ifc_create_xrc_srq_out_bits { 6627290650Shselasky u8 status[0x8]; 6628290650Shselasky u8 reserved_0[0x18]; 6629290650Shselasky 6630290650Shselasky u8 syndrome[0x20]; 6631290650Shselasky 6632290650Shselasky u8 reserved_1[0x8]; 6633290650Shselasky u8 xrc_srqn[0x18]; 6634290650Shselasky 6635290650Shselasky u8 reserved_2[0x20]; 6636290650Shselasky}; 6637290650Shselasky 6638290650Shselaskystruct mlx5_ifc_create_xrc_srq_in_bits { 6639290650Shselasky u8 opcode[0x10]; 6640290650Shselasky u8 reserved_0[0x10]; 6641290650Shselasky 6642290650Shselasky u8 reserved_1[0x10]; 6643290650Shselasky u8 op_mod[0x10]; 6644290650Shselasky 6645290650Shselasky u8 reserved_2[0x40]; 6646290650Shselasky 6647290650Shselasky struct mlx5_ifc_xrc_srqc_bits xrc_srq_context_entry; 6648290650Shselasky 6649290650Shselasky u8 reserved_3[0x600]; 6650290650Shselasky 6651290650Shselasky u8 pas[0][0x40]; 6652290650Shselasky}; 6653290650Shselasky 6654290650Shselaskystruct mlx5_ifc_create_tis_out_bits { 6655290650Shselasky u8 status[0x8]; 6656290650Shselasky u8 reserved_0[0x18]; 6657290650Shselasky 6658290650Shselasky u8 syndrome[0x20]; 6659290650Shselasky 6660290650Shselasky u8 reserved_1[0x8]; 6661290650Shselasky u8 tisn[0x18]; 6662290650Shselasky 6663290650Shselasky u8 reserved_2[0x20]; 6664290650Shselasky}; 6665290650Shselasky 6666290650Shselaskystruct mlx5_ifc_create_tis_in_bits { 6667290650Shselasky u8 opcode[0x10]; 6668290650Shselasky u8 reserved_0[0x10]; 6669290650Shselasky 6670290650Shselasky u8 reserved_1[0x10]; 6671290650Shselasky u8 op_mod[0x10]; 6672290650Shselasky 6673290650Shselasky u8 reserved_2[0xc0]; 6674290650Shselasky 6675290650Shselasky struct mlx5_ifc_tisc_bits ctx; 6676290650Shselasky}; 6677290650Shselasky 6678290650Shselaskystruct mlx5_ifc_create_tir_out_bits { 6679290650Shselasky u8 status[0x8]; 6680290650Shselasky u8 reserved_0[0x18]; 6681290650Shselasky 6682290650Shselasky u8 syndrome[0x20]; 6683290650Shselasky 6684290650Shselasky u8 reserved_1[0x8]; 6685290650Shselasky u8 tirn[0x18]; 6686290650Shselasky 6687290650Shselasky u8 reserved_2[0x20]; 6688290650Shselasky}; 6689290650Shselasky 6690290650Shselaskystruct mlx5_ifc_create_tir_in_bits { 6691290650Shselasky u8 opcode[0x10]; 6692290650Shselasky u8 reserved_0[0x10]; 6693290650Shselasky 6694290650Shselasky u8 reserved_1[0x10]; 6695290650Shselasky u8 op_mod[0x10]; 6696290650Shselasky 6697290650Shselasky u8 reserved_2[0xc0]; 6698290650Shselasky 6699290650Shselasky struct mlx5_ifc_tirc_bits tir_context; 6700290650Shselasky}; 6701290650Shselasky 6702290650Shselaskystruct mlx5_ifc_create_srq_out_bits { 6703290650Shselasky u8 status[0x8]; 6704290650Shselasky u8 reserved_0[0x18]; 6705290650Shselasky 6706290650Shselasky u8 syndrome[0x20]; 6707290650Shselasky 6708290650Shselasky u8 reserved_1[0x8]; 6709290650Shselasky u8 srqn[0x18]; 6710290650Shselasky 6711290650Shselasky u8 reserved_2[0x20]; 6712290650Shselasky}; 6713290650Shselasky 6714290650Shselaskystruct mlx5_ifc_create_srq_in_bits { 6715290650Shselasky u8 opcode[0x10]; 6716290650Shselasky u8 reserved_0[0x10]; 6717290650Shselasky 6718290650Shselasky u8 reserved_1[0x10]; 6719290650Shselasky u8 op_mod[0x10]; 6720290650Shselasky 6721290650Shselasky u8 reserved_2[0x40]; 6722290650Shselasky 6723290650Shselasky struct mlx5_ifc_srqc_bits srq_context_entry; 6724290650Shselasky 6725290650Shselasky u8 reserved_3[0x600]; 6726290650Shselasky 6727290650Shselasky u8 pas[0][0x40]; 6728290650Shselasky}; 6729290650Shselasky 6730290650Shselaskystruct mlx5_ifc_create_sq_out_bits { 6731290650Shselasky u8 status[0x8]; 6732290650Shselasky u8 reserved_0[0x18]; 6733290650Shselasky 6734290650Shselasky u8 syndrome[0x20]; 6735290650Shselasky 6736290650Shselasky u8 reserved_1[0x8]; 6737290650Shselasky u8 sqn[0x18]; 6738290650Shselasky 6739290650Shselasky u8 reserved_2[0x20]; 6740290650Shselasky}; 6741290650Shselasky 6742290650Shselaskystruct mlx5_ifc_create_sq_in_bits { 6743290650Shselasky u8 opcode[0x10]; 6744290650Shselasky u8 reserved_0[0x10]; 6745290650Shselasky 6746290650Shselasky u8 reserved_1[0x10]; 6747290650Shselasky u8 op_mod[0x10]; 6748290650Shselasky 6749290650Shselasky u8 reserved_2[0xc0]; 6750290650Shselasky 6751290650Shselasky struct mlx5_ifc_sqc_bits ctx; 6752290650Shselasky}; 6753290650Shselasky 6754308678Shselaskystruct mlx5_ifc_create_scheduling_element_out_bits { 6755308678Shselasky u8 status[0x8]; 6756308678Shselasky u8 reserved_at_8[0x18]; 6757308678Shselasky 6758308678Shselasky u8 syndrome[0x20]; 6759308678Shselasky 6760308678Shselasky u8 reserved_at_40[0x40]; 6761308678Shselasky 6762308678Shselasky u8 scheduling_element_id[0x20]; 6763308678Shselasky 6764308678Shselasky u8 reserved_at_a0[0x160]; 6765308678Shselasky}; 6766308678Shselasky 6767308678Shselaskyenum { 6768308678Shselasky MLX5_CREATE_SCHEDULING_ELEMENT_IN_SCHEDULING_HIERARCHY_E_SWITCH = 0x2, 6769308678Shselasky}; 6770308678Shselasky 6771308678Shselaskystruct mlx5_ifc_create_scheduling_element_in_bits { 6772308678Shselasky u8 opcode[0x10]; 6773308678Shselasky u8 reserved_at_10[0x10]; 6774308678Shselasky 6775308678Shselasky u8 reserved_at_20[0x10]; 6776308678Shselasky u8 op_mod[0x10]; 6777308678Shselasky 6778308678Shselasky u8 scheduling_hierarchy[0x8]; 6779308678Shselasky u8 reserved_at_48[0x18]; 6780308678Shselasky 6781308678Shselasky u8 reserved_at_60[0xa0]; 6782308678Shselasky 6783308678Shselasky struct mlx5_ifc_scheduling_context_bits scheduling_context; 6784308678Shselasky 6785308678Shselasky u8 reserved_at_300[0x100]; 6786308678Shselasky}; 6787308678Shselasky 6788290650Shselaskystruct mlx5_ifc_create_rqt_out_bits { 6789290650Shselasky u8 status[0x8]; 6790290650Shselasky u8 reserved_0[0x18]; 6791290650Shselasky 6792290650Shselasky u8 syndrome[0x20]; 6793290650Shselasky 6794290650Shselasky u8 reserved_1[0x8]; 6795290650Shselasky u8 rqtn[0x18]; 6796290650Shselasky 6797290650Shselasky u8 reserved_2[0x20]; 6798290650Shselasky}; 6799290650Shselasky 6800290650Shselaskystruct mlx5_ifc_create_rqt_in_bits { 6801290650Shselasky u8 opcode[0x10]; 6802290650Shselasky u8 reserved_0[0x10]; 6803290650Shselasky 6804290650Shselasky u8 reserved_1[0x10]; 6805290650Shselasky u8 op_mod[0x10]; 6806290650Shselasky 6807290650Shselasky u8 reserved_2[0xc0]; 6808290650Shselasky 6809290650Shselasky struct mlx5_ifc_rqtc_bits rqt_context; 6810290650Shselasky}; 6811290650Shselasky 6812290650Shselaskystruct mlx5_ifc_create_rq_out_bits { 6813290650Shselasky u8 status[0x8]; 6814290650Shselasky u8 reserved_0[0x18]; 6815290650Shselasky 6816290650Shselasky u8 syndrome[0x20]; 6817290650Shselasky 6818290650Shselasky u8 reserved_1[0x8]; 6819290650Shselasky u8 rqn[0x18]; 6820290650Shselasky 6821290650Shselasky u8 reserved_2[0x20]; 6822290650Shselasky}; 6823290650Shselasky 6824290650Shselaskystruct mlx5_ifc_create_rq_in_bits { 6825290650Shselasky u8 opcode[0x10]; 6826290650Shselasky u8 reserved_0[0x10]; 6827290650Shselasky 6828290650Shselasky u8 reserved_1[0x10]; 6829290650Shselasky u8 op_mod[0x10]; 6830290650Shselasky 6831290650Shselasky u8 reserved_2[0xc0]; 6832290650Shselasky 6833290650Shselasky struct mlx5_ifc_rqc_bits ctx; 6834290650Shselasky}; 6835290650Shselasky 6836290650Shselaskystruct mlx5_ifc_create_rmp_out_bits { 6837290650Shselasky u8 status[0x8]; 6838290650Shselasky u8 reserved_0[0x18]; 6839290650Shselasky 6840290650Shselasky u8 syndrome[0x20]; 6841290650Shselasky 6842290650Shselasky u8 reserved_1[0x8]; 6843290650Shselasky u8 rmpn[0x18]; 6844290650Shselasky 6845290650Shselasky u8 reserved_2[0x20]; 6846290650Shselasky}; 6847290650Shselasky 6848290650Shselaskystruct mlx5_ifc_create_rmp_in_bits { 6849290650Shselasky u8 opcode[0x10]; 6850290650Shselasky u8 reserved_0[0x10]; 6851290650Shselasky 6852290650Shselasky u8 reserved_1[0x10]; 6853290650Shselasky u8 op_mod[0x10]; 6854290650Shselasky 6855290650Shselasky u8 reserved_2[0xc0]; 6856290650Shselasky 6857290650Shselasky struct mlx5_ifc_rmpc_bits ctx; 6858290650Shselasky}; 6859290650Shselasky 6860290650Shselaskystruct mlx5_ifc_create_qp_out_bits { 6861290650Shselasky u8 status[0x8]; 6862290650Shselasky u8 reserved_0[0x18]; 6863290650Shselasky 6864290650Shselasky u8 syndrome[0x20]; 6865290650Shselasky 6866290650Shselasky u8 reserved_1[0x8]; 6867290650Shselasky u8 qpn[0x18]; 6868290650Shselasky 6869290650Shselasky u8 reserved_2[0x20]; 6870290650Shselasky}; 6871290650Shselasky 6872290650Shselaskystruct mlx5_ifc_create_qp_in_bits { 6873290650Shselasky u8 opcode[0x10]; 6874290650Shselasky u8 reserved_0[0x10]; 6875290650Shselasky 6876290650Shselasky u8 reserved_1[0x10]; 6877290650Shselasky u8 op_mod[0x10]; 6878290650Shselasky 6879306233Shselasky u8 reserved_2[0x8]; 6880306233Shselasky u8 input_qpn[0x18]; 6881290650Shselasky 6882306233Shselasky u8 reserved_3[0x20]; 6883306233Shselasky 6884290650Shselasky u8 opt_param_mask[0x20]; 6885290650Shselasky 6886306233Shselasky u8 reserved_4[0x20]; 6887290650Shselasky 6888290650Shselasky struct mlx5_ifc_qpc_bits qpc; 6889290650Shselasky 6890306233Shselasky u8 reserved_5[0x80]; 6891290650Shselasky 6892290650Shselasky u8 pas[0][0x40]; 6893290650Shselasky}; 6894290650Shselasky 6895308678Shselaskystruct mlx5_ifc_create_qos_para_vport_out_bits { 6896308678Shselasky u8 status[0x8]; 6897308678Shselasky u8 reserved_at_8[0x18]; 6898308678Shselasky 6899308678Shselasky u8 syndrome[0x20]; 6900308678Shselasky 6901308678Shselasky u8 reserved_at_40[0x20]; 6902308678Shselasky 6903308678Shselasky u8 reserved_at_60[0x10]; 6904308678Shselasky u8 qos_para_vport_number[0x10]; 6905308678Shselasky 6906308678Shselasky u8 reserved_at_80[0x180]; 6907308678Shselasky}; 6908308678Shselasky 6909308678Shselaskystruct mlx5_ifc_create_qos_para_vport_in_bits { 6910308678Shselasky u8 opcode[0x10]; 6911308678Shselasky u8 reserved_at_10[0x10]; 6912308678Shselasky 6913308678Shselasky u8 reserved_at_20[0x10]; 6914308678Shselasky u8 op_mod[0x10]; 6915308678Shselasky 6916308678Shselasky u8 reserved_at_40[0x1c0]; 6917308678Shselasky}; 6918308678Shselasky 6919290650Shselaskystruct mlx5_ifc_create_psv_out_bits { 6920290650Shselasky u8 status[0x8]; 6921290650Shselasky u8 reserved_0[0x18]; 6922290650Shselasky 6923290650Shselasky u8 syndrome[0x20]; 6924290650Shselasky 6925290650Shselasky u8 reserved_1[0x40]; 6926290650Shselasky 6927290650Shselasky u8 reserved_2[0x8]; 6928290650Shselasky u8 psv0_index[0x18]; 6929290650Shselasky 6930290650Shselasky u8 reserved_3[0x8]; 6931290650Shselasky u8 psv1_index[0x18]; 6932290650Shselasky 6933290650Shselasky u8 reserved_4[0x8]; 6934290650Shselasky u8 psv2_index[0x18]; 6935290650Shselasky 6936290650Shselasky u8 reserved_5[0x8]; 6937290650Shselasky u8 psv3_index[0x18]; 6938290650Shselasky}; 6939290650Shselasky 6940290650Shselaskystruct mlx5_ifc_create_psv_in_bits { 6941290650Shselasky u8 opcode[0x10]; 6942290650Shselasky u8 reserved_0[0x10]; 6943290650Shselasky 6944290650Shselasky u8 reserved_1[0x10]; 6945290650Shselasky u8 op_mod[0x10]; 6946290650Shselasky 6947290650Shselasky u8 num_psv[0x4]; 6948290650Shselasky u8 reserved_2[0x4]; 6949290650Shselasky u8 pd[0x18]; 6950290650Shselasky 6951290650Shselasky u8 reserved_3[0x20]; 6952290650Shselasky}; 6953290650Shselasky 6954290650Shselaskystruct mlx5_ifc_create_mkey_out_bits { 6955290650Shselasky u8 status[0x8]; 6956290650Shselasky u8 reserved_0[0x18]; 6957290650Shselasky 6958290650Shselasky u8 syndrome[0x20]; 6959290650Shselasky 6960290650Shselasky u8 reserved_1[0x8]; 6961290650Shselasky u8 mkey_index[0x18]; 6962290650Shselasky 6963290650Shselasky u8 reserved_2[0x20]; 6964290650Shselasky}; 6965290650Shselasky 6966290650Shselaskystruct mlx5_ifc_create_mkey_in_bits { 6967290650Shselasky u8 opcode[0x10]; 6968290650Shselasky u8 reserved_0[0x10]; 6969290650Shselasky 6970290650Shselasky u8 reserved_1[0x10]; 6971290650Shselasky u8 op_mod[0x10]; 6972290650Shselasky 6973290650Shselasky u8 reserved_2[0x20]; 6974290650Shselasky 6975290650Shselasky u8 pg_access[0x1]; 6976290650Shselasky u8 reserved_3[0x1f]; 6977290650Shselasky 6978290650Shselasky struct mlx5_ifc_mkc_bits memory_key_mkey_entry; 6979290650Shselasky 6980290650Shselasky u8 reserved_4[0x80]; 6981290650Shselasky 6982290650Shselasky u8 translations_octword_actual_size[0x20]; 6983290650Shselasky 6984290650Shselasky u8 reserved_5[0x560]; 6985290650Shselasky 6986290650Shselasky u8 klm_pas_mtt[0][0x20]; 6987290650Shselasky}; 6988290650Shselasky 6989290650Shselaskystruct mlx5_ifc_create_flow_table_out_bits { 6990290650Shselasky u8 status[0x8]; 6991290650Shselasky u8 reserved_0[0x18]; 6992290650Shselasky 6993290650Shselasky u8 syndrome[0x20]; 6994290650Shselasky 6995290650Shselasky u8 reserved_1[0x8]; 6996290650Shselasky u8 table_id[0x18]; 6997290650Shselasky 6998290650Shselasky u8 reserved_2[0x20]; 6999290650Shselasky}; 7000290650Shselasky 7001290650Shselaskystruct mlx5_ifc_create_flow_table_in_bits { 7002290650Shselasky u8 opcode[0x10]; 7003329200Shselasky u8 reserved_at_10[0x10]; 7004290650Shselasky 7005329200Shselasky u8 reserved_at_20[0x10]; 7006290650Shselasky u8 op_mod[0x10]; 7007290650Shselasky 7008290650Shselasky u8 other_vport[0x1]; 7009329200Shselasky u8 reserved_at_41[0xf]; 7010290650Shselasky u8 vport_number[0x10]; 7011290650Shselasky 7012329200Shselasky u8 reserved_at_60[0x20]; 7013290650Shselasky 7014290650Shselasky u8 table_type[0x8]; 7015329200Shselasky u8 reserved_at_88[0x18]; 7016290650Shselasky 7017329200Shselasky u8 reserved_at_a0[0x20]; 7018290650Shselasky 7019329200Shselasky struct mlx5_ifc_flow_table_context_bits flow_table_context; 7020290650Shselasky}; 7021290650Shselasky 7022290650Shselaskystruct mlx5_ifc_create_flow_group_out_bits { 7023290650Shselasky u8 status[0x8]; 7024290650Shselasky u8 reserved_0[0x18]; 7025290650Shselasky 7026290650Shselasky u8 syndrome[0x20]; 7027290650Shselasky 7028290650Shselasky u8 reserved_1[0x8]; 7029290650Shselasky u8 group_id[0x18]; 7030290650Shselasky 7031290650Shselasky u8 reserved_2[0x20]; 7032290650Shselasky}; 7033290650Shselasky 7034290650Shselaskyenum { 7035290650Shselasky MLX5_CREATE_FLOW_GROUP_IN_MATCH_CRITERIA_ENABLE_OUTER_HEADERS = 0x0, 7036290650Shselasky MLX5_CREATE_FLOW_GROUP_IN_MATCH_CRITERIA_ENABLE_MISC_PARAMETERS = 0x1, 7037290650Shselasky MLX5_CREATE_FLOW_GROUP_IN_MATCH_CRITERIA_ENABLE_INNER_HEADERS = 0x2, 7038290650Shselasky}; 7039290650Shselasky 7040290650Shselaskystruct mlx5_ifc_create_flow_group_in_bits { 7041290650Shselasky u8 opcode[0x10]; 7042290650Shselasky u8 reserved_0[0x10]; 7043290650Shselasky 7044290650Shselasky u8 reserved_1[0x10]; 7045290650Shselasky u8 op_mod[0x10]; 7046290650Shselasky 7047290650Shselasky u8 other_vport[0x1]; 7048290650Shselasky u8 reserved_2[0xf]; 7049290650Shselasky u8 vport_number[0x10]; 7050290650Shselasky 7051290650Shselasky u8 reserved_3[0x20]; 7052290650Shselasky 7053290650Shselasky u8 table_type[0x8]; 7054290650Shselasky u8 reserved_4[0x18]; 7055290650Shselasky 7056290650Shselasky u8 reserved_5[0x8]; 7057290650Shselasky u8 table_id[0x18]; 7058290650Shselasky 7059290650Shselasky u8 reserved_6[0x20]; 7060290650Shselasky 7061290650Shselasky u8 start_flow_index[0x20]; 7062290650Shselasky 7063290650Shselasky u8 reserved_7[0x20]; 7064290650Shselasky 7065290650Shselasky u8 end_flow_index[0x20]; 7066290650Shselasky 7067290650Shselasky u8 reserved_8[0xa0]; 7068290650Shselasky 7069290650Shselasky u8 reserved_9[0x18]; 7070290650Shselasky u8 match_criteria_enable[0x8]; 7071290650Shselasky 7072290650Shselasky struct mlx5_ifc_fte_match_param_bits match_criteria; 7073290650Shselasky 7074290650Shselasky u8 reserved_10[0xe00]; 7075290650Shselasky}; 7076290650Shselasky 7077290650Shselaskystruct mlx5_ifc_create_eq_out_bits { 7078290650Shselasky u8 status[0x8]; 7079290650Shselasky u8 reserved_0[0x18]; 7080290650Shselasky 7081290650Shselasky u8 syndrome[0x20]; 7082290650Shselasky 7083290650Shselasky u8 reserved_1[0x18]; 7084290650Shselasky u8 eq_number[0x8]; 7085290650Shselasky 7086290650Shselasky u8 reserved_2[0x20]; 7087290650Shselasky}; 7088290650Shselasky 7089290650Shselaskystruct mlx5_ifc_create_eq_in_bits { 7090290650Shselasky u8 opcode[0x10]; 7091290650Shselasky u8 reserved_0[0x10]; 7092290650Shselasky 7093290650Shselasky u8 reserved_1[0x10]; 7094290650Shselasky u8 op_mod[0x10]; 7095290650Shselasky 7096290650Shselasky u8 reserved_2[0x40]; 7097290650Shselasky 7098290650Shselasky struct mlx5_ifc_eqc_bits eq_context_entry; 7099290650Shselasky 7100290650Shselasky u8 reserved_3[0x40]; 7101290650Shselasky 7102290650Shselasky u8 event_bitmask[0x40]; 7103290650Shselasky 7104290650Shselasky u8 reserved_4[0x580]; 7105290650Shselasky 7106290650Shselasky u8 pas[0][0x40]; 7107290650Shselasky}; 7108290650Shselasky 7109290650Shselaskystruct mlx5_ifc_create_dct_out_bits { 7110290650Shselasky u8 status[0x8]; 7111290650Shselasky u8 reserved_0[0x18]; 7112290650Shselasky 7113290650Shselasky u8 syndrome[0x20]; 7114290650Shselasky 7115290650Shselasky u8 reserved_1[0x8]; 7116290650Shselasky u8 dctn[0x18]; 7117290650Shselasky 7118290650Shselasky u8 reserved_2[0x20]; 7119290650Shselasky}; 7120290650Shselasky 7121290650Shselaskystruct mlx5_ifc_create_dct_in_bits { 7122290650Shselasky u8 opcode[0x10]; 7123290650Shselasky u8 reserved_0[0x10]; 7124290650Shselasky 7125290650Shselasky u8 reserved_1[0x10]; 7126290650Shselasky u8 op_mod[0x10]; 7127290650Shselasky 7128290650Shselasky u8 reserved_2[0x40]; 7129290650Shselasky 7130290650Shselasky struct mlx5_ifc_dctc_bits dct_context_entry; 7131290650Shselasky 7132290650Shselasky u8 reserved_3[0x180]; 7133290650Shselasky}; 7134290650Shselasky 7135290650Shselaskystruct mlx5_ifc_create_cq_out_bits { 7136290650Shselasky u8 status[0x8]; 7137290650Shselasky u8 reserved_0[0x18]; 7138290650Shselasky 7139290650Shselasky u8 syndrome[0x20]; 7140290650Shselasky 7141290650Shselasky u8 reserved_1[0x8]; 7142290650Shselasky u8 cqn[0x18]; 7143290650Shselasky 7144290650Shselasky u8 reserved_2[0x20]; 7145290650Shselasky}; 7146290650Shselasky 7147290650Shselaskystruct mlx5_ifc_create_cq_in_bits { 7148290650Shselasky u8 opcode[0x10]; 7149290650Shselasky u8 reserved_0[0x10]; 7150290650Shselasky 7151290650Shselasky u8 reserved_1[0x10]; 7152290650Shselasky u8 op_mod[0x10]; 7153290650Shselasky 7154290650Shselasky u8 reserved_2[0x40]; 7155290650Shselasky 7156290650Shselasky struct mlx5_ifc_cqc_bits cq_context; 7157290650Shselasky 7158290650Shselasky u8 reserved_3[0x600]; 7159290650Shselasky 7160290650Shselasky u8 pas[0][0x40]; 7161290650Shselasky}; 7162290650Shselasky 7163290650Shselaskystruct mlx5_ifc_config_int_moderation_out_bits { 7164290650Shselasky u8 status[0x8]; 7165290650Shselasky u8 reserved_0[0x18]; 7166290650Shselasky 7167290650Shselasky u8 syndrome[0x20]; 7168290650Shselasky 7169290650Shselasky u8 reserved_1[0x4]; 7170290650Shselasky u8 min_delay[0xc]; 7171290650Shselasky u8 int_vector[0x10]; 7172290650Shselasky 7173290650Shselasky u8 reserved_2[0x20]; 7174290650Shselasky}; 7175290650Shselasky 7176290650Shselaskyenum { 7177290650Shselasky MLX5_CONFIG_INT_MODERATION_IN_OP_MOD_WRITE = 0x0, 7178290650Shselasky MLX5_CONFIG_INT_MODERATION_IN_OP_MOD_READ = 0x1, 7179290650Shselasky}; 7180290650Shselasky 7181290650Shselaskystruct mlx5_ifc_config_int_moderation_in_bits { 7182290650Shselasky u8 opcode[0x10]; 7183290650Shselasky u8 reserved_0[0x10]; 7184290650Shselasky 7185290650Shselasky u8 reserved_1[0x10]; 7186290650Shselasky u8 op_mod[0x10]; 7187290650Shselasky 7188290650Shselasky u8 reserved_2[0x4]; 7189290650Shselasky u8 min_delay[0xc]; 7190290650Shselasky u8 int_vector[0x10]; 7191290650Shselasky 7192290650Shselasky u8 reserved_3[0x20]; 7193290650Shselasky}; 7194290650Shselasky 7195290650Shselaskystruct mlx5_ifc_attach_to_mcg_out_bits { 7196290650Shselasky u8 status[0x8]; 7197290650Shselasky u8 reserved_0[0x18]; 7198290650Shselasky 7199290650Shselasky u8 syndrome[0x20]; 7200290650Shselasky 7201290650Shselasky u8 reserved_1[0x40]; 7202290650Shselasky}; 7203290650Shselasky 7204290650Shselaskystruct mlx5_ifc_attach_to_mcg_in_bits { 7205290650Shselasky u8 opcode[0x10]; 7206290650Shselasky u8 reserved_0[0x10]; 7207290650Shselasky 7208290650Shselasky u8 reserved_1[0x10]; 7209290650Shselasky u8 op_mod[0x10]; 7210290650Shselasky 7211290650Shselasky u8 reserved_2[0x8]; 7212290650Shselasky u8 qpn[0x18]; 7213290650Shselasky 7214290650Shselasky u8 reserved_3[0x20]; 7215290650Shselasky 7216290650Shselasky u8 multicast_gid[16][0x8]; 7217290650Shselasky}; 7218290650Shselasky 7219290650Shselaskystruct mlx5_ifc_arm_xrc_srq_out_bits { 7220290650Shselasky u8 status[0x8]; 7221290650Shselasky u8 reserved_0[0x18]; 7222290650Shselasky 7223290650Shselasky u8 syndrome[0x20]; 7224290650Shselasky 7225290650Shselasky u8 reserved_1[0x40]; 7226290650Shselasky}; 7227290650Shselasky 7228290650Shselaskyenum { 7229290650Shselasky MLX5_ARM_XRC_SRQ_IN_OP_MOD_XRC_SRQ = 0x1, 7230290650Shselasky}; 7231290650Shselasky 7232290650Shselaskystruct mlx5_ifc_arm_xrc_srq_in_bits { 7233290650Shselasky u8 opcode[0x10]; 7234290650Shselasky u8 reserved_0[0x10]; 7235290650Shselasky 7236290650Shselasky u8 reserved_1[0x10]; 7237290650Shselasky u8 op_mod[0x10]; 7238290650Shselasky 7239290650Shselasky u8 reserved_2[0x8]; 7240290650Shselasky u8 xrc_srqn[0x18]; 7241290650Shselasky 7242290650Shselasky u8 reserved_3[0x10]; 7243290650Shselasky u8 lwm[0x10]; 7244290650Shselasky}; 7245290650Shselasky 7246290650Shselaskystruct mlx5_ifc_arm_rq_out_bits { 7247290650Shselasky u8 status[0x8]; 7248290650Shselasky u8 reserved_0[0x18]; 7249290650Shselasky 7250290650Shselasky u8 syndrome[0x20]; 7251290650Shselasky 7252290650Shselasky u8 reserved_1[0x40]; 7253290650Shselasky}; 7254290650Shselasky 7255290650Shselaskyenum { 7256290650Shselasky MLX5_ARM_RQ_IN_OP_MOD_SRQ = 0x1, 7257290650Shselasky}; 7258290650Shselasky 7259290650Shselaskystruct mlx5_ifc_arm_rq_in_bits { 7260290650Shselasky u8 opcode[0x10]; 7261290650Shselasky u8 reserved_0[0x10]; 7262290650Shselasky 7263290650Shselasky u8 reserved_1[0x10]; 7264290650Shselasky u8 op_mod[0x10]; 7265290650Shselasky 7266290650Shselasky u8 reserved_2[0x8]; 7267290650Shselasky u8 srq_number[0x18]; 7268290650Shselasky 7269290650Shselasky u8 reserved_3[0x10]; 7270290650Shselasky u8 lwm[0x10]; 7271290650Shselasky}; 7272290650Shselasky 7273290650Shselaskystruct mlx5_ifc_arm_dct_out_bits { 7274290650Shselasky u8 status[0x8]; 7275290650Shselasky u8 reserved_0[0x18]; 7276290650Shselasky 7277290650Shselasky u8 syndrome[0x20]; 7278290650Shselasky 7279290650Shselasky u8 reserved_1[0x40]; 7280290650Shselasky}; 7281290650Shselasky 7282290650Shselaskystruct mlx5_ifc_arm_dct_in_bits { 7283290650Shselasky u8 opcode[0x10]; 7284290650Shselasky u8 reserved_0[0x10]; 7285290650Shselasky 7286290650Shselasky u8 reserved_1[0x10]; 7287290650Shselasky u8 op_mod[0x10]; 7288290650Shselasky 7289290650Shselasky u8 reserved_2[0x8]; 7290290650Shselasky u8 dctn[0x18]; 7291290650Shselasky 7292290650Shselasky u8 reserved_3[0x20]; 7293290650Shselasky}; 7294290650Shselasky 7295290650Shselaskystruct mlx5_ifc_alloc_xrcd_out_bits { 7296290650Shselasky u8 status[0x8]; 7297290650Shselasky u8 reserved_0[0x18]; 7298290650Shselasky 7299290650Shselasky u8 syndrome[0x20]; 7300290650Shselasky 7301290650Shselasky u8 reserved_1[0x8]; 7302290650Shselasky u8 xrcd[0x18]; 7303290650Shselasky 7304290650Shselasky u8 reserved_2[0x20]; 7305290650Shselasky}; 7306290650Shselasky 7307290650Shselaskystruct mlx5_ifc_alloc_xrcd_in_bits { 7308290650Shselasky u8 opcode[0x10]; 7309290650Shselasky u8 reserved_0[0x10]; 7310290650Shselasky 7311290650Shselasky u8 reserved_1[0x10]; 7312290650Shselasky u8 op_mod[0x10]; 7313290650Shselasky 7314290650Shselasky u8 reserved_2[0x40]; 7315290650Shselasky}; 7316290650Shselasky 7317290650Shselaskystruct mlx5_ifc_alloc_uar_out_bits { 7318290650Shselasky u8 status[0x8]; 7319290650Shselasky u8 reserved_0[0x18]; 7320290650Shselasky 7321290650Shselasky u8 syndrome[0x20]; 7322290650Shselasky 7323290650Shselasky u8 reserved_1[0x8]; 7324290650Shselasky u8 uar[0x18]; 7325290650Shselasky 7326290650Shselasky u8 reserved_2[0x20]; 7327290650Shselasky}; 7328290650Shselasky 7329290650Shselaskystruct mlx5_ifc_alloc_uar_in_bits { 7330290650Shselasky u8 opcode[0x10]; 7331290650Shselasky u8 reserved_0[0x10]; 7332290650Shselasky 7333290650Shselasky u8 reserved_1[0x10]; 7334290650Shselasky u8 op_mod[0x10]; 7335290650Shselasky 7336290650Shselasky u8 reserved_2[0x40]; 7337290650Shselasky}; 7338290650Shselasky 7339290650Shselaskystruct mlx5_ifc_alloc_transport_domain_out_bits { 7340290650Shselasky u8 status[0x8]; 7341290650Shselasky u8 reserved_0[0x18]; 7342290650Shselasky 7343290650Shselasky u8 syndrome[0x20]; 7344290650Shselasky 7345290650Shselasky u8 reserved_1[0x8]; 7346290650Shselasky u8 transport_domain[0x18]; 7347290650Shselasky 7348290650Shselasky u8 reserved_2[0x20]; 7349290650Shselasky}; 7350290650Shselasky 7351290650Shselaskystruct mlx5_ifc_alloc_transport_domain_in_bits { 7352290650Shselasky u8 opcode[0x10]; 7353290650Shselasky u8 reserved_0[0x10]; 7354290650Shselasky 7355290650Shselasky u8 reserved_1[0x10]; 7356290650Shselasky u8 op_mod[0x10]; 7357290650Shselasky 7358290650Shselasky u8 reserved_2[0x40]; 7359290650Shselasky}; 7360290650Shselasky 7361290650Shselaskystruct mlx5_ifc_alloc_q_counter_out_bits { 7362290650Shselasky u8 status[0x8]; 7363290650Shselasky u8 reserved_0[0x18]; 7364290650Shselasky 7365290650Shselasky u8 syndrome[0x20]; 7366290650Shselasky 7367290650Shselasky u8 reserved_1[0x18]; 7368290650Shselasky u8 counter_set_id[0x8]; 7369290650Shselasky 7370290650Shselasky u8 reserved_2[0x20]; 7371290650Shselasky}; 7372290650Shselasky 7373290650Shselaskystruct mlx5_ifc_alloc_q_counter_in_bits { 7374290650Shselasky u8 opcode[0x10]; 7375290650Shselasky u8 reserved_0[0x10]; 7376290650Shselasky 7377290650Shselasky u8 reserved_1[0x10]; 7378290650Shselasky u8 op_mod[0x10]; 7379290650Shselasky 7380290650Shselasky u8 reserved_2[0x40]; 7381290650Shselasky}; 7382290650Shselasky 7383290650Shselaskystruct mlx5_ifc_alloc_pd_out_bits { 7384290650Shselasky u8 status[0x8]; 7385290650Shselasky u8 reserved_0[0x18]; 7386290650Shselasky 7387290650Shselasky u8 syndrome[0x20]; 7388290650Shselasky 7389290650Shselasky u8 reserved_1[0x8]; 7390290650Shselasky u8 pd[0x18]; 7391290650Shselasky 7392290650Shselasky u8 reserved_2[0x20]; 7393290650Shselasky}; 7394290650Shselasky 7395290650Shselaskystruct mlx5_ifc_alloc_pd_in_bits { 7396290650Shselasky u8 opcode[0x10]; 7397290650Shselasky u8 reserved_0[0x10]; 7398290650Shselasky 7399290650Shselasky u8 reserved_1[0x10]; 7400290650Shselasky u8 op_mod[0x10]; 7401290650Shselasky 7402290650Shselasky u8 reserved_2[0x40]; 7403290650Shselasky}; 7404290650Shselasky 7405290650Shselaskystruct mlx5_ifc_alloc_flow_counter_out_bits { 7406290650Shselasky u8 status[0x8]; 7407290650Shselasky u8 reserved_0[0x18]; 7408290650Shselasky 7409290650Shselasky u8 syndrome[0x20]; 7410290650Shselasky 7411290650Shselasky u8 reserved_1[0x10]; 7412290650Shselasky u8 flow_counter_id[0x10]; 7413290650Shselasky 7414290650Shselasky u8 reserved_2[0x20]; 7415290650Shselasky}; 7416290650Shselasky 7417290650Shselaskystruct mlx5_ifc_alloc_flow_counter_in_bits { 7418290650Shselasky u8 opcode[0x10]; 7419290650Shselasky u8 reserved_0[0x10]; 7420290650Shselasky 7421290650Shselasky u8 reserved_1[0x10]; 7422290650Shselasky u8 op_mod[0x10]; 7423290650Shselasky 7424290650Shselasky u8 reserved_2[0x40]; 7425290650Shselasky}; 7426290650Shselasky 7427290650Shselaskystruct mlx5_ifc_add_vxlan_udp_dport_out_bits { 7428290650Shselasky u8 status[0x8]; 7429290650Shselasky u8 reserved_0[0x18]; 7430290650Shselasky 7431290650Shselasky u8 syndrome[0x20]; 7432290650Shselasky 7433290650Shselasky u8 reserved_1[0x40]; 7434290650Shselasky}; 7435290650Shselasky 7436290650Shselaskystruct mlx5_ifc_add_vxlan_udp_dport_in_bits { 7437290650Shselasky u8 opcode[0x10]; 7438290650Shselasky u8 reserved_0[0x10]; 7439290650Shselasky 7440290650Shselasky u8 reserved_1[0x10]; 7441290650Shselasky u8 op_mod[0x10]; 7442290650Shselasky 7443290650Shselasky u8 reserved_2[0x20]; 7444290650Shselasky 7445290650Shselasky u8 reserved_3[0x10]; 7446290650Shselasky u8 vxlan_udp_port[0x10]; 7447290650Shselasky}; 7448290650Shselasky 7449290650Shselaskystruct mlx5_ifc_activate_tracer_out_bits { 7450290650Shselasky u8 status[0x8]; 7451290650Shselasky u8 reserved_0[0x18]; 7452290650Shselasky 7453290650Shselasky u8 syndrome[0x20]; 7454290650Shselasky 7455290650Shselasky u8 reserved_1[0x40]; 7456290650Shselasky}; 7457290650Shselasky 7458290650Shselaskystruct mlx5_ifc_activate_tracer_in_bits { 7459290650Shselasky u8 opcode[0x10]; 7460290650Shselasky u8 reserved_0[0x10]; 7461290650Shselasky 7462290650Shselasky u8 reserved_1[0x10]; 7463290650Shselasky u8 op_mod[0x10]; 7464290650Shselasky 7465290650Shselasky u8 mkey[0x20]; 7466290650Shselasky 7467290650Shselasky u8 reserved_2[0x20]; 7468290650Shselasky}; 7469290650Shselasky 7470306233Shselaskystruct mlx5_ifc_set_rate_limit_out_bits { 7471306233Shselasky u8 status[0x8]; 7472306233Shselasky u8 reserved_at_8[0x18]; 7473306233Shselasky 7474306233Shselasky u8 syndrome[0x20]; 7475306233Shselasky 7476306233Shselasky u8 reserved_at_40[0x40]; 7477306233Shselasky}; 7478306233Shselasky 7479306233Shselaskystruct mlx5_ifc_set_rate_limit_in_bits { 7480306233Shselasky u8 opcode[0x10]; 7481306233Shselasky u8 reserved_at_10[0x10]; 7482306233Shselasky 7483306233Shselasky u8 reserved_at_20[0x10]; 7484306233Shselasky u8 op_mod[0x10]; 7485306233Shselasky 7486306233Shselasky u8 reserved_at_40[0x10]; 7487306233Shselasky u8 rate_limit_index[0x10]; 7488306233Shselasky 7489306233Shselasky u8 reserved_at_60[0x20]; 7490306233Shselasky 7491306233Shselasky u8 rate_limit[0x20]; 7492308678Shselasky u8 burst_upper_bound[0x20]; 7493306233Shselasky}; 7494306233Shselasky 7495290650Shselaskystruct mlx5_ifc_access_register_out_bits { 7496290650Shselasky u8 status[0x8]; 7497290650Shselasky u8 reserved_0[0x18]; 7498290650Shselasky 7499290650Shselasky u8 syndrome[0x20]; 7500290650Shselasky 7501290650Shselasky u8 reserved_1[0x40]; 7502290650Shselasky 7503290650Shselasky u8 register_data[0][0x20]; 7504290650Shselasky}; 7505290650Shselasky 7506290650Shselaskyenum { 7507290650Shselasky MLX5_ACCESS_REGISTER_IN_OP_MOD_WRITE = 0x0, 7508290650Shselasky MLX5_ACCESS_REGISTER_IN_OP_MOD_READ = 0x1, 7509290650Shselasky}; 7510290650Shselasky 7511290650Shselaskystruct mlx5_ifc_access_register_in_bits { 7512290650Shselasky u8 opcode[0x10]; 7513290650Shselasky u8 reserved_0[0x10]; 7514290650Shselasky 7515290650Shselasky u8 reserved_1[0x10]; 7516290650Shselasky u8 op_mod[0x10]; 7517290650Shselasky 7518290650Shselasky u8 reserved_2[0x10]; 7519290650Shselasky u8 register_id[0x10]; 7520290650Shselasky 7521290650Shselasky u8 argument[0x20]; 7522290650Shselasky 7523290650Shselasky u8 register_data[0][0x20]; 7524290650Shselasky}; 7525290650Shselasky 7526290650Shselaskystruct mlx5_ifc_sltp_reg_bits { 7527290650Shselasky u8 status[0x4]; 7528290650Shselasky u8 version[0x4]; 7529290650Shselasky u8 local_port[0x8]; 7530290650Shselasky u8 pnat[0x2]; 7531290650Shselasky u8 reserved_0[0x2]; 7532290650Shselasky u8 lane[0x4]; 7533290650Shselasky u8 reserved_1[0x8]; 7534290650Shselasky 7535290650Shselasky u8 reserved_2[0x20]; 7536290650Shselasky 7537290650Shselasky u8 reserved_3[0x7]; 7538290650Shselasky u8 polarity[0x1]; 7539290650Shselasky u8 ob_tap0[0x8]; 7540290650Shselasky u8 ob_tap1[0x8]; 7541290650Shselasky u8 ob_tap2[0x8]; 7542290650Shselasky 7543290650Shselasky u8 reserved_4[0xc]; 7544290650Shselasky u8 ob_preemp_mode[0x4]; 7545290650Shselasky u8 ob_reg[0x8]; 7546290650Shselasky u8 ob_bias[0x8]; 7547290650Shselasky 7548290650Shselasky u8 reserved_5[0x20]; 7549290650Shselasky}; 7550290650Shselasky 7551290650Shselaskystruct mlx5_ifc_slrp_reg_bits { 7552290650Shselasky u8 status[0x4]; 7553290650Shselasky u8 version[0x4]; 7554290650Shselasky u8 local_port[0x8]; 7555290650Shselasky u8 pnat[0x2]; 7556290650Shselasky u8 reserved_0[0x2]; 7557290650Shselasky u8 lane[0x4]; 7558290650Shselasky u8 reserved_1[0x8]; 7559290650Shselasky 7560290650Shselasky u8 ib_sel[0x2]; 7561290650Shselasky u8 reserved_2[0x11]; 7562290650Shselasky u8 dp_sel[0x1]; 7563290650Shselasky u8 dp90sel[0x4]; 7564290650Shselasky u8 mix90phase[0x8]; 7565290650Shselasky 7566290650Shselasky u8 ffe_tap0[0x8]; 7567290650Shselasky u8 ffe_tap1[0x8]; 7568290650Shselasky u8 ffe_tap2[0x8]; 7569290650Shselasky u8 ffe_tap3[0x8]; 7570290650Shselasky 7571290650Shselasky u8 ffe_tap4[0x8]; 7572290650Shselasky u8 ffe_tap5[0x8]; 7573290650Shselasky u8 ffe_tap6[0x8]; 7574290650Shselasky u8 ffe_tap7[0x8]; 7575290650Shselasky 7576290650Shselasky u8 ffe_tap8[0x8]; 7577290650Shselasky u8 mixerbias_tap_amp[0x8]; 7578290650Shselasky u8 reserved_3[0x7]; 7579290650Shselasky u8 ffe_tap_en[0x9]; 7580290650Shselasky 7581290650Shselasky u8 ffe_tap_offset0[0x8]; 7582290650Shselasky u8 ffe_tap_offset1[0x8]; 7583290650Shselasky u8 slicer_offset0[0x10]; 7584290650Shselasky 7585290650Shselasky u8 mixer_offset0[0x10]; 7586290650Shselasky u8 mixer_offset1[0x10]; 7587290650Shselasky 7588290650Shselasky u8 mixerbgn_inp[0x8]; 7589290650Shselasky u8 mixerbgn_inn[0x8]; 7590290650Shselasky u8 mixerbgn_refp[0x8]; 7591290650Shselasky u8 mixerbgn_refn[0x8]; 7592290650Shselasky 7593290650Shselasky u8 sel_slicer_lctrl_h[0x1]; 7594290650Shselasky u8 sel_slicer_lctrl_l[0x1]; 7595290650Shselasky u8 reserved_4[0x1]; 7596290650Shselasky u8 ref_mixer_vreg[0x5]; 7597290650Shselasky u8 slicer_gctrl[0x8]; 7598290650Shselasky u8 lctrl_input[0x8]; 7599290650Shselasky u8 mixer_offset_cm1[0x8]; 7600290650Shselasky 7601290650Shselasky u8 common_mode[0x6]; 7602290650Shselasky u8 reserved_5[0x1]; 7603290650Shselasky u8 mixer_offset_cm0[0x9]; 7604290650Shselasky u8 reserved_6[0x7]; 7605290650Shselasky u8 slicer_offset_cm[0x9]; 7606290650Shselasky}; 7607290650Shselasky 7608290650Shselaskystruct mlx5_ifc_slrg_reg_bits { 7609290650Shselasky u8 status[0x4]; 7610290650Shselasky u8 version[0x4]; 7611290650Shselasky u8 local_port[0x8]; 7612290650Shselasky u8 pnat[0x2]; 7613290650Shselasky u8 reserved_0[0x2]; 7614290650Shselasky u8 lane[0x4]; 7615290650Shselasky u8 reserved_1[0x8]; 7616290650Shselasky 7617290650Shselasky u8 time_to_link_up[0x10]; 7618290650Shselasky u8 reserved_2[0xc]; 7619290650Shselasky u8 grade_lane_speed[0x4]; 7620290650Shselasky 7621290650Shselasky u8 grade_version[0x8]; 7622290650Shselasky u8 grade[0x18]; 7623290650Shselasky 7624290650Shselasky u8 reserved_3[0x4]; 7625290650Shselasky u8 height_grade_type[0x4]; 7626290650Shselasky u8 height_grade[0x18]; 7627290650Shselasky 7628290650Shselasky u8 height_dz[0x10]; 7629290650Shselasky u8 height_dv[0x10]; 7630290650Shselasky 7631290650Shselasky u8 reserved_4[0x10]; 7632290650Shselasky u8 height_sigma[0x10]; 7633290650Shselasky 7634290650Shselasky u8 reserved_5[0x20]; 7635290650Shselasky 7636290650Shselasky u8 reserved_6[0x4]; 7637290650Shselasky u8 phase_grade_type[0x4]; 7638290650Shselasky u8 phase_grade[0x18]; 7639290650Shselasky 7640290650Shselasky u8 reserved_7[0x8]; 7641290650Shselasky u8 phase_eo_pos[0x8]; 7642290650Shselasky u8 reserved_8[0x8]; 7643290650Shselasky u8 phase_eo_neg[0x8]; 7644290650Shselasky 7645290650Shselasky u8 ffe_set_tested[0x10]; 7646290650Shselasky u8 test_errors_per_lane[0x10]; 7647290650Shselasky}; 7648290650Shselasky 7649290650Shselaskystruct mlx5_ifc_pvlc_reg_bits { 7650290650Shselasky u8 reserved_0[0x8]; 7651290650Shselasky u8 local_port[0x8]; 7652290650Shselasky u8 reserved_1[0x10]; 7653290650Shselasky 7654290650Shselasky u8 reserved_2[0x1c]; 7655290650Shselasky u8 vl_hw_cap[0x4]; 7656290650Shselasky 7657290650Shselasky u8 reserved_3[0x1c]; 7658290650Shselasky u8 vl_admin[0x4]; 7659290650Shselasky 7660290650Shselasky u8 reserved_4[0x1c]; 7661290650Shselasky u8 vl_operational[0x4]; 7662290650Shselasky}; 7663290650Shselasky 7664290650Shselaskystruct mlx5_ifc_pude_reg_bits { 7665290650Shselasky u8 swid[0x8]; 7666290650Shselasky u8 local_port[0x8]; 7667290650Shselasky u8 reserved_0[0x4]; 7668290650Shselasky u8 admin_status[0x4]; 7669290650Shselasky u8 reserved_1[0x4]; 7670290650Shselasky u8 oper_status[0x4]; 7671290650Shselasky 7672290650Shselasky u8 reserved_2[0x60]; 7673290650Shselasky}; 7674290650Shselasky 7675290650Shselaskyenum { 7676290650Shselasky MLX5_PTYS_REG_PROTO_MASK_INFINIBAND = 0x1, 7677290650Shselasky MLX5_PTYS_REG_PROTO_MASK_ETHERNET = 0x4, 7678290650Shselasky}; 7679290650Shselasky 7680290650Shselaskystruct mlx5_ifc_ptys_reg_bits { 7681306233Shselasky u8 reserved_0[0x1]; 7682306233Shselasky u8 an_disable_admin[0x1]; 7683306233Shselasky u8 an_disable_cap[0x1]; 7684306233Shselasky u8 reserved_1[0x4]; 7685306233Shselasky u8 force_tx_aba_param[0x1]; 7686290650Shselasky u8 local_port[0x8]; 7687306233Shselasky u8 reserved_2[0xd]; 7688290650Shselasky u8 proto_mask[0x3]; 7689290650Shselasky 7690306233Shselasky u8 an_status[0x4]; 7691306233Shselasky u8 reserved_3[0xc]; 7692306233Shselasky u8 data_rate_oper[0x10]; 7693290650Shselasky 7694306233Shselasky u8 fc_proto_capability[0x20]; 7695306233Shselasky 7696290650Shselasky u8 eth_proto_capability[0x20]; 7697290650Shselasky 7698290650Shselasky u8 ib_link_width_capability[0x10]; 7699290650Shselasky u8 ib_proto_capability[0x10]; 7700290650Shselasky 7701306233Shselasky u8 fc_proto_admin[0x20]; 7702290650Shselasky 7703290650Shselasky u8 eth_proto_admin[0x20]; 7704290650Shselasky 7705290650Shselasky u8 ib_link_width_admin[0x10]; 7706290650Shselasky u8 ib_proto_admin[0x10]; 7707290650Shselasky 7708306233Shselasky u8 fc_proto_oper[0x20]; 7709290650Shselasky 7710290650Shselasky u8 eth_proto_oper[0x20]; 7711290650Shselasky 7712290650Shselasky u8 ib_link_width_oper[0x10]; 7713290650Shselasky u8 ib_proto_oper[0x10]; 7714290650Shselasky 7715306233Shselasky u8 reserved_4[0x20]; 7716290650Shselasky 7717290650Shselasky u8 eth_proto_lp_advertise[0x20]; 7718290650Shselasky 7719306233Shselasky u8 reserved_5[0x60]; 7720290650Shselasky}; 7721290650Shselasky 7722290650Shselaskystruct mlx5_ifc_ptas_reg_bits { 7723290650Shselasky u8 reserved_0[0x20]; 7724290650Shselasky 7725290650Shselasky u8 algorithm_options[0x10]; 7726290650Shselasky u8 reserved_1[0x4]; 7727290650Shselasky u8 repetitions_mode[0x4]; 7728290650Shselasky u8 num_of_repetitions[0x8]; 7729290650Shselasky 7730290650Shselasky u8 grade_version[0x8]; 7731290650Shselasky u8 height_grade_type[0x4]; 7732290650Shselasky u8 phase_grade_type[0x4]; 7733290650Shselasky u8 height_grade_weight[0x8]; 7734290650Shselasky u8 phase_grade_weight[0x8]; 7735290650Shselasky 7736290650Shselasky u8 gisim_measure_bits[0x10]; 7737290650Shselasky u8 adaptive_tap_measure_bits[0x10]; 7738290650Shselasky 7739290650Shselasky u8 ber_bath_high_error_threshold[0x10]; 7740290650Shselasky u8 ber_bath_mid_error_threshold[0x10]; 7741290650Shselasky 7742290650Shselasky u8 ber_bath_low_error_threshold[0x10]; 7743290650Shselasky u8 one_ratio_high_threshold[0x10]; 7744290650Shselasky 7745290650Shselasky u8 one_ratio_high_mid_threshold[0x10]; 7746290650Shselasky u8 one_ratio_low_mid_threshold[0x10]; 7747290650Shselasky 7748290650Shselasky u8 one_ratio_low_threshold[0x10]; 7749290650Shselasky u8 ndeo_error_threshold[0x10]; 7750290650Shselasky 7751290650Shselasky u8 mixer_offset_step_size[0x10]; 7752290650Shselasky u8 reserved_2[0x8]; 7753290650Shselasky u8 mix90_phase_for_voltage_bath[0x8]; 7754290650Shselasky 7755290650Shselasky u8 mixer_offset_start[0x10]; 7756290650Shselasky u8 mixer_offset_end[0x10]; 7757290650Shselasky 7758290650Shselasky u8 reserved_3[0x15]; 7759290650Shselasky u8 ber_test_time[0xb]; 7760290650Shselasky}; 7761290650Shselasky 7762290650Shselaskystruct mlx5_ifc_pspa_reg_bits { 7763290650Shselasky u8 swid[0x8]; 7764290650Shselasky u8 local_port[0x8]; 7765290650Shselasky u8 sub_port[0x8]; 7766290650Shselasky u8 reserved_0[0x8]; 7767290650Shselasky 7768290650Shselasky u8 reserved_1[0x20]; 7769290650Shselasky}; 7770290650Shselasky 7771290650Shselaskystruct mlx5_ifc_ppsc_reg_bits { 7772290650Shselasky u8 reserved_0[0x8]; 7773290650Shselasky u8 local_port[0x8]; 7774290650Shselasky u8 reserved_1[0x10]; 7775290650Shselasky 7776290650Shselasky u8 reserved_2[0x60]; 7777290650Shselasky 7778290650Shselasky u8 reserved_3[0x1c]; 7779290650Shselasky u8 wrps_admin[0x4]; 7780290650Shselasky 7781290650Shselasky u8 reserved_4[0x1c]; 7782290650Shselasky u8 wrps_status[0x4]; 7783290650Shselasky 7784290650Shselasky u8 up_th_vld[0x1]; 7785290650Shselasky u8 down_th_vld[0x1]; 7786290650Shselasky u8 reserved_5[0x6]; 7787290650Shselasky u8 up_threshold[0x8]; 7788290650Shselasky u8 reserved_6[0x8]; 7789290650Shselasky u8 down_threshold[0x8]; 7790290650Shselasky 7791290650Shselasky u8 reserved_7[0x20]; 7792290650Shselasky 7793290650Shselasky u8 reserved_8[0x1c]; 7794290650Shselasky u8 srps_admin[0x4]; 7795290650Shselasky 7796290650Shselasky u8 reserved_9[0x60]; 7797290650Shselasky}; 7798290650Shselasky 7799290650Shselaskystruct mlx5_ifc_pplr_reg_bits { 7800290650Shselasky u8 reserved_0[0x8]; 7801290650Shselasky u8 local_port[0x8]; 7802290650Shselasky u8 reserved_1[0x10]; 7803290650Shselasky 7804290650Shselasky u8 reserved_2[0x8]; 7805290650Shselasky u8 lb_cap[0x8]; 7806290650Shselasky u8 reserved_3[0x8]; 7807290650Shselasky u8 lb_en[0x8]; 7808290650Shselasky}; 7809290650Shselasky 7810290650Shselaskystruct mlx5_ifc_pplm_reg_bits { 7811290650Shselasky u8 reserved_0[0x8]; 7812290650Shselasky u8 local_port[0x8]; 7813290650Shselasky u8 reserved_1[0x10]; 7814290650Shselasky 7815290650Shselasky u8 reserved_2[0x20]; 7816290650Shselasky 7817290650Shselasky u8 port_profile_mode[0x8]; 7818290650Shselasky u8 static_port_profile[0x8]; 7819290650Shselasky u8 active_port_profile[0x8]; 7820290650Shselasky u8 reserved_3[0x8]; 7821290650Shselasky 7822290650Shselasky u8 retransmission_active[0x8]; 7823290650Shselasky u8 fec_mode_active[0x18]; 7824290650Shselasky 7825290650Shselasky u8 reserved_4[0x10]; 7826290650Shselasky u8 v_100g_fec_override_cap[0x4]; 7827290650Shselasky u8 v_50g_fec_override_cap[0x4]; 7828290650Shselasky u8 v_25g_fec_override_cap[0x4]; 7829290650Shselasky u8 v_10g_40g_fec_override_cap[0x4]; 7830290650Shselasky 7831290650Shselasky u8 reserved_5[0x10]; 7832290650Shselasky u8 v_100g_fec_override_admin[0x4]; 7833290650Shselasky u8 v_50g_fec_override_admin[0x4]; 7834290650Shselasky u8 v_25g_fec_override_admin[0x4]; 7835290650Shselasky u8 v_10g_40g_fec_override_admin[0x4]; 7836290650Shselasky}; 7837290650Shselasky 7838290650Shselaskystruct mlx5_ifc_ppll_reg_bits { 7839290650Shselasky u8 num_pll_groups[0x8]; 7840290650Shselasky u8 pll_group[0x8]; 7841290650Shselasky u8 reserved_0[0x4]; 7842290650Shselasky u8 num_plls[0x4]; 7843290650Shselasky u8 reserved_1[0x8]; 7844290650Shselasky 7845290650Shselasky u8 reserved_2[0x1f]; 7846290650Shselasky u8 ae[0x1]; 7847290650Shselasky 7848290650Shselasky u8 pll_status[4][0x40]; 7849290650Shselasky}; 7850290650Shselasky 7851290650Shselaskystruct mlx5_ifc_ppad_reg_bits { 7852290650Shselasky u8 reserved_0[0x3]; 7853290650Shselasky u8 single_mac[0x1]; 7854290650Shselasky u8 reserved_1[0x4]; 7855290650Shselasky u8 local_port[0x8]; 7856290650Shselasky u8 mac_47_32[0x10]; 7857290650Shselasky 7858290650Shselasky u8 mac_31_0[0x20]; 7859290650Shselasky 7860290650Shselasky u8 reserved_2[0x40]; 7861290650Shselasky}; 7862290650Shselasky 7863290650Shselaskystruct mlx5_ifc_pmtu_reg_bits { 7864290650Shselasky u8 reserved_0[0x8]; 7865290650Shselasky u8 local_port[0x8]; 7866290650Shselasky u8 reserved_1[0x10]; 7867290650Shselasky 7868290650Shselasky u8 max_mtu[0x10]; 7869290650Shselasky u8 reserved_2[0x10]; 7870290650Shselasky 7871290650Shselasky u8 admin_mtu[0x10]; 7872290650Shselasky u8 reserved_3[0x10]; 7873290650Shselasky 7874290650Shselasky u8 oper_mtu[0x10]; 7875290650Shselasky u8 reserved_4[0x10]; 7876290650Shselasky}; 7877290650Shselasky 7878290650Shselaskystruct mlx5_ifc_pmpr_reg_bits { 7879290650Shselasky u8 reserved_0[0x8]; 7880290650Shselasky u8 module[0x8]; 7881290650Shselasky u8 reserved_1[0x10]; 7882290650Shselasky 7883290650Shselasky u8 reserved_2[0x18]; 7884290650Shselasky u8 attenuation_5g[0x8]; 7885290650Shselasky 7886290650Shselasky u8 reserved_3[0x18]; 7887290650Shselasky u8 attenuation_7g[0x8]; 7888290650Shselasky 7889290650Shselasky u8 reserved_4[0x18]; 7890290650Shselasky u8 attenuation_12g[0x8]; 7891290650Shselasky}; 7892290650Shselasky 7893290650Shselaskystruct mlx5_ifc_pmpe_reg_bits { 7894290650Shselasky u8 reserved_0[0x8]; 7895290650Shselasky u8 module[0x8]; 7896290650Shselasky u8 reserved_1[0xc]; 7897290650Shselasky u8 module_status[0x4]; 7898290650Shselasky 7899290650Shselasky u8 reserved_2[0x14]; 7900290650Shselasky u8 error_type[0x4]; 7901290650Shselasky u8 reserved_3[0x8]; 7902290650Shselasky 7903290650Shselasky u8 reserved_4[0x40]; 7904290650Shselasky}; 7905290650Shselasky 7906290650Shselaskystruct mlx5_ifc_pmpc_reg_bits { 7907290650Shselasky u8 module_state_updated[32][0x8]; 7908290650Shselasky}; 7909290650Shselasky 7910290650Shselaskystruct mlx5_ifc_pmlpn_reg_bits { 7911290650Shselasky u8 reserved_0[0x4]; 7912290650Shselasky u8 mlpn_status[0x4]; 7913290650Shselasky u8 local_port[0x8]; 7914290650Shselasky u8 reserved_1[0x10]; 7915290650Shselasky 7916290650Shselasky u8 e[0x1]; 7917290650Shselasky u8 reserved_2[0x1f]; 7918290650Shselasky}; 7919290650Shselasky 7920290650Shselaskystruct mlx5_ifc_pmlp_reg_bits { 7921290650Shselasky u8 rxtx[0x1]; 7922290650Shselasky u8 reserved_0[0x7]; 7923290650Shselasky u8 local_port[0x8]; 7924290650Shselasky u8 reserved_1[0x8]; 7925290650Shselasky u8 width[0x8]; 7926290650Shselasky 7927290650Shselasky u8 lane0_module_mapping[0x20]; 7928290650Shselasky 7929290650Shselasky u8 lane1_module_mapping[0x20]; 7930290650Shselasky 7931290650Shselasky u8 lane2_module_mapping[0x20]; 7932290650Shselasky 7933290650Shselasky u8 lane3_module_mapping[0x20]; 7934290650Shselasky 7935290650Shselasky u8 reserved_2[0x160]; 7936290650Shselasky}; 7937290650Shselasky 7938290650Shselaskystruct mlx5_ifc_pmaos_reg_bits { 7939290650Shselasky u8 reserved_0[0x8]; 7940290650Shselasky u8 module[0x8]; 7941290650Shselasky u8 reserved_1[0x4]; 7942290650Shselasky u8 admin_status[0x4]; 7943290650Shselasky u8 reserved_2[0x4]; 7944290650Shselasky u8 oper_status[0x4]; 7945290650Shselasky 7946290650Shselasky u8 ase[0x1]; 7947290650Shselasky u8 ee[0x1]; 7948290650Shselasky u8 reserved_3[0x12]; 7949290650Shselasky u8 error_type[0x4]; 7950290650Shselasky u8 reserved_4[0x6]; 7951290650Shselasky u8 e[0x2]; 7952290650Shselasky 7953290650Shselasky u8 reserved_5[0x40]; 7954290650Shselasky}; 7955290650Shselasky 7956290650Shselaskystruct mlx5_ifc_plpc_reg_bits { 7957290650Shselasky u8 reserved_0[0x4]; 7958290650Shselasky u8 profile_id[0xc]; 7959290650Shselasky u8 reserved_1[0x4]; 7960290650Shselasky u8 proto_mask[0x4]; 7961290650Shselasky u8 reserved_2[0x8]; 7962290650Shselasky 7963290650Shselasky u8 reserved_3[0x10]; 7964290650Shselasky u8 lane_speed[0x10]; 7965290650Shselasky 7966290650Shselasky u8 reserved_4[0x17]; 7967290650Shselasky u8 lpbf[0x1]; 7968290650Shselasky u8 fec_mode_policy[0x8]; 7969290650Shselasky 7970290650Shselasky u8 retransmission_capability[0x8]; 7971290650Shselasky u8 fec_mode_capability[0x18]; 7972290650Shselasky 7973290650Shselasky u8 retransmission_support_admin[0x8]; 7974290650Shselasky u8 fec_mode_support_admin[0x18]; 7975290650Shselasky 7976290650Shselasky u8 retransmission_request_admin[0x8]; 7977290650Shselasky u8 fec_mode_request_admin[0x18]; 7978290650Shselasky 7979290650Shselasky u8 reserved_5[0x80]; 7980290650Shselasky}; 7981290650Shselasky 7982290650Shselaskystruct mlx5_ifc_pll_status_data_bits { 7983290650Shselasky u8 reserved_0[0x1]; 7984290650Shselasky u8 lock_cal[0x1]; 7985290650Shselasky u8 lock_status[0x2]; 7986290650Shselasky u8 reserved_1[0x2]; 7987290650Shselasky u8 algo_f_ctrl[0xa]; 7988290650Shselasky u8 analog_algo_num_var[0x6]; 7989290650Shselasky u8 f_ctrl_measure[0xa]; 7990290650Shselasky 7991290650Shselasky u8 reserved_2[0x2]; 7992290650Shselasky u8 analog_var[0x6]; 7993290650Shselasky u8 reserved_3[0x2]; 7994290650Shselasky u8 high_var[0x6]; 7995290650Shselasky u8 reserved_4[0x2]; 7996290650Shselasky u8 low_var[0x6]; 7997290650Shselasky u8 reserved_5[0x2]; 7998290650Shselasky u8 mid_val[0x6]; 7999290650Shselasky}; 8000290650Shselasky 8001290650Shselaskystruct mlx5_ifc_plib_reg_bits { 8002290650Shselasky u8 reserved_0[0x8]; 8003290650Shselasky u8 local_port[0x8]; 8004290650Shselasky u8 reserved_1[0x8]; 8005290650Shselasky u8 ib_port[0x8]; 8006290650Shselasky 8007290650Shselasky u8 reserved_2[0x60]; 8008290650Shselasky}; 8009290650Shselasky 8010290650Shselaskystruct mlx5_ifc_plbf_reg_bits { 8011290650Shselasky u8 reserved_0[0x8]; 8012290650Shselasky u8 local_port[0x8]; 8013290650Shselasky u8 reserved_1[0xd]; 8014290650Shselasky u8 lbf_mode[0x3]; 8015290650Shselasky 8016290650Shselasky u8 reserved_2[0x20]; 8017290650Shselasky}; 8018290650Shselasky 8019290650Shselaskystruct mlx5_ifc_pipg_reg_bits { 8020290650Shselasky u8 reserved_0[0x8]; 8021290650Shselasky u8 local_port[0x8]; 8022290650Shselasky u8 reserved_1[0x10]; 8023290650Shselasky 8024290650Shselasky u8 dic[0x1]; 8025290650Shselasky u8 reserved_2[0x19]; 8026290650Shselasky u8 ipg[0x4]; 8027290650Shselasky u8 reserved_3[0x2]; 8028290650Shselasky}; 8029290650Shselasky 8030290650Shselaskystruct mlx5_ifc_pifr_reg_bits { 8031290650Shselasky u8 reserved_0[0x8]; 8032290650Shselasky u8 local_port[0x8]; 8033290650Shselasky u8 reserved_1[0x10]; 8034290650Shselasky 8035290650Shselasky u8 reserved_2[0xe0]; 8036290650Shselasky 8037290650Shselasky u8 port_filter[8][0x20]; 8038290650Shselasky 8039290650Shselasky u8 port_filter_update_en[8][0x20]; 8040290650Shselasky}; 8041290650Shselasky 8042290650Shselaskystruct mlx5_ifc_phys_layer_cntrs_bits { 8043290650Shselasky u8 time_since_last_clear_high[0x20]; 8044290650Shselasky 8045290650Shselasky u8 time_since_last_clear_low[0x20]; 8046290650Shselasky 8047290650Shselasky u8 symbol_errors_high[0x20]; 8048290650Shselasky 8049290650Shselasky u8 symbol_errors_low[0x20]; 8050290650Shselasky 8051290650Shselasky u8 sync_headers_errors_high[0x20]; 8052290650Shselasky 8053290650Shselasky u8 sync_headers_errors_low[0x20]; 8054290650Shselasky 8055290650Shselasky u8 edpl_bip_errors_lane0_high[0x20]; 8056290650Shselasky 8057290650Shselasky u8 edpl_bip_errors_lane0_low[0x20]; 8058290650Shselasky 8059290650Shselasky u8 edpl_bip_errors_lane1_high[0x20]; 8060290650Shselasky 8061290650Shselasky u8 edpl_bip_errors_lane1_low[0x20]; 8062290650Shselasky 8063290650Shselasky u8 edpl_bip_errors_lane2_high[0x20]; 8064290650Shselasky 8065290650Shselasky u8 edpl_bip_errors_lane2_low[0x20]; 8066290650Shselasky 8067290650Shselasky u8 edpl_bip_errors_lane3_high[0x20]; 8068290650Shselasky 8069290650Shselasky u8 edpl_bip_errors_lane3_low[0x20]; 8070290650Shselasky 8071290650Shselasky u8 fc_fec_corrected_blocks_lane0_high[0x20]; 8072290650Shselasky 8073290650Shselasky u8 fc_fec_corrected_blocks_lane0_low[0x20]; 8074290650Shselasky 8075290650Shselasky u8 fc_fec_corrected_blocks_lane1_high[0x20]; 8076290650Shselasky 8077290650Shselasky u8 fc_fec_corrected_blocks_lane1_low[0x20]; 8078290650Shselasky 8079290650Shselasky u8 fc_fec_corrected_blocks_lane2_high[0x20]; 8080290650Shselasky 8081290650Shselasky u8 fc_fec_corrected_blocks_lane2_low[0x20]; 8082290650Shselasky 8083290650Shselasky u8 fc_fec_corrected_blocks_lane3_high[0x20]; 8084290650Shselasky 8085290650Shselasky u8 fc_fec_corrected_blocks_lane3_low[0x20]; 8086290650Shselasky 8087290650Shselasky u8 fc_fec_uncorrectable_blocks_lane0_high[0x20]; 8088290650Shselasky 8089290650Shselasky u8 fc_fec_uncorrectable_blocks_lane0_low[0x20]; 8090290650Shselasky 8091290650Shselasky u8 fc_fec_uncorrectable_blocks_lane1_high[0x20]; 8092290650Shselasky 8093290650Shselasky u8 fc_fec_uncorrectable_blocks_lane1_low[0x20]; 8094290650Shselasky 8095290650Shselasky u8 fc_fec_uncorrectable_blocks_lane2_high[0x20]; 8096290650Shselasky 8097290650Shselasky u8 fc_fec_uncorrectable_blocks_lane2_low[0x20]; 8098290650Shselasky 8099290650Shselasky u8 fc_fec_uncorrectable_blocks_lane3_high[0x20]; 8100290650Shselasky 8101290650Shselasky u8 fc_fec_uncorrectable_blocks_lane3_low[0x20]; 8102290650Shselasky 8103290650Shselasky u8 rs_fec_corrected_blocks_high[0x20]; 8104290650Shselasky 8105290650Shselasky u8 rs_fec_corrected_blocks_low[0x20]; 8106290650Shselasky 8107290650Shselasky u8 rs_fec_uncorrectable_blocks_high[0x20]; 8108290650Shselasky 8109290650Shselasky u8 rs_fec_uncorrectable_blocks_low[0x20]; 8110290650Shselasky 8111290650Shselasky u8 rs_fec_no_errors_blocks_high[0x20]; 8112290650Shselasky 8113290650Shselasky u8 rs_fec_no_errors_blocks_low[0x20]; 8114290650Shselasky 8115290650Shselasky u8 rs_fec_single_error_blocks_high[0x20]; 8116290650Shselasky 8117290650Shselasky u8 rs_fec_single_error_blocks_low[0x20]; 8118290650Shselasky 8119290650Shselasky u8 rs_fec_corrected_symbols_total_high[0x20]; 8120290650Shselasky 8121290650Shselasky u8 rs_fec_corrected_symbols_total_low[0x20]; 8122290650Shselasky 8123290650Shselasky u8 rs_fec_corrected_symbols_lane0_high[0x20]; 8124290650Shselasky 8125290650Shselasky u8 rs_fec_corrected_symbols_lane0_low[0x20]; 8126290650Shselasky 8127290650Shselasky u8 rs_fec_corrected_symbols_lane1_high[0x20]; 8128290650Shselasky 8129290650Shselasky u8 rs_fec_corrected_symbols_lane1_low[0x20]; 8130290650Shselasky 8131290650Shselasky u8 rs_fec_corrected_symbols_lane2_high[0x20]; 8132290650Shselasky 8133290650Shselasky u8 rs_fec_corrected_symbols_lane2_low[0x20]; 8134290650Shselasky 8135290650Shselasky u8 rs_fec_corrected_symbols_lane3_high[0x20]; 8136290650Shselasky 8137290650Shselasky u8 rs_fec_corrected_symbols_lane3_low[0x20]; 8138290650Shselasky 8139290650Shselasky u8 link_down_events[0x20]; 8140290650Shselasky 8141290650Shselasky u8 successful_recovery_events[0x20]; 8142290650Shselasky 8143290650Shselasky u8 reserved_0[0x180]; 8144290650Shselasky}; 8145290650Shselasky 8146329204Shselaskystruct mlx5_ifc_ib_port_cntrs_grp_data_layout_bits { 8147329204Shselasky u8 symbol_error_counter[0x10]; 8148329204Shselasky 8149329204Shselasky u8 link_error_recovery_counter[0x8]; 8150329204Shselasky 8151329204Shselasky u8 link_downed_counter[0x8]; 8152329204Shselasky 8153329204Shselasky u8 port_rcv_errors[0x10]; 8154329204Shselasky 8155329204Shselasky u8 port_rcv_remote_physical_errors[0x10]; 8156329204Shselasky 8157329204Shselasky u8 port_rcv_switch_relay_errors[0x10]; 8158329204Shselasky 8159329204Shselasky u8 port_xmit_discards[0x10]; 8160329204Shselasky 8161329204Shselasky u8 port_xmit_constraint_errors[0x8]; 8162329204Shselasky 8163329204Shselasky u8 port_rcv_constraint_errors[0x8]; 8164329204Shselasky 8165329204Shselasky u8 reserved_at_70[0x8]; 8166329204Shselasky 8167329204Shselasky u8 link_overrun_errors[0x8]; 8168329204Shselasky 8169329204Shselasky u8 reserved_at_80[0x10]; 8170329204Shselasky 8171329204Shselasky u8 vl_15_dropped[0x10]; 8172329204Shselasky 8173329204Shselasky u8 reserved_at_a0[0xa0]; 8174329204Shselasky}; 8175329204Shselasky 8176321992Shselaskystruct mlx5_ifc_phys_layer_statistical_cntrs_bits { 8177321992Shselasky u8 time_since_last_clear_high[0x20]; 8178321992Shselasky 8179321992Shselasky u8 time_since_last_clear_low[0x20]; 8180321992Shselasky 8181321992Shselasky u8 phy_received_bits_high[0x20]; 8182321992Shselasky 8183321992Shselasky u8 phy_received_bits_low[0x20]; 8184321992Shselasky 8185321992Shselasky u8 phy_symbol_errors_high[0x20]; 8186321992Shselasky 8187321992Shselasky u8 phy_symbol_errors_low[0x20]; 8188321992Shselasky 8189321992Shselasky u8 phy_corrected_bits_high[0x20]; 8190321992Shselasky 8191321992Shselasky u8 phy_corrected_bits_low[0x20]; 8192321992Shselasky 8193321992Shselasky u8 phy_corrected_bits_lane0_high[0x20]; 8194321992Shselasky 8195321992Shselasky u8 phy_corrected_bits_lane0_low[0x20]; 8196321992Shselasky 8197321992Shselasky u8 phy_corrected_bits_lane1_high[0x20]; 8198321992Shselasky 8199321992Shselasky u8 phy_corrected_bits_lane1_low[0x20]; 8200321992Shselasky 8201321992Shselasky u8 phy_corrected_bits_lane2_high[0x20]; 8202321992Shselasky 8203321992Shselasky u8 phy_corrected_bits_lane2_low[0x20]; 8204321992Shselasky 8205321992Shselasky u8 phy_corrected_bits_lane3_high[0x20]; 8206321992Shselasky 8207321992Shselasky u8 phy_corrected_bits_lane3_low[0x20]; 8208321992Shselasky 8209321992Shselasky u8 reserved_at_200[0x5c0]; 8210321992Shselasky}; 8211321992Shselasky 8212308678Shselaskystruct mlx5_ifc_infiniband_port_cntrs_bits { 8213308678Shselasky u8 symbol_error_counter[0x10]; 8214308678Shselasky u8 link_error_recovery_counter[0x8]; 8215308678Shselasky u8 link_downed_counter[0x8]; 8216308678Shselasky 8217308678Shselasky u8 port_rcv_errors[0x10]; 8218308678Shselasky u8 port_rcv_remote_physical_errors[0x10]; 8219308678Shselasky 8220308678Shselasky u8 port_rcv_switch_relay_errors[0x10]; 8221308678Shselasky u8 port_xmit_discards[0x10]; 8222308678Shselasky 8223308678Shselasky u8 port_xmit_constraint_errors[0x8]; 8224308678Shselasky u8 port_rcv_constraint_errors[0x8]; 8225308678Shselasky u8 reserved_0[0x8]; 8226308678Shselasky u8 local_link_integrity_errors[0x4]; 8227308678Shselasky u8 excessive_buffer_overrun_errors[0x4]; 8228308678Shselasky 8229308678Shselasky u8 reserved_1[0x10]; 8230308678Shselasky u8 vl_15_dropped[0x10]; 8231308678Shselasky 8232308678Shselasky u8 port_xmit_data[0x20]; 8233308678Shselasky 8234308678Shselasky u8 port_rcv_data[0x20]; 8235308678Shselasky 8236308678Shselasky u8 port_xmit_pkts[0x20]; 8237308678Shselasky 8238308678Shselasky u8 port_rcv_pkts[0x20]; 8239308678Shselasky 8240308678Shselasky u8 port_xmit_wait[0x20]; 8241308678Shselasky 8242308678Shselasky u8 reserved_2[0x680]; 8243308678Shselasky}; 8244308678Shselasky 8245290650Shselaskystruct mlx5_ifc_phrr_reg_bits { 8246290650Shselasky u8 clr[0x1]; 8247290650Shselasky u8 reserved_0[0x7]; 8248290650Shselasky u8 local_port[0x8]; 8249290650Shselasky u8 reserved_1[0x10]; 8250290650Shselasky 8251290650Shselasky u8 hist_group[0x8]; 8252290650Shselasky u8 reserved_2[0x10]; 8253290650Shselasky u8 hist_id[0x8]; 8254290650Shselasky 8255290650Shselasky u8 reserved_3[0x40]; 8256290650Shselasky 8257290650Shselasky u8 time_since_last_clear_high[0x20]; 8258290650Shselasky 8259290650Shselasky u8 time_since_last_clear_low[0x20]; 8260290650Shselasky 8261290650Shselasky u8 bin[10][0x20]; 8262290650Shselasky}; 8263290650Shselasky 8264290650Shselaskystruct mlx5_ifc_phbr_for_prio_reg_bits { 8265290650Shselasky u8 reserved_0[0x18]; 8266290650Shselasky u8 prio[0x8]; 8267290650Shselasky}; 8268290650Shselasky 8269290650Shselaskystruct mlx5_ifc_phbr_for_port_tclass_reg_bits { 8270290650Shselasky u8 reserved_0[0x18]; 8271290650Shselasky u8 tclass[0x8]; 8272290650Shselasky}; 8273290650Shselasky 8274290650Shselaskystruct mlx5_ifc_phbr_binding_reg_bits { 8275290650Shselasky u8 opcode[0x4]; 8276290650Shselasky u8 reserved_0[0x4]; 8277290650Shselasky u8 local_port[0x8]; 8278290650Shselasky u8 pnat[0x2]; 8279290650Shselasky u8 reserved_1[0xe]; 8280290650Shselasky 8281290650Shselasky u8 hist_group[0x8]; 8282290650Shselasky u8 reserved_2[0x10]; 8283290650Shselasky u8 hist_id[0x8]; 8284290650Shselasky 8285290650Shselasky u8 reserved_3[0x10]; 8286290650Shselasky u8 hist_type[0x10]; 8287290650Shselasky 8288290650Shselasky u8 hist_parameters[0x20]; 8289290650Shselasky 8290290650Shselasky u8 hist_min_value[0x20]; 8291290650Shselasky 8292290650Shselasky u8 hist_max_value[0x20]; 8293290650Shselasky 8294290650Shselasky u8 sample_time[0x20]; 8295290650Shselasky}; 8296290650Shselasky 8297290650Shselaskyenum { 8298290650Shselasky MLX5_PFCC_REG_PPAN_DISABLED = 0x0, 8299290650Shselasky MLX5_PFCC_REG_PPAN_ENABLED = 0x1, 8300290650Shselasky}; 8301290650Shselasky 8302290650Shselaskystruct mlx5_ifc_pfcc_reg_bits { 8303306233Shselasky u8 dcbx_operation_type[0x2]; 8304306233Shselasky u8 cap_local_admin[0x1]; 8305306233Shselasky u8 cap_remote_admin[0x1]; 8306306233Shselasky u8 reserved_0[0x4]; 8307290650Shselasky u8 local_port[0x8]; 8308290650Shselasky u8 pnat[0x2]; 8309290650Shselasky u8 reserved_1[0xc]; 8310290650Shselasky u8 shl_cap[0x1]; 8311290650Shselasky u8 shl_opr[0x1]; 8312290650Shselasky 8313290650Shselasky u8 ppan[0x4]; 8314290650Shselasky u8 reserved_2[0x4]; 8315290650Shselasky u8 prio_mask_tx[0x8]; 8316290650Shselasky u8 reserved_3[0x8]; 8317290650Shselasky u8 prio_mask_rx[0x8]; 8318290650Shselasky 8319290650Shselasky u8 pptx[0x1]; 8320290650Shselasky u8 aptx[0x1]; 8321290650Shselasky u8 reserved_4[0x6]; 8322290650Shselasky u8 pfctx[0x8]; 8323306233Shselasky u8 reserved_5[0x8]; 8324306233Shselasky u8 cbftx[0x8]; 8325290650Shselasky 8326290650Shselasky u8 pprx[0x1]; 8327290650Shselasky u8 aprx[0x1]; 8328290650Shselasky u8 reserved_6[0x6]; 8329290650Shselasky u8 pfcrx[0x8]; 8330306233Shselasky u8 reserved_7[0x8]; 8331306233Shselasky u8 cbfrx[0x8]; 8332290650Shselasky 8333308678Shselasky u8 device_stall_minor_watermark[0x10]; 8334308678Shselasky u8 device_stall_critical_watermark[0x10]; 8335308678Shselasky 8336308678Shselasky u8 reserved_8[0x60]; 8337290650Shselasky}; 8338290650Shselasky 8339290650Shselaskystruct mlx5_ifc_pelc_reg_bits { 8340290650Shselasky u8 op[0x4]; 8341290650Shselasky u8 reserved_0[0x4]; 8342290650Shselasky u8 local_port[0x8]; 8343290650Shselasky u8 reserved_1[0x10]; 8344290650Shselasky 8345290650Shselasky u8 op_admin[0x8]; 8346290650Shselasky u8 op_capability[0x8]; 8347290650Shselasky u8 op_request[0x8]; 8348290650Shselasky u8 op_active[0x8]; 8349290650Shselasky 8350290650Shselasky u8 admin[0x40]; 8351290650Shselasky 8352290650Shselasky u8 capability[0x40]; 8353290650Shselasky 8354290650Shselasky u8 request[0x40]; 8355290650Shselasky 8356290650Shselasky u8 active[0x40]; 8357290650Shselasky 8358290650Shselasky u8 reserved_2[0x80]; 8359290650Shselasky}; 8360290650Shselasky 8361290650Shselaskystruct mlx5_ifc_peir_reg_bits { 8362290650Shselasky u8 reserved_0[0x8]; 8363290650Shselasky u8 local_port[0x8]; 8364290650Shselasky u8 reserved_1[0x10]; 8365290650Shselasky 8366290650Shselasky u8 reserved_2[0xc]; 8367290650Shselasky u8 error_count[0x4]; 8368290650Shselasky u8 reserved_3[0x10]; 8369290650Shselasky 8370290650Shselasky u8 reserved_4[0xc]; 8371290650Shselasky u8 lane[0x4]; 8372290650Shselasky u8 reserved_5[0x8]; 8373290650Shselasky u8 error_type[0x8]; 8374290650Shselasky}; 8375290650Shselasky 8376290650Shselaskystruct mlx5_ifc_pcap_reg_bits { 8377290650Shselasky u8 reserved_0[0x8]; 8378290650Shselasky u8 local_port[0x8]; 8379290650Shselasky u8 reserved_1[0x10]; 8380290650Shselasky 8381290650Shselasky u8 port_capability_mask[4][0x20]; 8382290650Shselasky}; 8383290650Shselasky 8384290650Shselaskystruct mlx5_ifc_pbmc_reg_bits { 8385290650Shselasky u8 reserved_0[0x8]; 8386290650Shselasky u8 local_port[0x8]; 8387290650Shselasky u8 reserved_1[0x10]; 8388290650Shselasky 8389290650Shselasky u8 xoff_timer_value[0x10]; 8390290650Shselasky u8 xoff_refresh[0x10]; 8391290650Shselasky 8392290650Shselasky u8 reserved_2[0x10]; 8393290650Shselasky u8 port_buffer_size[0x10]; 8394290650Shselasky 8395290650Shselasky struct mlx5_ifc_bufferx_reg_bits buffer[10]; 8396290650Shselasky 8397290650Shselasky u8 reserved_3[0x40]; 8398290650Shselasky 8399290650Shselasky u8 port_shared_buffer[0x40]; 8400290650Shselasky}; 8401290650Shselasky 8402290650Shselaskystruct mlx5_ifc_paos_reg_bits { 8403290650Shselasky u8 swid[0x8]; 8404290650Shselasky u8 local_port[0x8]; 8405290650Shselasky u8 reserved_0[0x4]; 8406290650Shselasky u8 admin_status[0x4]; 8407290650Shselasky u8 reserved_1[0x4]; 8408290650Shselasky u8 oper_status[0x4]; 8409290650Shselasky 8410290650Shselasky u8 ase[0x1]; 8411290650Shselasky u8 ee[0x1]; 8412290650Shselasky u8 reserved_2[0x1c]; 8413290650Shselasky u8 e[0x2]; 8414290650Shselasky 8415290650Shselasky u8 reserved_3[0x40]; 8416290650Shselasky}; 8417290650Shselasky 8418290650Shselaskystruct mlx5_ifc_pamp_reg_bits { 8419290650Shselasky u8 reserved_0[0x8]; 8420290650Shselasky u8 opamp_group[0x8]; 8421290650Shselasky u8 reserved_1[0xc]; 8422290650Shselasky u8 opamp_group_type[0x4]; 8423290650Shselasky 8424290650Shselasky u8 start_index[0x10]; 8425290650Shselasky u8 reserved_2[0x4]; 8426290650Shselasky u8 num_of_indices[0xc]; 8427290650Shselasky 8428290650Shselasky u8 index_data[18][0x10]; 8429290650Shselasky}; 8430290650Shselasky 8431290650Shselaskystruct mlx5_ifc_link_level_retrans_cntr_grp_date_bits { 8432290650Shselasky u8 llr_rx_cells_high[0x20]; 8433290650Shselasky 8434290650Shselasky u8 llr_rx_cells_low[0x20]; 8435290650Shselasky 8436290650Shselasky u8 llr_rx_error_high[0x20]; 8437290650Shselasky 8438290650Shselasky u8 llr_rx_error_low[0x20]; 8439290650Shselasky 8440290650Shselasky u8 llr_rx_crc_error_high[0x20]; 8441290650Shselasky 8442290650Shselasky u8 llr_rx_crc_error_low[0x20]; 8443290650Shselasky 8444290650Shselasky u8 llr_tx_cells_high[0x20]; 8445290650Shselasky 8446290650Shselasky u8 llr_tx_cells_low[0x20]; 8447290650Shselasky 8448290650Shselasky u8 llr_tx_ret_cells_high[0x20]; 8449290650Shselasky 8450290650Shselasky u8 llr_tx_ret_cells_low[0x20]; 8451290650Shselasky 8452290650Shselasky u8 llr_tx_ret_events_high[0x20]; 8453290650Shselasky 8454290650Shselasky u8 llr_tx_ret_events_low[0x20]; 8455290650Shselasky 8456290650Shselasky u8 reserved_0[0x640]; 8457290650Shselasky}; 8458290650Shselasky 8459290650Shselaskystruct mlx5_ifc_lane_2_module_mapping_bits { 8460290650Shselasky u8 reserved_0[0x6]; 8461290650Shselasky u8 rx_lane[0x2]; 8462290650Shselasky u8 reserved_1[0x6]; 8463290650Shselasky u8 tx_lane[0x2]; 8464290650Shselasky u8 reserved_2[0x8]; 8465290650Shselasky u8 module[0x8]; 8466290650Shselasky}; 8467290650Shselasky 8468290650Shselaskystruct mlx5_ifc_eth_per_traffic_class_layout_bits { 8469290650Shselasky u8 transmit_queue_high[0x20]; 8470290650Shselasky 8471290650Shselasky u8 transmit_queue_low[0x20]; 8472290650Shselasky 8473290650Shselasky u8 reserved_0[0x780]; 8474290650Shselasky}; 8475290650Shselasky 8476290650Shselaskystruct mlx5_ifc_eth_per_traffic_class_cong_layout_bits { 8477290650Shselasky u8 no_buffer_discard_uc_high[0x20]; 8478290650Shselasky 8479290650Shselasky u8 no_buffer_discard_uc_low[0x20]; 8480290650Shselasky 8481290650Shselasky u8 wred_discard_high[0x20]; 8482290650Shselasky 8483290650Shselasky u8 wred_discard_low[0x20]; 8484290650Shselasky 8485290650Shselasky u8 reserved_0[0x740]; 8486290650Shselasky}; 8487290650Shselasky 8488290650Shselaskystruct mlx5_ifc_eth_per_prio_grp_data_layout_bits { 8489290650Shselasky u8 rx_octets_high[0x20]; 8490290650Shselasky 8491290650Shselasky u8 rx_octets_low[0x20]; 8492290650Shselasky 8493290650Shselasky u8 reserved_0[0xc0]; 8494290650Shselasky 8495290650Shselasky u8 rx_frames_high[0x20]; 8496290650Shselasky 8497290650Shselasky u8 rx_frames_low[0x20]; 8498290650Shselasky 8499290650Shselasky u8 tx_octets_high[0x20]; 8500290650Shselasky 8501290650Shselasky u8 tx_octets_low[0x20]; 8502290650Shselasky 8503290650Shselasky u8 reserved_1[0xc0]; 8504290650Shselasky 8505290650Shselasky u8 tx_frames_high[0x20]; 8506290650Shselasky 8507290650Shselasky u8 tx_frames_low[0x20]; 8508290650Shselasky 8509290650Shselasky u8 rx_pause_high[0x20]; 8510290650Shselasky 8511290650Shselasky u8 rx_pause_low[0x20]; 8512290650Shselasky 8513290650Shselasky u8 rx_pause_duration_high[0x20]; 8514290650Shselasky 8515290650Shselasky u8 rx_pause_duration_low[0x20]; 8516290650Shselasky 8517290650Shselasky u8 tx_pause_high[0x20]; 8518290650Shselasky 8519290650Shselasky u8 tx_pause_low[0x20]; 8520290650Shselasky 8521290650Shselasky u8 tx_pause_duration_high[0x20]; 8522290650Shselasky 8523290650Shselasky u8 tx_pause_duration_low[0x20]; 8524290650Shselasky 8525290650Shselasky u8 rx_pause_transition_high[0x20]; 8526290650Shselasky 8527290650Shselasky u8 rx_pause_transition_low[0x20]; 8528290650Shselasky 8529308678Shselasky u8 rx_discards_high[0x20]; 8530308678Shselasky 8531308678Shselasky u8 rx_discards_low[0x20]; 8532308678Shselasky 8533308678Shselasky u8 device_stall_minor_watermark_cnt_high[0x20]; 8534308678Shselasky 8535308678Shselasky u8 device_stall_minor_watermark_cnt_low[0x20]; 8536308678Shselasky 8537308678Shselasky u8 device_stall_critical_watermark_cnt_high[0x20]; 8538308678Shselasky 8539308678Shselasky u8 device_stall_critical_watermark_cnt_low[0x20]; 8540308678Shselasky 8541308678Shselasky u8 reserved_2[0x340]; 8542290650Shselasky}; 8543290650Shselasky 8544290650Shselaskystruct mlx5_ifc_eth_extended_cntrs_grp_data_layout_bits { 8545290650Shselasky u8 port_transmit_wait_high[0x20]; 8546290650Shselasky 8547290650Shselasky u8 port_transmit_wait_low[0x20]; 8548290650Shselasky 8549290650Shselasky u8 ecn_marked_high[0x20]; 8550290650Shselasky 8551290650Shselasky u8 ecn_marked_low[0x20]; 8552290650Shselasky 8553290650Shselasky u8 no_buffer_discard_mc_high[0x20]; 8554290650Shselasky 8555290650Shselasky u8 no_buffer_discard_mc_low[0x20]; 8556290650Shselasky 8557290650Shselasky u8 reserved_0[0x700]; 8558290650Shselasky}; 8559290650Shselasky 8560290650Shselaskystruct mlx5_ifc_eth_802_3_cntrs_grp_data_layout_bits { 8561290650Shselasky u8 a_frames_transmitted_ok_high[0x20]; 8562290650Shselasky 8563290650Shselasky u8 a_frames_transmitted_ok_low[0x20]; 8564290650Shselasky 8565290650Shselasky u8 a_frames_received_ok_high[0x20]; 8566290650Shselasky 8567290650Shselasky u8 a_frames_received_ok_low[0x20]; 8568290650Shselasky 8569290650Shselasky u8 a_frame_check_sequence_errors_high[0x20]; 8570290650Shselasky 8571290650Shselasky u8 a_frame_check_sequence_errors_low[0x20]; 8572290650Shselasky 8573290650Shselasky u8 a_alignment_errors_high[0x20]; 8574290650Shselasky 8575290650Shselasky u8 a_alignment_errors_low[0x20]; 8576290650Shselasky 8577290650Shselasky u8 a_octets_transmitted_ok_high[0x20]; 8578290650Shselasky 8579290650Shselasky u8 a_octets_transmitted_ok_low[0x20]; 8580290650Shselasky 8581290650Shselasky u8 a_octets_received_ok_high[0x20]; 8582290650Shselasky 8583290650Shselasky u8 a_octets_received_ok_low[0x20]; 8584290650Shselasky 8585290650Shselasky u8 a_multicast_frames_xmitted_ok_high[0x20]; 8586290650Shselasky 8587290650Shselasky u8 a_multicast_frames_xmitted_ok_low[0x20]; 8588290650Shselasky 8589290650Shselasky u8 a_broadcast_frames_xmitted_ok_high[0x20]; 8590290650Shselasky 8591290650Shselasky u8 a_broadcast_frames_xmitted_ok_low[0x20]; 8592290650Shselasky 8593290650Shselasky u8 a_multicast_frames_received_ok_high[0x20]; 8594290650Shselasky 8595290650Shselasky u8 a_multicast_frames_received_ok_low[0x20]; 8596290650Shselasky 8597290650Shselasky u8 a_broadcast_frames_recieved_ok_high[0x20]; 8598290650Shselasky 8599290650Shselasky u8 a_broadcast_frames_recieved_ok_low[0x20]; 8600290650Shselasky 8601290650Shselasky u8 a_in_range_length_errors_high[0x20]; 8602290650Shselasky 8603290650Shselasky u8 a_in_range_length_errors_low[0x20]; 8604290650Shselasky 8605290650Shselasky u8 a_out_of_range_length_field_high[0x20]; 8606290650Shselasky 8607290650Shselasky u8 a_out_of_range_length_field_low[0x20]; 8608290650Shselasky 8609290650Shselasky u8 a_frame_too_long_errors_high[0x20]; 8610290650Shselasky 8611290650Shselasky u8 a_frame_too_long_errors_low[0x20]; 8612290650Shselasky 8613290650Shselasky u8 a_symbol_error_during_carrier_high[0x20]; 8614290650Shselasky 8615290650Shselasky u8 a_symbol_error_during_carrier_low[0x20]; 8616290650Shselasky 8617290650Shselasky u8 a_mac_control_frames_transmitted_high[0x20]; 8618290650Shselasky 8619290650Shselasky u8 a_mac_control_frames_transmitted_low[0x20]; 8620290650Shselasky 8621290650Shselasky u8 a_mac_control_frames_received_high[0x20]; 8622290650Shselasky 8623290650Shselasky u8 a_mac_control_frames_received_low[0x20]; 8624290650Shselasky 8625290650Shselasky u8 a_unsupported_opcodes_received_high[0x20]; 8626290650Shselasky 8627290650Shselasky u8 a_unsupported_opcodes_received_low[0x20]; 8628290650Shselasky 8629290650Shselasky u8 a_pause_mac_ctrl_frames_received_high[0x20]; 8630290650Shselasky 8631290650Shselasky u8 a_pause_mac_ctrl_frames_received_low[0x20]; 8632290650Shselasky 8633290650Shselasky u8 a_pause_mac_ctrl_frames_transmitted_high[0x20]; 8634290650Shselasky 8635290650Shselasky u8 a_pause_mac_ctrl_frames_transmitted_low[0x20]; 8636290650Shselasky 8637290650Shselasky u8 reserved_0[0x300]; 8638290650Shselasky}; 8639290650Shselasky 8640290650Shselaskystruct mlx5_ifc_eth_3635_cntrs_grp_data_layout_bits { 8641290650Shselasky u8 dot3stats_alignment_errors_high[0x20]; 8642290650Shselasky 8643290650Shselasky u8 dot3stats_alignment_errors_low[0x20]; 8644290650Shselasky 8645290650Shselasky u8 dot3stats_fcs_errors_high[0x20]; 8646290650Shselasky 8647290650Shselasky u8 dot3stats_fcs_errors_low[0x20]; 8648290650Shselasky 8649290650Shselasky u8 dot3stats_single_collision_frames_high[0x20]; 8650290650Shselasky 8651290650Shselasky u8 dot3stats_single_collision_frames_low[0x20]; 8652290650Shselasky 8653290650Shselasky u8 dot3stats_multiple_collision_frames_high[0x20]; 8654290650Shselasky 8655290650Shselasky u8 dot3stats_multiple_collision_frames_low[0x20]; 8656290650Shselasky 8657290650Shselasky u8 dot3stats_sqe_test_errors_high[0x20]; 8658290650Shselasky 8659290650Shselasky u8 dot3stats_sqe_test_errors_low[0x20]; 8660290650Shselasky 8661290650Shselasky u8 dot3stats_deferred_transmissions_high[0x20]; 8662290650Shselasky 8663290650Shselasky u8 dot3stats_deferred_transmissions_low[0x20]; 8664290650Shselasky 8665290650Shselasky u8 dot3stats_late_collisions_high[0x20]; 8666290650Shselasky 8667290650Shselasky u8 dot3stats_late_collisions_low[0x20]; 8668290650Shselasky 8669290650Shselasky u8 dot3stats_excessive_collisions_high[0x20]; 8670290650Shselasky 8671290650Shselasky u8 dot3stats_excessive_collisions_low[0x20]; 8672290650Shselasky 8673290650Shselasky u8 dot3stats_internal_mac_transmit_errors_high[0x20]; 8674290650Shselasky 8675290650Shselasky u8 dot3stats_internal_mac_transmit_errors_low[0x20]; 8676290650Shselasky 8677290650Shselasky u8 dot3stats_carrier_sense_errors_high[0x20]; 8678290650Shselasky 8679290650Shselasky u8 dot3stats_carrier_sense_errors_low[0x20]; 8680290650Shselasky 8681290650Shselasky u8 dot3stats_frame_too_longs_high[0x20]; 8682290650Shselasky 8683290650Shselasky u8 dot3stats_frame_too_longs_low[0x20]; 8684290650Shselasky 8685290650Shselasky u8 dot3stats_internal_mac_receive_errors_high[0x20]; 8686290650Shselasky 8687290650Shselasky u8 dot3stats_internal_mac_receive_errors_low[0x20]; 8688290650Shselasky 8689290650Shselasky u8 dot3stats_symbol_errors_high[0x20]; 8690290650Shselasky 8691290650Shselasky u8 dot3stats_symbol_errors_low[0x20]; 8692290650Shselasky 8693290650Shselasky u8 dot3control_in_unknown_opcodes_high[0x20]; 8694290650Shselasky 8695290650Shselasky u8 dot3control_in_unknown_opcodes_low[0x20]; 8696290650Shselasky 8697290650Shselasky u8 dot3in_pause_frames_high[0x20]; 8698290650Shselasky 8699290650Shselasky u8 dot3in_pause_frames_low[0x20]; 8700290650Shselasky 8701290650Shselasky u8 dot3out_pause_frames_high[0x20]; 8702290650Shselasky 8703290650Shselasky u8 dot3out_pause_frames_low[0x20]; 8704290650Shselasky 8705290650Shselasky u8 reserved_0[0x3c0]; 8706290650Shselasky}; 8707290650Shselasky 8708290650Shselaskystruct mlx5_ifc_eth_2863_cntrs_grp_data_layout_bits { 8709290650Shselasky u8 if_in_octets_high[0x20]; 8710290650Shselasky 8711290650Shselasky u8 if_in_octets_low[0x20]; 8712290650Shselasky 8713290650Shselasky u8 if_in_ucast_pkts_high[0x20]; 8714290650Shselasky 8715290650Shselasky u8 if_in_ucast_pkts_low[0x20]; 8716290650Shselasky 8717290650Shselasky u8 if_in_discards_high[0x20]; 8718290650Shselasky 8719290650Shselasky u8 if_in_discards_low[0x20]; 8720290650Shselasky 8721290650Shselasky u8 if_in_errors_high[0x20]; 8722290650Shselasky 8723290650Shselasky u8 if_in_errors_low[0x20]; 8724290650Shselasky 8725290650Shselasky u8 if_in_unknown_protos_high[0x20]; 8726290650Shselasky 8727290650Shselasky u8 if_in_unknown_protos_low[0x20]; 8728290650Shselasky 8729290650Shselasky u8 if_out_octets_high[0x20]; 8730290650Shselasky 8731290650Shselasky u8 if_out_octets_low[0x20]; 8732290650Shselasky 8733290650Shselasky u8 if_out_ucast_pkts_high[0x20]; 8734290650Shselasky 8735290650Shselasky u8 if_out_ucast_pkts_low[0x20]; 8736290650Shselasky 8737290650Shselasky u8 if_out_discards_high[0x20]; 8738290650Shselasky 8739290650Shselasky u8 if_out_discards_low[0x20]; 8740290650Shselasky 8741290650Shselasky u8 if_out_errors_high[0x20]; 8742290650Shselasky 8743290650Shselasky u8 if_out_errors_low[0x20]; 8744290650Shselasky 8745290650Shselasky u8 if_in_multicast_pkts_high[0x20]; 8746290650Shselasky 8747290650Shselasky u8 if_in_multicast_pkts_low[0x20]; 8748290650Shselasky 8749290650Shselasky u8 if_in_broadcast_pkts_high[0x20]; 8750290650Shselasky 8751290650Shselasky u8 if_in_broadcast_pkts_low[0x20]; 8752290650Shselasky 8753290650Shselasky u8 if_out_multicast_pkts_high[0x20]; 8754290650Shselasky 8755290650Shselasky u8 if_out_multicast_pkts_low[0x20]; 8756290650Shselasky 8757290650Shselasky u8 if_out_broadcast_pkts_high[0x20]; 8758290650Shselasky 8759290650Shselasky u8 if_out_broadcast_pkts_low[0x20]; 8760290650Shselasky 8761290650Shselasky u8 reserved_0[0x480]; 8762290650Shselasky}; 8763290650Shselasky 8764290650Shselaskystruct mlx5_ifc_eth_2819_cntrs_grp_data_layout_bits { 8765290650Shselasky u8 ether_stats_drop_events_high[0x20]; 8766290650Shselasky 8767290650Shselasky u8 ether_stats_drop_events_low[0x20]; 8768290650Shselasky 8769290650Shselasky u8 ether_stats_octets_high[0x20]; 8770290650Shselasky 8771290650Shselasky u8 ether_stats_octets_low[0x20]; 8772290650Shselasky 8773290650Shselasky u8 ether_stats_pkts_high[0x20]; 8774290650Shselasky 8775290650Shselasky u8 ether_stats_pkts_low[0x20]; 8776290650Shselasky 8777290650Shselasky u8 ether_stats_broadcast_pkts_high[0x20]; 8778290650Shselasky 8779290650Shselasky u8 ether_stats_broadcast_pkts_low[0x20]; 8780290650Shselasky 8781290650Shselasky u8 ether_stats_multicast_pkts_high[0x20]; 8782290650Shselasky 8783290650Shselasky u8 ether_stats_multicast_pkts_low[0x20]; 8784290650Shselasky 8785290650Shselasky u8 ether_stats_crc_align_errors_high[0x20]; 8786290650Shselasky 8787290650Shselasky u8 ether_stats_crc_align_errors_low[0x20]; 8788290650Shselasky 8789290650Shselasky u8 ether_stats_undersize_pkts_high[0x20]; 8790290650Shselasky 8791290650Shselasky u8 ether_stats_undersize_pkts_low[0x20]; 8792290650Shselasky 8793290650Shselasky u8 ether_stats_oversize_pkts_high[0x20]; 8794290650Shselasky 8795290650Shselasky u8 ether_stats_oversize_pkts_low[0x20]; 8796290650Shselasky 8797290650Shselasky u8 ether_stats_fragments_high[0x20]; 8798290650Shselasky 8799290650Shselasky u8 ether_stats_fragments_low[0x20]; 8800290650Shselasky 8801290650Shselasky u8 ether_stats_jabbers_high[0x20]; 8802290650Shselasky 8803290650Shselasky u8 ether_stats_jabbers_low[0x20]; 8804290650Shselasky 8805290650Shselasky u8 ether_stats_collisions_high[0x20]; 8806290650Shselasky 8807290650Shselasky u8 ether_stats_collisions_low[0x20]; 8808290650Shselasky 8809290650Shselasky u8 ether_stats_pkts64octets_high[0x20]; 8810290650Shselasky 8811290650Shselasky u8 ether_stats_pkts64octets_low[0x20]; 8812290650Shselasky 8813290650Shselasky u8 ether_stats_pkts65to127octets_high[0x20]; 8814290650Shselasky 8815290650Shselasky u8 ether_stats_pkts65to127octets_low[0x20]; 8816290650Shselasky 8817290650Shselasky u8 ether_stats_pkts128to255octets_high[0x20]; 8818290650Shselasky 8819290650Shselasky u8 ether_stats_pkts128to255octets_low[0x20]; 8820290650Shselasky 8821290650Shselasky u8 ether_stats_pkts256to511octets_high[0x20]; 8822290650Shselasky 8823290650Shselasky u8 ether_stats_pkts256to511octets_low[0x20]; 8824290650Shselasky 8825290650Shselasky u8 ether_stats_pkts512to1023octets_high[0x20]; 8826290650Shselasky 8827290650Shselasky u8 ether_stats_pkts512to1023octets_low[0x20]; 8828290650Shselasky 8829290650Shselasky u8 ether_stats_pkts1024to1518octets_high[0x20]; 8830290650Shselasky 8831290650Shselasky u8 ether_stats_pkts1024to1518octets_low[0x20]; 8832290650Shselasky 8833290650Shselasky u8 ether_stats_pkts1519to2047octets_high[0x20]; 8834290650Shselasky 8835290650Shselasky u8 ether_stats_pkts1519to2047octets_low[0x20]; 8836290650Shselasky 8837290650Shselasky u8 ether_stats_pkts2048to4095octets_high[0x20]; 8838290650Shselasky 8839290650Shselasky u8 ether_stats_pkts2048to4095octets_low[0x20]; 8840290650Shselasky 8841290650Shselasky u8 ether_stats_pkts4096to8191octets_high[0x20]; 8842290650Shselasky 8843290650Shselasky u8 ether_stats_pkts4096to8191octets_low[0x20]; 8844290650Shselasky 8845290650Shselasky u8 ether_stats_pkts8192to10239octets_high[0x20]; 8846290650Shselasky 8847290650Shselasky u8 ether_stats_pkts8192to10239octets_low[0x20]; 8848290650Shselasky 8849290650Shselasky u8 reserved_0[0x280]; 8850290650Shselasky}; 8851290650Shselasky 8852290650Shselaskystruct mlx5_ifc_ib_portcntrs_attribute_grp_data_bits { 8853290650Shselasky u8 symbol_error_counter[0x10]; 8854290650Shselasky u8 link_error_recovery_counter[0x8]; 8855290650Shselasky u8 link_downed_counter[0x8]; 8856290650Shselasky 8857290650Shselasky u8 port_rcv_errors[0x10]; 8858290650Shselasky u8 port_rcv_remote_physical_errors[0x10]; 8859290650Shselasky 8860290650Shselasky u8 port_rcv_switch_relay_errors[0x10]; 8861290650Shselasky u8 port_xmit_discards[0x10]; 8862290650Shselasky 8863290650Shselasky u8 port_xmit_constraint_errors[0x8]; 8864290650Shselasky u8 port_rcv_constraint_errors[0x8]; 8865290650Shselasky u8 reserved_0[0x8]; 8866290650Shselasky u8 local_link_integrity_errors[0x4]; 8867290650Shselasky u8 excessive_buffer_overrun_errors[0x4]; 8868290650Shselasky 8869290650Shselasky u8 reserved_1[0x10]; 8870290650Shselasky u8 vl_15_dropped[0x10]; 8871290650Shselasky 8872290650Shselasky u8 port_xmit_data[0x20]; 8873290650Shselasky 8874290650Shselasky u8 port_rcv_data[0x20]; 8875290650Shselasky 8876290650Shselasky u8 port_xmit_pkts[0x20]; 8877290650Shselasky 8878290650Shselasky u8 port_rcv_pkts[0x20]; 8879290650Shselasky 8880290650Shselasky u8 port_xmit_wait[0x20]; 8881290650Shselasky 8882290650Shselasky u8 reserved_2[0x680]; 8883290650Shselasky}; 8884290650Shselasky 8885290650Shselaskystruct mlx5_ifc_trc_tlb_reg_bits { 8886290650Shselasky u8 reserved_0[0x80]; 8887290650Shselasky 8888290650Shselasky u8 tlb_addr[0][0x40]; 8889290650Shselasky}; 8890290650Shselasky 8891290650Shselaskystruct mlx5_ifc_trc_read_fifo_reg_bits { 8892290650Shselasky u8 reserved_0[0x10]; 8893290650Shselasky u8 requested_event_num[0x10]; 8894290650Shselasky 8895290650Shselasky u8 reserved_1[0x20]; 8896290650Shselasky 8897290650Shselasky u8 reserved_2[0x10]; 8898290650Shselasky u8 acual_event_num[0x10]; 8899290650Shselasky 8900290650Shselasky u8 reserved_3[0x20]; 8901290650Shselasky 8902290650Shselasky u8 event[0][0x40]; 8903290650Shselasky}; 8904290650Shselasky 8905290650Shselaskystruct mlx5_ifc_trc_lock_reg_bits { 8906290650Shselasky u8 reserved_0[0x1f]; 8907290650Shselasky u8 lock[0x1]; 8908290650Shselasky 8909290650Shselasky u8 reserved_1[0x60]; 8910290650Shselasky}; 8911290650Shselasky 8912290650Shselaskystruct mlx5_ifc_trc_filter_reg_bits { 8913290650Shselasky u8 status[0x1]; 8914290650Shselasky u8 reserved_0[0xf]; 8915290650Shselasky u8 filter_index[0x10]; 8916290650Shselasky 8917290650Shselasky u8 reserved_1[0x20]; 8918290650Shselasky 8919290650Shselasky u8 filter_val[0x20]; 8920290650Shselasky 8921290650Shselasky u8 reserved_2[0x1a0]; 8922290650Shselasky}; 8923290650Shselasky 8924290650Shselaskystruct mlx5_ifc_trc_event_reg_bits { 8925290650Shselasky u8 status[0x1]; 8926290650Shselasky u8 reserved_0[0xf]; 8927290650Shselasky u8 event_index[0x10]; 8928290650Shselasky 8929290650Shselasky u8 reserved_1[0x20]; 8930290650Shselasky 8931290650Shselasky u8 event_id[0x20]; 8932290650Shselasky 8933290650Shselasky u8 event_selector_val[0x10]; 8934290650Shselasky u8 event_selector_size[0x10]; 8935290650Shselasky 8936290650Shselasky u8 reserved_2[0x180]; 8937290650Shselasky}; 8938290650Shselasky 8939290650Shselaskystruct mlx5_ifc_trc_conf_reg_bits { 8940290650Shselasky u8 limit_en[0x1]; 8941290650Shselasky u8 reserved_0[0x3]; 8942290650Shselasky u8 dump_mode[0x4]; 8943290650Shselasky u8 reserved_1[0x15]; 8944290650Shselasky u8 state[0x3]; 8945290650Shselasky 8946290650Shselasky u8 reserved_2[0x20]; 8947290650Shselasky 8948290650Shselasky u8 limit_event_index[0x20]; 8949290650Shselasky 8950290650Shselasky u8 mkey[0x20]; 8951290650Shselasky 8952290650Shselasky u8 fifo_ready_ev_num[0x20]; 8953290650Shselasky 8954290650Shselasky u8 reserved_3[0x160]; 8955290650Shselasky}; 8956290650Shselasky 8957290650Shselaskystruct mlx5_ifc_trc_cap_reg_bits { 8958290650Shselasky u8 reserved_0[0x18]; 8959290650Shselasky u8 dump_mode[0x8]; 8960290650Shselasky 8961290650Shselasky u8 reserved_1[0x20]; 8962290650Shselasky 8963290650Shselasky u8 num_of_events[0x10]; 8964290650Shselasky u8 num_of_filters[0x10]; 8965290650Shselasky 8966290650Shselasky u8 fifo_size[0x20]; 8967290650Shselasky 8968290650Shselasky u8 tlb_size[0x10]; 8969290650Shselasky u8 event_size[0x10]; 8970290650Shselasky 8971290650Shselasky u8 reserved_2[0x160]; 8972290650Shselasky}; 8973290650Shselasky 8974290650Shselaskystruct mlx5_ifc_set_node_in_bits { 8975290650Shselasky u8 node_description[64][0x8]; 8976290650Shselasky}; 8977290650Shselasky 8978290650Shselaskystruct mlx5_ifc_register_power_settings_bits { 8979290650Shselasky u8 reserved_0[0x18]; 8980290650Shselasky u8 power_settings_level[0x8]; 8981290650Shselasky 8982290650Shselasky u8 reserved_1[0x60]; 8983290650Shselasky}; 8984290650Shselasky 8985290650Shselaskystruct mlx5_ifc_register_host_endianess_bits { 8986290650Shselasky u8 he[0x1]; 8987290650Shselasky u8 reserved_0[0x1f]; 8988290650Shselasky 8989290650Shselasky u8 reserved_1[0x60]; 8990290650Shselasky}; 8991290650Shselasky 8992290650Shselaskystruct mlx5_ifc_register_diag_buffer_ctrl_bits { 8993290650Shselasky u8 physical_address[0x40]; 8994290650Shselasky}; 8995290650Shselasky 8996290650Shselaskystruct mlx5_ifc_qtct_reg_bits { 8997306233Shselasky u8 operation_type[0x2]; 8998306233Shselasky u8 cap_local_admin[0x1]; 8999306233Shselasky u8 cap_remote_admin[0x1]; 9000306233Shselasky u8 reserved_0[0x4]; 9001290650Shselasky u8 port_number[0x8]; 9002290650Shselasky u8 reserved_1[0xd]; 9003290650Shselasky u8 prio[0x3]; 9004290650Shselasky 9005290650Shselasky u8 reserved_2[0x1d]; 9006290650Shselasky u8 tclass[0x3]; 9007290650Shselasky}; 9008290650Shselasky 9009290650Shselaskystruct mlx5_ifc_qpdp_reg_bits { 9010290650Shselasky u8 reserved_0[0x8]; 9011290650Shselasky u8 port_number[0x8]; 9012290650Shselasky u8 reserved_1[0x10]; 9013290650Shselasky 9014290650Shselasky u8 reserved_2[0x1d]; 9015290650Shselasky u8 pprio[0x3]; 9016290650Shselasky}; 9017290650Shselasky 9018290650Shselaskystruct mlx5_ifc_port_info_ro_fields_param_bits { 9019290650Shselasky u8 reserved_0[0x8]; 9020290650Shselasky u8 port[0x8]; 9021290650Shselasky u8 max_gid[0x10]; 9022290650Shselasky 9023290650Shselasky u8 reserved_1[0x20]; 9024290650Shselasky 9025290650Shselasky u8 port_guid[0x40]; 9026290650Shselasky}; 9027290650Shselasky 9028290650Shselaskystruct mlx5_ifc_nvqc_reg_bits { 9029290650Shselasky u8 type[0x20]; 9030290650Shselasky 9031290650Shselasky u8 reserved_0[0x18]; 9032290650Shselasky u8 version[0x4]; 9033290650Shselasky u8 reserved_1[0x2]; 9034290650Shselasky u8 support_wr[0x1]; 9035290650Shselasky u8 support_rd[0x1]; 9036290650Shselasky}; 9037290650Shselasky 9038290650Shselaskystruct mlx5_ifc_nvia_reg_bits { 9039290650Shselasky u8 reserved_0[0x1d]; 9040290650Shselasky u8 target[0x3]; 9041290650Shselasky 9042290650Shselasky u8 reserved_1[0x20]; 9043290650Shselasky}; 9044290650Shselasky 9045290650Shselaskystruct mlx5_ifc_nvdi_reg_bits { 9046290650Shselasky struct mlx5_ifc_config_item_bits configuration_item_header; 9047290650Shselasky}; 9048290650Shselasky 9049290650Shselaskystruct mlx5_ifc_nvda_reg_bits { 9050290650Shselasky struct mlx5_ifc_config_item_bits configuration_item_header; 9051290650Shselasky 9052290650Shselasky u8 configuration_item_data[0x20]; 9053290650Shselasky}; 9054290650Shselasky 9055290650Shselaskystruct mlx5_ifc_node_info_ro_fields_param_bits { 9056290650Shselasky u8 system_image_guid[0x40]; 9057290650Shselasky 9058290650Shselasky u8 reserved_0[0x40]; 9059290650Shselasky 9060290650Shselasky u8 node_guid[0x40]; 9061290650Shselasky 9062290650Shselasky u8 reserved_1[0x10]; 9063290650Shselasky u8 max_pkey[0x10]; 9064290650Shselasky 9065290650Shselasky u8 reserved_2[0x20]; 9066290650Shselasky}; 9067290650Shselasky 9068290650Shselaskystruct mlx5_ifc_ets_tcn_config_reg_bits { 9069290650Shselasky u8 g[0x1]; 9070290650Shselasky u8 b[0x1]; 9071290650Shselasky u8 r[0x1]; 9072290650Shselasky u8 reserved_0[0x9]; 9073290650Shselasky u8 group[0x4]; 9074290650Shselasky u8 reserved_1[0x9]; 9075290650Shselasky u8 bw_allocation[0x7]; 9076290650Shselasky 9077290650Shselasky u8 reserved_2[0xc]; 9078290650Shselasky u8 max_bw_units[0x4]; 9079290650Shselasky u8 reserved_3[0x8]; 9080290650Shselasky u8 max_bw_value[0x8]; 9081290650Shselasky}; 9082290650Shselasky 9083290650Shselaskystruct mlx5_ifc_ets_global_config_reg_bits { 9084290650Shselasky u8 reserved_0[0x2]; 9085290650Shselasky u8 r[0x1]; 9086290650Shselasky u8 reserved_1[0x1d]; 9087290650Shselasky 9088290650Shselasky u8 reserved_2[0xc]; 9089290650Shselasky u8 max_bw_units[0x4]; 9090290650Shselasky u8 reserved_3[0x8]; 9091290650Shselasky u8 max_bw_value[0x8]; 9092290650Shselasky}; 9093290650Shselasky 9094290650Shselaskystruct mlx5_ifc_nodnic_mac_filters_bits { 9095290650Shselasky struct mlx5_ifc_mac_address_layout_bits mac_filter0; 9096290650Shselasky 9097290650Shselasky struct mlx5_ifc_mac_address_layout_bits mac_filter1; 9098290650Shselasky 9099290650Shselasky struct mlx5_ifc_mac_address_layout_bits mac_filter2; 9100290650Shselasky 9101290650Shselasky struct mlx5_ifc_mac_address_layout_bits mac_filter3; 9102290650Shselasky 9103290650Shselasky struct mlx5_ifc_mac_address_layout_bits mac_filter4; 9104290650Shselasky 9105290650Shselasky u8 reserved_0[0xc0]; 9106290650Shselasky}; 9107290650Shselasky 9108290650Shselaskystruct mlx5_ifc_nodnic_gid_filters_bits { 9109290650Shselasky u8 mgid_filter0[16][0x8]; 9110290650Shselasky 9111290650Shselasky u8 mgid_filter1[16][0x8]; 9112290650Shselasky 9113290650Shselasky u8 mgid_filter2[16][0x8]; 9114290650Shselasky 9115290650Shselasky u8 mgid_filter3[16][0x8]; 9116290650Shselasky}; 9117290650Shselasky 9118290650Shselaskyenum { 9119290650Shselasky MLX5_NODNIC_CONFIG_REG_NUM_PORTS_SINGLE_PORT = 0x0, 9120290650Shselasky MLX5_NODNIC_CONFIG_REG_NUM_PORTS_DUAL_PORT = 0x1, 9121290650Shselasky}; 9122290650Shselasky 9123290650Shselaskyenum { 9124290650Shselasky MLX5_NODNIC_CONFIG_REG_CQE_FORMAT_LEGACY_CQE = 0x0, 9125290650Shselasky MLX5_NODNIC_CONFIG_REG_CQE_FORMAT_NEW_CQE = 0x1, 9126290650Shselasky}; 9127290650Shselasky 9128290650Shselaskystruct mlx5_ifc_nodnic_config_reg_bits { 9129290650Shselasky u8 no_dram_nic_revision[0x8]; 9130290650Shselasky u8 hardware_format[0x8]; 9131290650Shselasky u8 support_receive_filter[0x1]; 9132290650Shselasky u8 support_promisc_filter[0x1]; 9133290650Shselasky u8 support_promisc_multicast_filter[0x1]; 9134290650Shselasky u8 reserved_0[0x2]; 9135290650Shselasky u8 log_working_buffer_size[0x3]; 9136290650Shselasky u8 log_pkey_table_size[0x4]; 9137290650Shselasky u8 reserved_1[0x3]; 9138290650Shselasky u8 num_ports[0x1]; 9139290650Shselasky 9140290650Shselasky u8 reserved_2[0x2]; 9141290650Shselasky u8 log_max_ring_size[0x6]; 9142290650Shselasky u8 reserved_3[0x18]; 9143290650Shselasky 9144290650Shselasky u8 lkey[0x20]; 9145290650Shselasky 9146290650Shselasky u8 cqe_format[0x4]; 9147290650Shselasky u8 reserved_4[0x1c]; 9148290650Shselasky 9149290650Shselasky u8 node_guid[0x40]; 9150290650Shselasky 9151290650Shselasky u8 reserved_5[0x740]; 9152290650Shselasky 9153290650Shselasky struct mlx5_ifc_nodnic_port_config_reg_bits port1_settings; 9154290650Shselasky 9155290650Shselasky struct mlx5_ifc_nodnic_port_config_reg_bits port2_settings; 9156290650Shselasky}; 9157290650Shselasky 9158290650Shselaskystruct mlx5_ifc_vlan_layout_bits { 9159290650Shselasky u8 reserved_0[0x14]; 9160290650Shselasky u8 vlan[0xc]; 9161290650Shselasky 9162290650Shselasky u8 reserved_1[0x20]; 9163290650Shselasky}; 9164290650Shselasky 9165290650Shselaskystruct mlx5_ifc_umr_pointer_desc_argument_bits { 9166290650Shselasky u8 reserved_0[0x20]; 9167290650Shselasky 9168290650Shselasky u8 mkey[0x20]; 9169290650Shselasky 9170290650Shselasky u8 addressh_63_32[0x20]; 9171290650Shselasky 9172290650Shselasky u8 addressl_31_0[0x20]; 9173290650Shselasky}; 9174290650Shselasky 9175290650Shselaskystruct mlx5_ifc_ud_adrs_vector_bits { 9176290650Shselasky u8 dc_key[0x40]; 9177290650Shselasky 9178290650Shselasky u8 ext[0x1]; 9179290650Shselasky u8 reserved_0[0x7]; 9180290650Shselasky u8 destination_qp_dct[0x18]; 9181290650Shselasky 9182290650Shselasky u8 static_rate[0x4]; 9183290650Shselasky u8 sl_eth_prio[0x4]; 9184290650Shselasky u8 fl[0x1]; 9185290650Shselasky u8 mlid[0x7]; 9186290650Shselasky u8 rlid_udp_sport[0x10]; 9187290650Shselasky 9188290650Shselasky u8 reserved_1[0x20]; 9189290650Shselasky 9190290650Shselasky u8 rmac_47_16[0x20]; 9191290650Shselasky 9192290650Shselasky u8 rmac_15_0[0x10]; 9193290650Shselasky u8 tclass[0x8]; 9194290650Shselasky u8 hop_limit[0x8]; 9195290650Shselasky 9196290650Shselasky u8 reserved_2[0x1]; 9197290650Shselasky u8 grh[0x1]; 9198290650Shselasky u8 reserved_3[0x2]; 9199290650Shselasky u8 src_addr_index[0x8]; 9200290650Shselasky u8 flow_label[0x14]; 9201290650Shselasky 9202290650Shselasky u8 rgid_rip[16][0x8]; 9203290650Shselasky}; 9204290650Shselasky 9205290650Shselaskystruct mlx5_ifc_port_module_event_bits { 9206290650Shselasky u8 reserved_0[0x8]; 9207290650Shselasky u8 module[0x8]; 9208290650Shselasky u8 reserved_1[0xc]; 9209290650Shselasky u8 module_status[0x4]; 9210290650Shselasky 9211290650Shselasky u8 reserved_2[0x14]; 9212290650Shselasky u8 error_type[0x4]; 9213290650Shselasky u8 reserved_3[0x8]; 9214290650Shselasky 9215290650Shselasky u8 reserved_4[0xa0]; 9216290650Shselasky}; 9217290650Shselasky 9218290650Shselaskystruct mlx5_ifc_icmd_control_bits { 9219290650Shselasky u8 opcode[0x10]; 9220290650Shselasky u8 status[0x8]; 9221290650Shselasky u8 reserved_0[0x7]; 9222290650Shselasky u8 busy[0x1]; 9223290650Shselasky}; 9224290650Shselasky 9225290650Shselaskystruct mlx5_ifc_eqe_bits { 9226290650Shselasky u8 reserved_0[0x8]; 9227290650Shselasky u8 event_type[0x8]; 9228290650Shselasky u8 reserved_1[0x8]; 9229290650Shselasky u8 event_sub_type[0x8]; 9230290650Shselasky 9231290650Shselasky u8 reserved_2[0xe0]; 9232290650Shselasky 9233290650Shselasky union mlx5_ifc_event_auto_bits event_data; 9234290650Shselasky 9235290650Shselasky u8 reserved_3[0x10]; 9236290650Shselasky u8 signature[0x8]; 9237290650Shselasky u8 reserved_4[0x7]; 9238290650Shselasky u8 owner[0x1]; 9239290650Shselasky}; 9240290650Shselasky 9241290650Shselaskyenum { 9242290650Shselasky MLX5_CMD_QUEUE_ENTRY_TYPE_PCIE_CMD_IF_TRANSPORT = 0x7, 9243290650Shselasky}; 9244290650Shselasky 9245290650Shselaskystruct mlx5_ifc_cmd_queue_entry_bits { 9246290650Shselasky u8 type[0x8]; 9247290650Shselasky u8 reserved_0[0x18]; 9248290650Shselasky 9249290650Shselasky u8 input_length[0x20]; 9250290650Shselasky 9251290650Shselasky u8 input_mailbox_pointer_63_32[0x20]; 9252290650Shselasky 9253290650Shselasky u8 input_mailbox_pointer_31_9[0x17]; 9254290650Shselasky u8 reserved_1[0x9]; 9255290650Shselasky 9256290650Shselasky u8 command_input_inline_data[16][0x8]; 9257290650Shselasky 9258290650Shselasky u8 command_output_inline_data[16][0x8]; 9259290650Shselasky 9260290650Shselasky u8 output_mailbox_pointer_63_32[0x20]; 9261290650Shselasky 9262290650Shselasky u8 output_mailbox_pointer_31_9[0x17]; 9263290650Shselasky u8 reserved_2[0x9]; 9264290650Shselasky 9265290650Shselasky u8 output_length[0x20]; 9266290650Shselasky 9267290650Shselasky u8 token[0x8]; 9268290650Shselasky u8 signature[0x8]; 9269290650Shselasky u8 reserved_3[0x8]; 9270290650Shselasky u8 status[0x7]; 9271290650Shselasky u8 ownership[0x1]; 9272290650Shselasky}; 9273290650Shselasky 9274290650Shselaskystruct mlx5_ifc_cmd_out_bits { 9275290650Shselasky u8 status[0x8]; 9276290650Shselasky u8 reserved_0[0x18]; 9277290650Shselasky 9278290650Shselasky u8 syndrome[0x20]; 9279290650Shselasky 9280290650Shselasky u8 command_output[0x20]; 9281290650Shselasky}; 9282290650Shselasky 9283290650Shselaskystruct mlx5_ifc_cmd_in_bits { 9284290650Shselasky u8 opcode[0x10]; 9285290650Shselasky u8 reserved_0[0x10]; 9286290650Shselasky 9287290650Shselasky u8 reserved_1[0x10]; 9288290650Shselasky u8 op_mod[0x10]; 9289290650Shselasky 9290290650Shselasky u8 command[0][0x20]; 9291290650Shselasky}; 9292290650Shselasky 9293290650Shselaskystruct mlx5_ifc_cmd_if_box_bits { 9294290650Shselasky u8 mailbox_data[512][0x8]; 9295290650Shselasky 9296290650Shselasky u8 reserved_0[0x180]; 9297290650Shselasky 9298290650Shselasky u8 next_pointer_63_32[0x20]; 9299290650Shselasky 9300290650Shselasky u8 next_pointer_31_10[0x16]; 9301290650Shselasky u8 reserved_1[0xa]; 9302290650Shselasky 9303290650Shselasky u8 block_number[0x20]; 9304290650Shselasky 9305290650Shselasky u8 reserved_2[0x8]; 9306290650Shselasky u8 token[0x8]; 9307290650Shselasky u8 ctrl_signature[0x8]; 9308290650Shselasky u8 signature[0x8]; 9309290650Shselasky}; 9310290650Shselasky 9311290650Shselaskystruct mlx5_ifc_mtt_bits { 9312290650Shselasky u8 ptag_63_32[0x20]; 9313290650Shselasky 9314290650Shselasky u8 ptag_31_8[0x18]; 9315290650Shselasky u8 reserved_0[0x6]; 9316290650Shselasky u8 wr_en[0x1]; 9317290650Shselasky u8 rd_en[0x1]; 9318290650Shselasky}; 9319290650Shselasky 9320290650Shselaskystruct mlx5_ifc_vendor_specific_cap_bits { 9321290650Shselasky u8 type[0x8]; 9322290650Shselasky u8 length[0x8]; 9323290650Shselasky u8 next_pointer[0x8]; 9324290650Shselasky u8 capability_id[0x8]; 9325290650Shselasky 9326290650Shselasky u8 status[0x3]; 9327290650Shselasky u8 reserved_0[0xd]; 9328290650Shselasky u8 space[0x10]; 9329290650Shselasky 9330290650Shselasky u8 counter[0x20]; 9331290650Shselasky 9332290650Shselasky u8 semaphore[0x20]; 9333290650Shselasky 9334290650Shselasky u8 flag[0x1]; 9335290650Shselasky u8 reserved_1[0x1]; 9336290650Shselasky u8 address[0x1e]; 9337290650Shselasky 9338290650Shselasky u8 data[0x20]; 9339290650Shselasky}; 9340290650Shselasky 9341290650Shselaskyenum { 9342290650Shselasky MLX5_INITIAL_SEG_NIC_INTERFACE_FULL_DRIVER = 0x0, 9343290650Shselasky MLX5_INITIAL_SEG_NIC_INTERFACE_DISABLED = 0x1, 9344290650Shselasky MLX5_INITIAL_SEG_NIC_INTERFACE_NO_DRAM_NIC = 0x2, 9345290650Shselasky}; 9346290650Shselasky 9347290650Shselaskyenum { 9348290650Shselasky MLX5_INITIAL_SEG_NIC_INTERFACE_SUPPORTED_FULL_DRIVER = 0x0, 9349290650Shselasky MLX5_INITIAL_SEG_NIC_INTERFACE_SUPPORTED_DISABLED = 0x1, 9350290650Shselasky MLX5_INITIAL_SEG_NIC_INTERFACE_SUPPORTED_NO_DRAM_NIC = 0x2, 9351290650Shselasky}; 9352290650Shselasky 9353290650Shselaskyenum { 9354290650Shselasky MLX5_HEALTH_SYNDR_FW_ERR = 0x1, 9355290650Shselasky MLX5_HEALTH_SYNDR_IRISC_ERR = 0x7, 9356290650Shselasky MLX5_HEALTH_SYNDR_HW_UNRECOVERABLE_ERR = 0x8, 9357290650Shselasky MLX5_HEALTH_SYNDR_CRC_ERR = 0x9, 9358290650Shselasky MLX5_HEALTH_SYNDR_FETCH_PCI_ERR = 0xa, 9359290650Shselasky MLX5_HEALTH_SYNDR_HW_FTL_ERR = 0xb, 9360290650Shselasky MLX5_HEALTH_SYNDR_ASYNC_EQ_OVERRUN_ERR = 0xc, 9361290650Shselasky MLX5_HEALTH_SYNDR_EQ_ERR = 0xd, 9362290650Shselasky MLX5_HEALTH_SYNDR_EQ_INV = 0xe, 9363290650Shselasky MLX5_HEALTH_SYNDR_FFSER_ERR = 0xf, 9364290650Shselasky MLX5_HEALTH_SYNDR_HIGH_TEMP = 0x10, 9365290650Shselasky}; 9366290650Shselasky 9367290650Shselaskystruct mlx5_ifc_initial_seg_bits { 9368290650Shselasky u8 fw_rev_minor[0x10]; 9369290650Shselasky u8 fw_rev_major[0x10]; 9370290650Shselasky 9371290650Shselasky u8 cmd_interface_rev[0x10]; 9372290650Shselasky u8 fw_rev_subminor[0x10]; 9373290650Shselasky 9374290650Shselasky u8 reserved_0[0x40]; 9375290650Shselasky 9376290650Shselasky u8 cmdq_phy_addr_63_32[0x20]; 9377290650Shselasky 9378290650Shselasky u8 cmdq_phy_addr_31_12[0x14]; 9379290650Shselasky u8 reserved_1[0x2]; 9380290650Shselasky u8 nic_interface[0x2]; 9381290650Shselasky u8 log_cmdq_size[0x4]; 9382290650Shselasky u8 log_cmdq_stride[0x4]; 9383290650Shselasky 9384290650Shselasky u8 command_doorbell_vector[0x20]; 9385290650Shselasky 9386290650Shselasky u8 reserved_2[0xf00]; 9387290650Shselasky 9388290650Shselasky u8 initializing[0x1]; 9389290650Shselasky u8 reserved_3[0x4]; 9390290650Shselasky u8 nic_interface_supported[0x3]; 9391290650Shselasky u8 reserved_4[0x18]; 9392290650Shselasky 9393290650Shselasky struct mlx5_ifc_health_buffer_bits health_buffer; 9394290650Shselasky 9395290650Shselasky u8 no_dram_nic_offset[0x20]; 9396290650Shselasky 9397290650Shselasky u8 reserved_5[0x6de0]; 9398290650Shselasky 9399290650Shselasky u8 internal_timer_h[0x20]; 9400290650Shselasky 9401290650Shselasky u8 internal_timer_l[0x20]; 9402290650Shselasky 9403290650Shselasky u8 reserved_6[0x20]; 9404290650Shselasky 9405290650Shselasky u8 reserved_7[0x1f]; 9406290650Shselasky u8 clear_int[0x1]; 9407290650Shselasky 9408290650Shselasky u8 health_syndrome[0x8]; 9409290650Shselasky u8 health_counter[0x18]; 9410290650Shselasky 9411290650Shselasky u8 reserved_8[0x17fc0]; 9412290650Shselasky}; 9413290650Shselasky 9414290650Shselaskyunion mlx5_ifc_icmd_interface_document_bits { 9415290650Shselasky struct mlx5_ifc_fw_version_bits fw_version; 9416290650Shselasky struct mlx5_ifc_icmd_access_reg_in_bits icmd_access_reg_in; 9417290650Shselasky struct mlx5_ifc_icmd_access_reg_out_bits icmd_access_reg_out; 9418290650Shselasky struct mlx5_ifc_icmd_init_ocsd_in_bits icmd_init_ocsd_in; 9419290650Shselasky struct mlx5_ifc_icmd_ocbb_init_in_bits icmd_ocbb_init_in; 9420290650Shselasky struct mlx5_ifc_icmd_ocbb_query_etoc_stats_out_bits icmd_ocbb_query_etoc_stats_out; 9421290650Shselasky struct mlx5_ifc_icmd_ocbb_query_header_stats_out_bits icmd_ocbb_query_header_stats_out; 9422290650Shselasky struct mlx5_ifc_icmd_query_cap_general_bits icmd_query_cap_general; 9423290650Shselasky struct mlx5_ifc_icmd_query_cap_in_bits icmd_query_cap_in; 9424290650Shselasky struct mlx5_ifc_icmd_query_fw_info_out_bits icmd_query_fw_info_out; 9425290650Shselasky struct mlx5_ifc_icmd_query_virtual_mac_out_bits icmd_query_virtual_mac_out; 9426290650Shselasky struct mlx5_ifc_icmd_set_virtual_mac_in_bits icmd_set_virtual_mac_in; 9427290650Shselasky struct mlx5_ifc_icmd_set_wol_rol_in_bits icmd_set_wol_rol_in; 9428290650Shselasky struct mlx5_ifc_icmd_set_wol_rol_out_bits icmd_set_wol_rol_out; 9429290650Shselasky u8 reserved_0[0x42c0]; 9430290650Shselasky}; 9431290650Shselasky 9432290650Shselaskyunion mlx5_ifc_eth_cntrs_grp_data_layout_auto_bits { 9433290650Shselasky struct mlx5_ifc_eth_802_3_cntrs_grp_data_layout_bits eth_802_3_cntrs_grp_data_layout; 9434290650Shselasky struct mlx5_ifc_eth_2863_cntrs_grp_data_layout_bits eth_2863_cntrs_grp_data_layout; 9435290650Shselasky struct mlx5_ifc_eth_2819_cntrs_grp_data_layout_bits eth_2819_cntrs_grp_data_layout; 9436290650Shselasky struct mlx5_ifc_eth_3635_cntrs_grp_data_layout_bits eth_3635_cntrs_grp_data_layout; 9437290650Shselasky struct mlx5_ifc_eth_extended_cntrs_grp_data_layout_bits eth_extended_cntrs_grp_data_layout; 9438308678Shselasky struct mlx5_ifc_eth_discard_cntrs_grp_bits eth_discard_cntrs_grp; 9439290650Shselasky struct mlx5_ifc_eth_per_prio_grp_data_layout_bits eth_per_prio_grp_data_layout; 9440290650Shselasky struct mlx5_ifc_phys_layer_cntrs_bits phys_layer_cntrs; 9441321992Shselasky struct mlx5_ifc_phys_layer_statistical_cntrs_bits phys_layer_statistical_cntrs; 9442308678Shselasky struct mlx5_ifc_infiniband_port_cntrs_bits infiniband_port_cntrs; 9443290650Shselasky u8 reserved_0[0x7c0]; 9444290650Shselasky}; 9445290650Shselasky 9446290650Shselaskystruct mlx5_ifc_ppcnt_reg_bits { 9447290650Shselasky u8 swid[0x8]; 9448290650Shselasky u8 local_port[0x8]; 9449290650Shselasky u8 pnat[0x2]; 9450290650Shselasky u8 reserved_0[0x8]; 9451290650Shselasky u8 grp[0x6]; 9452290650Shselasky 9453290650Shselasky u8 clr[0x1]; 9454290650Shselasky u8 reserved_1[0x1c]; 9455290650Shselasky u8 prio_tc[0x3]; 9456290650Shselasky 9457290650Shselasky union mlx5_ifc_eth_cntrs_grp_data_layout_auto_bits counter_set; 9458290650Shselasky}; 9459290650Shselasky 9460306233Shselaskystruct mlx5_ifc_pcie_performance_counters_data_layout_bits { 9461306233Shselasky u8 life_time_counter_high[0x20]; 9462306233Shselasky 9463306233Shselasky u8 life_time_counter_low[0x20]; 9464306233Shselasky 9465306233Shselasky u8 rx_errors[0x20]; 9466306233Shselasky 9467306233Shselasky u8 tx_errors[0x20]; 9468306233Shselasky 9469306233Shselasky u8 l0_to_recovery_eieos[0x20]; 9470306233Shselasky 9471306233Shselasky u8 l0_to_recovery_ts[0x20]; 9472306233Shselasky 9473306233Shselasky u8 l0_to_recovery_framing[0x20]; 9474306233Shselasky 9475306233Shselasky u8 l0_to_recovery_retrain[0x20]; 9476306233Shselasky 9477306233Shselasky u8 crc_error_dllp[0x20]; 9478306233Shselasky 9479306233Shselasky u8 crc_error_tlp[0x20]; 9480306233Shselasky 9481306233Shselasky u8 reserved_0[0x680]; 9482306233Shselasky}; 9483306233Shselasky 9484306233Shselaskystruct mlx5_ifc_pcie_timers_and_states_data_layout_bits { 9485306233Shselasky u8 life_time_counter_high[0x20]; 9486306233Shselasky 9487306233Shselasky u8 life_time_counter_low[0x20]; 9488306233Shselasky 9489306233Shselasky u8 time_to_boot_image_start[0x20]; 9490306233Shselasky 9491306233Shselasky u8 time_to_link_image[0x20]; 9492306233Shselasky 9493306233Shselasky u8 calibration_time[0x20]; 9494306233Shselasky 9495306233Shselasky u8 time_to_first_perst[0x20]; 9496306233Shselasky 9497306233Shselasky u8 time_to_detect_state[0x20]; 9498306233Shselasky 9499306233Shselasky u8 time_to_l0[0x20]; 9500306233Shselasky 9501306233Shselasky u8 time_to_crs_en[0x20]; 9502306233Shselasky 9503306233Shselasky u8 time_to_plastic_image_start[0x20]; 9504306233Shselasky 9505306233Shselasky u8 time_to_iron_image_start[0x20]; 9506306233Shselasky 9507306233Shselasky u8 perst_handler[0x20]; 9508306233Shselasky 9509306233Shselasky u8 times_in_l1[0x20]; 9510306233Shselasky 9511306233Shselasky u8 times_in_l23[0x20]; 9512306233Shselasky 9513306233Shselasky u8 dl_down[0x20]; 9514306233Shselasky 9515306233Shselasky u8 config_cycle1usec[0x20]; 9516306233Shselasky 9517306233Shselasky u8 config_cycle2to7usec[0x20]; 9518306233Shselasky 9519306233Shselasky u8 config_cycle8to15usec[0x20]; 9520306233Shselasky 9521306233Shselasky u8 config_cycle16to63usec[0x20]; 9522306233Shselasky 9523306233Shselasky u8 config_cycle64usec[0x20]; 9524306233Shselasky 9525306233Shselasky u8 correctable_err_msg_sent[0x20]; 9526306233Shselasky 9527306233Shselasky u8 non_fatal_err_msg_sent[0x20]; 9528306233Shselasky 9529306233Shselasky u8 fatal_err_msg_sent[0x20]; 9530306233Shselasky 9531306233Shselasky u8 reserved_0[0x4e0]; 9532306233Shselasky}; 9533306233Shselasky 9534306233Shselaskystruct mlx5_ifc_pcie_lanes_counters_data_layout_bits { 9535306233Shselasky u8 life_time_counter_high[0x20]; 9536306233Shselasky 9537306233Shselasky u8 life_time_counter_low[0x20]; 9538306233Shselasky 9539306233Shselasky u8 error_counter_lane0[0x20]; 9540306233Shselasky 9541306233Shselasky u8 error_counter_lane1[0x20]; 9542306233Shselasky 9543306233Shselasky u8 error_counter_lane2[0x20]; 9544306233Shselasky 9545306233Shselasky u8 error_counter_lane3[0x20]; 9546306233Shselasky 9547306233Shselasky u8 error_counter_lane4[0x20]; 9548306233Shselasky 9549306233Shselasky u8 error_counter_lane5[0x20]; 9550306233Shselasky 9551306233Shselasky u8 error_counter_lane6[0x20]; 9552306233Shselasky 9553306233Shselasky u8 error_counter_lane7[0x20]; 9554306233Shselasky 9555306233Shselasky u8 error_counter_lane8[0x20]; 9556306233Shselasky 9557306233Shselasky u8 error_counter_lane9[0x20]; 9558306233Shselasky 9559306233Shselasky u8 error_counter_lane10[0x20]; 9560306233Shselasky 9561306233Shselasky u8 error_counter_lane11[0x20]; 9562306233Shselasky 9563306233Shselasky u8 error_counter_lane12[0x20]; 9564306233Shselasky 9565306233Shselasky u8 error_counter_lane13[0x20]; 9566306233Shselasky 9567306233Shselasky u8 error_counter_lane14[0x20]; 9568306233Shselasky 9569306233Shselasky u8 error_counter_lane15[0x20]; 9570306233Shselasky 9571306233Shselasky u8 reserved_0[0x580]; 9572306233Shselasky}; 9573306233Shselasky 9574306233Shselaskyunion mlx5_ifc_mpcnt_cntrs_grp_data_layout_bits { 9575306233Shselasky struct mlx5_ifc_pcie_performance_counters_data_layout_bits pcie_performance_counters_data_layout; 9576306233Shselasky struct mlx5_ifc_pcie_timers_and_states_data_layout_bits pcie_timers_and_states_data_layout; 9577306233Shselasky struct mlx5_ifc_pcie_lanes_counters_data_layout_bits pcie_lanes_counters_data_layout; 9578306233Shselasky u8 reserved_0[0xf8]; 9579306233Shselasky}; 9580306233Shselasky 9581306233Shselaskystruct mlx5_ifc_mpcnt_reg_bits { 9582306233Shselasky u8 reserved_0[0x8]; 9583306233Shselasky u8 pcie_index[0x8]; 9584306233Shselasky u8 reserved_1[0xa]; 9585306233Shselasky u8 grp[0x6]; 9586306233Shselasky 9587306233Shselasky u8 clr[0x1]; 9588306233Shselasky u8 reserved_2[0x1f]; 9589306233Shselasky 9590306233Shselasky union mlx5_ifc_mpcnt_cntrs_grp_data_layout_bits counter_set; 9591306233Shselasky}; 9592306233Shselasky 9593290650Shselaskyunion mlx5_ifc_ports_control_registers_document_bits { 9594290650Shselasky struct mlx5_ifc_ib_portcntrs_attribute_grp_data_bits ib_portcntrs_attribute_grp_data; 9595290650Shselasky struct mlx5_ifc_bufferx_reg_bits bufferx_reg; 9596290650Shselasky struct mlx5_ifc_eth_2819_cntrs_grp_data_layout_bits eth_2819_cntrs_grp_data_layout; 9597290650Shselasky struct mlx5_ifc_eth_2863_cntrs_grp_data_layout_bits eth_2863_cntrs_grp_data_layout; 9598290650Shselasky struct mlx5_ifc_eth_3635_cntrs_grp_data_layout_bits eth_3635_cntrs_grp_data_layout; 9599290650Shselasky struct mlx5_ifc_eth_802_3_cntrs_grp_data_layout_bits eth_802_3_cntrs_grp_data_layout; 9600308678Shselasky struct mlx5_ifc_eth_discard_cntrs_grp_bits eth_discard_cntrs_grp; 9601290650Shselasky struct mlx5_ifc_eth_extended_cntrs_grp_data_layout_bits eth_extended_cntrs_grp_data_layout; 9602290650Shselasky struct mlx5_ifc_eth_per_prio_grp_data_layout_bits eth_per_prio_grp_data_layout; 9603290650Shselasky struct mlx5_ifc_eth_per_traffic_class_cong_layout_bits eth_per_traffic_class_cong_layout; 9604290650Shselasky struct mlx5_ifc_eth_per_traffic_class_layout_bits eth_per_traffic_class_layout; 9605290650Shselasky struct mlx5_ifc_lane_2_module_mapping_bits lane_2_module_mapping; 9606290650Shselasky struct mlx5_ifc_link_level_retrans_cntr_grp_date_bits link_level_retrans_cntr_grp_date; 9607290650Shselasky struct mlx5_ifc_pamp_reg_bits pamp_reg; 9608290650Shselasky struct mlx5_ifc_paos_reg_bits paos_reg; 9609290650Shselasky struct mlx5_ifc_pbmc_reg_bits pbmc_reg; 9610290650Shselasky struct mlx5_ifc_pcap_reg_bits pcap_reg; 9611290650Shselasky struct mlx5_ifc_peir_reg_bits peir_reg; 9612290650Shselasky struct mlx5_ifc_pelc_reg_bits pelc_reg; 9613290650Shselasky struct mlx5_ifc_pfcc_reg_bits pfcc_reg; 9614290650Shselasky struct mlx5_ifc_phbr_binding_reg_bits phbr_binding_reg; 9615290650Shselasky struct mlx5_ifc_phbr_for_port_tclass_reg_bits phbr_for_port_tclass_reg; 9616290650Shselasky struct mlx5_ifc_phbr_for_prio_reg_bits phbr_for_prio_reg; 9617290650Shselasky struct mlx5_ifc_phrr_reg_bits phrr_reg; 9618290650Shselasky struct mlx5_ifc_phys_layer_cntrs_bits phys_layer_cntrs; 9619290650Shselasky struct mlx5_ifc_pifr_reg_bits pifr_reg; 9620290650Shselasky struct mlx5_ifc_pipg_reg_bits pipg_reg; 9621290650Shselasky struct mlx5_ifc_plbf_reg_bits plbf_reg; 9622290650Shselasky struct mlx5_ifc_plib_reg_bits plib_reg; 9623290650Shselasky struct mlx5_ifc_pll_status_data_bits pll_status_data; 9624290650Shselasky struct mlx5_ifc_plpc_reg_bits plpc_reg; 9625290650Shselasky struct mlx5_ifc_pmaos_reg_bits pmaos_reg; 9626290650Shselasky struct mlx5_ifc_pmlp_reg_bits pmlp_reg; 9627290650Shselasky struct mlx5_ifc_pmlpn_reg_bits pmlpn_reg; 9628290650Shselasky struct mlx5_ifc_pmpc_reg_bits pmpc_reg; 9629290650Shselasky struct mlx5_ifc_pmpe_reg_bits pmpe_reg; 9630290650Shselasky struct mlx5_ifc_pmpr_reg_bits pmpr_reg; 9631290650Shselasky struct mlx5_ifc_pmtu_reg_bits pmtu_reg; 9632290650Shselasky struct mlx5_ifc_ppad_reg_bits ppad_reg; 9633290650Shselasky struct mlx5_ifc_ppcnt_reg_bits ppcnt_reg; 9634290650Shselasky struct mlx5_ifc_ppll_reg_bits ppll_reg; 9635290650Shselasky struct mlx5_ifc_pplm_reg_bits pplm_reg; 9636290650Shselasky struct mlx5_ifc_pplr_reg_bits pplr_reg; 9637290650Shselasky struct mlx5_ifc_ppsc_reg_bits ppsc_reg; 9638290650Shselasky struct mlx5_ifc_pspa_reg_bits pspa_reg; 9639290650Shselasky struct mlx5_ifc_ptas_reg_bits ptas_reg; 9640290650Shselasky struct mlx5_ifc_ptys_reg_bits ptys_reg; 9641290650Shselasky struct mlx5_ifc_pude_reg_bits pude_reg; 9642290650Shselasky struct mlx5_ifc_pvlc_reg_bits pvlc_reg; 9643290650Shselasky struct mlx5_ifc_slrg_reg_bits slrg_reg; 9644290650Shselasky struct mlx5_ifc_slrp_reg_bits slrp_reg; 9645290650Shselasky struct mlx5_ifc_sltp_reg_bits sltp_reg; 9646290650Shselasky u8 reserved_0[0x7880]; 9647290650Shselasky}; 9648290650Shselasky 9649290650Shselaskyunion mlx5_ifc_debug_enhancements_document_bits { 9650290650Shselasky struct mlx5_ifc_health_buffer_bits health_buffer; 9651290650Shselasky u8 reserved_0[0x200]; 9652290650Shselasky}; 9653290650Shselasky 9654290650Shselaskyunion mlx5_ifc_no_dram_nic_document_bits { 9655290650Shselasky struct mlx5_ifc_nodnic_config_reg_bits nodnic_config_reg; 9656290650Shselasky struct mlx5_ifc_nodnic_cq_arming_word_bits nodnic_cq_arming_word; 9657290650Shselasky struct mlx5_ifc_nodnic_event_word_bits nodnic_event_word; 9658290650Shselasky struct mlx5_ifc_nodnic_gid_filters_bits nodnic_gid_filters; 9659290650Shselasky struct mlx5_ifc_nodnic_mac_filters_bits nodnic_mac_filters; 9660290650Shselasky struct mlx5_ifc_nodnic_port_config_reg_bits nodnic_port_config_reg; 9661290650Shselasky struct mlx5_ifc_nodnic_ring_config_reg_bits nodnic_ring_config_reg; 9662290650Shselasky struct mlx5_ifc_nodnic_ring_doorbell_bits nodnic_ring_doorbell; 9663290650Shselasky u8 reserved_0[0x3160]; 9664290650Shselasky}; 9665290650Shselasky 9666290650Shselaskyunion mlx5_ifc_uplink_pci_interface_document_bits { 9667290650Shselasky struct mlx5_ifc_initial_seg_bits initial_seg; 9668290650Shselasky struct mlx5_ifc_vendor_specific_cap_bits vendor_specific_cap; 9669290650Shselasky u8 reserved_0[0x20120]; 9670290650Shselasky}; 9671290650Shselasky 9672290650Shselasky 9673290650Shselasky#endif /* MLX5_IFC_H */ 9674