mlx5_ifc.h revision 353210
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 353210 2019-10-07 09:07:33Z hselasky $ 26321992Shselasky */ 27290650Shselasky 28290650Shselasky#ifndef MLX5_IFC_H 29290650Shselasky#define MLX5_IFC_H 30290650Shselasky 31341958Shselasky#include <dev/mlx5/mlx5_fpga/mlx5_ifc_fpga.h> 32341958Shselasky 33290650Shselaskyenum { 34290650Shselasky MLX5_EVENT_TYPE_COMP = 0x0, 35290650Shselasky MLX5_EVENT_TYPE_PATH_MIG = 0x1, 36290650Shselasky MLX5_EVENT_TYPE_COMM_EST = 0x2, 37290650Shselasky MLX5_EVENT_TYPE_SQ_DRAINED = 0x3, 38290650Shselasky MLX5_EVENT_TYPE_SRQ_LAST_WQE = 0x13, 39290650Shselasky MLX5_EVENT_TYPE_SRQ_RQ_LIMIT = 0x14, 40290650Shselasky MLX5_EVENT_TYPE_DCT_DRAINED = 0x1c, 41290650Shselasky MLX5_EVENT_TYPE_DCT_KEY_VIOLATION = 0x1d, 42290650Shselasky MLX5_EVENT_TYPE_CQ_ERROR = 0x4, 43290650Shselasky MLX5_EVENT_TYPE_WQ_CATAS_ERROR = 0x5, 44290650Shselasky MLX5_EVENT_TYPE_PATH_MIG_FAILED = 0x7, 45290650Shselasky MLX5_EVENT_TYPE_PAGE_FAULT = 0xc, 46290650Shselasky MLX5_EVENT_TYPE_WQ_INVAL_REQ_ERROR = 0x10, 47290650Shselasky MLX5_EVENT_TYPE_WQ_ACCESS_ERROR = 0x11, 48290650Shselasky MLX5_EVENT_TYPE_SRQ_CATAS_ERROR = 0x12, 49290650Shselasky MLX5_EVENT_TYPE_INTERNAL_ERROR = 0x8, 50290650Shselasky MLX5_EVENT_TYPE_PORT_CHANGE = 0x9, 51290650Shselasky MLX5_EVENT_TYPE_GPIO_EVENT = 0x15, 52290650Shselasky MLX5_EVENT_TYPE_CODING_PORT_MODULE_EVENT = 0x16, 53347800Shselasky MLX5_EVENT_TYPE_TEMP_WARN_EVENT = 0x17, 54290650Shselasky MLX5_EVENT_TYPE_REMOTE_CONFIG = 0x19, 55306233Shselasky MLX5_EVENT_TYPE_CODING_DCBX_CHANGE_EVENT = 0x1e, 56321992Shselasky MLX5_EVENT_TYPE_CODING_PPS_EVENT = 0x25, 57321992Shselasky MLX5_EVENT_TYPE_CODING_GENERAL_NOTIFICATION_EVENT = 0x22, 58290650Shselasky MLX5_EVENT_TYPE_DB_BF_CONGESTION = 0x1a, 59290650Shselasky MLX5_EVENT_TYPE_STALL_EVENT = 0x1b, 60290650Shselasky MLX5_EVENT_TYPE_DROPPED_PACKET_LOGGED_EVENT = 0x1f, 61290650Shselasky MLX5_EVENT_TYPE_CMD = 0xa, 62290650Shselasky MLX5_EVENT_TYPE_PAGE_REQUEST = 0xb, 63341958Shselasky MLX5_EVENT_TYPE_NIC_VPORT_CHANGE = 0xd, 64341958Shselasky MLX5_EVENT_TYPE_FPGA_ERROR = 0x20, 65341958Shselasky MLX5_EVENT_TYPE_FPGA_QP_ERROR = 0x21, 66290650Shselasky}; 67290650Shselasky 68290650Shselaskyenum { 69306233Shselasky MLX5_MODIFY_TIR_BITMASK_LRO = 0x0, 70306233Shselasky MLX5_MODIFY_TIR_BITMASK_INDIRECT_TABLE = 0x1, 71306233Shselasky MLX5_MODIFY_TIR_BITMASK_HASH = 0x2, 72306233Shselasky MLX5_MODIFY_TIR_BITMASK_TUNNELED_OFFLOAD_EN = 0x3, 73306233Shselasky MLX5_MODIFY_TIR_BITMASK_SELF_LB_EN = 0x4 74290650Shselasky}; 75290650Shselasky 76290650Shselaskyenum { 77290650Shselasky MLX5_MODIFY_RQT_BITMASK_RQN_LIST = 0x1, 78290650Shselasky}; 79290650Shselasky 80290650Shselaskyenum { 81329209Shselasky MLX5_SET_HCA_CAP_OP_MOD_GENERAL_DEVICE = 0x0, 82329209Shselasky MLX5_SET_HCA_CAP_OP_MOD_ATOMIC = 0x3, 83329209Shselasky}; 84329209Shselasky 85329209Shselaskyenum { 86290650Shselasky MLX5_CMD_OP_QUERY_HCA_CAP = 0x100, 87290650Shselasky MLX5_CMD_OP_QUERY_ADAPTER = 0x101, 88290650Shselasky MLX5_CMD_OP_INIT_HCA = 0x102, 89290650Shselasky MLX5_CMD_OP_TEARDOWN_HCA = 0x103, 90290650Shselasky MLX5_CMD_OP_ENABLE_HCA = 0x104, 91290650Shselasky MLX5_CMD_OP_DISABLE_HCA = 0x105, 92290650Shselasky MLX5_CMD_OP_QUERY_PAGES = 0x107, 93290650Shselasky MLX5_CMD_OP_MANAGE_PAGES = 0x108, 94290650Shselasky MLX5_CMD_OP_SET_HCA_CAP = 0x109, 95290650Shselasky MLX5_CMD_OP_QUERY_ISSI = 0x10a, 96290650Shselasky MLX5_CMD_OP_SET_ISSI = 0x10b, 97290650Shselasky MLX5_CMD_OP_SET_DRIVER_VERSION = 0x10d, 98321992Shselasky MLX5_CMD_OP_QUERY_OTHER_HCA_CAP = 0x10e, 99321992Shselasky MLX5_CMD_OP_MODIFY_OTHER_HCA_CAP = 0x10f, 100290650Shselasky MLX5_CMD_OP_CREATE_MKEY = 0x200, 101290650Shselasky MLX5_CMD_OP_QUERY_MKEY = 0x201, 102290650Shselasky MLX5_CMD_OP_DESTROY_MKEY = 0x202, 103290650Shselasky MLX5_CMD_OP_QUERY_SPECIAL_CONTEXTS = 0x203, 104290650Shselasky MLX5_CMD_OP_PAGE_FAULT_RESUME = 0x204, 105290650Shselasky MLX5_CMD_OP_CREATE_EQ = 0x301, 106290650Shselasky MLX5_CMD_OP_DESTROY_EQ = 0x302, 107290650Shselasky MLX5_CMD_OP_QUERY_EQ = 0x303, 108290650Shselasky MLX5_CMD_OP_GEN_EQE = 0x304, 109290650Shselasky MLX5_CMD_OP_CREATE_CQ = 0x400, 110290650Shselasky MLX5_CMD_OP_DESTROY_CQ = 0x401, 111290650Shselasky MLX5_CMD_OP_QUERY_CQ = 0x402, 112290650Shselasky MLX5_CMD_OP_MODIFY_CQ = 0x403, 113290650Shselasky MLX5_CMD_OP_CREATE_QP = 0x500, 114290650Shselasky MLX5_CMD_OP_DESTROY_QP = 0x501, 115290650Shselasky MLX5_CMD_OP_RST2INIT_QP = 0x502, 116290650Shselasky MLX5_CMD_OP_INIT2RTR_QP = 0x503, 117290650Shselasky MLX5_CMD_OP_RTR2RTS_QP = 0x504, 118290650Shselasky MLX5_CMD_OP_RTS2RTS_QP = 0x505, 119290650Shselasky MLX5_CMD_OP_SQERR2RTS_QP = 0x506, 120290650Shselasky MLX5_CMD_OP_2ERR_QP = 0x507, 121290650Shselasky MLX5_CMD_OP_2RST_QP = 0x50a, 122290650Shselasky MLX5_CMD_OP_QUERY_QP = 0x50b, 123290650Shselasky MLX5_CMD_OP_SQD_RTS_QP = 0x50c, 124290650Shselasky MLX5_CMD_OP_INIT2INIT_QP = 0x50e, 125290650Shselasky MLX5_CMD_OP_CREATE_PSV = 0x600, 126290650Shselasky MLX5_CMD_OP_DESTROY_PSV = 0x601, 127290650Shselasky MLX5_CMD_OP_CREATE_SRQ = 0x700, 128290650Shselasky MLX5_CMD_OP_DESTROY_SRQ = 0x701, 129290650Shselasky MLX5_CMD_OP_QUERY_SRQ = 0x702, 130290650Shselasky MLX5_CMD_OP_ARM_RQ = 0x703, 131290650Shselasky MLX5_CMD_OP_CREATE_XRC_SRQ = 0x705, 132290650Shselasky MLX5_CMD_OP_DESTROY_XRC_SRQ = 0x706, 133290650Shselasky MLX5_CMD_OP_QUERY_XRC_SRQ = 0x707, 134290650Shselasky MLX5_CMD_OP_ARM_XRC_SRQ = 0x708, 135290650Shselasky MLX5_CMD_OP_CREATE_DCT = 0x710, 136290650Shselasky MLX5_CMD_OP_DESTROY_DCT = 0x711, 137290650Shselasky MLX5_CMD_OP_DRAIN_DCT = 0x712, 138290650Shselasky MLX5_CMD_OP_QUERY_DCT = 0x713, 139290650Shselasky MLX5_CMD_OP_ARM_DCT_FOR_KEY_VIOLATION = 0x714, 140290650Shselasky MLX5_CMD_OP_SET_DC_CNAK_TRACE = 0x715, 141290650Shselasky MLX5_CMD_OP_QUERY_DC_CNAK_TRACE = 0x716, 142290650Shselasky MLX5_CMD_OP_QUERY_VPORT_STATE = 0x750, 143290650Shselasky MLX5_CMD_OP_MODIFY_VPORT_STATE = 0x751, 144290650Shselasky MLX5_CMD_OP_QUERY_ESW_VPORT_CONTEXT = 0x752, 145290650Shselasky MLX5_CMD_OP_MODIFY_ESW_VPORT_CONTEXT = 0x753, 146290650Shselasky MLX5_CMD_OP_QUERY_NIC_VPORT_CONTEXT = 0x754, 147290650Shselasky MLX5_CMD_OP_MODIFY_NIC_VPORT_CONTEXT = 0x755, 148290650Shselasky MLX5_CMD_OP_QUERY_ROCE_ADDRESS = 0x760, 149290650Shselasky MLX5_CMD_OP_SET_ROCE_ADDRESS = 0x761, 150290650Shselasky MLX5_CMD_OP_QUERY_HCA_VPORT_CONTEXT = 0x762, 151290650Shselasky MLX5_CMD_OP_MODIFY_HCA_VPORT_CONTEXT = 0x763, 152290650Shselasky MLX5_CMD_OP_QUERY_HCA_VPORT_GID = 0x764, 153290650Shselasky MLX5_CMD_OP_QUERY_HCA_VPORT_PKEY = 0x765, 154347850Shselasky MLX5_CMD_OP_QUERY_VNIC_ENV = 0x76f, 155290650Shselasky MLX5_CMD_OP_QUERY_VPORT_COUNTER = 0x770, 156290650Shselasky MLX5_CMD_OP_ALLOC_Q_COUNTER = 0x771, 157290650Shselasky MLX5_CMD_OP_DEALLOC_Q_COUNTER = 0x772, 158290650Shselasky MLX5_CMD_OP_QUERY_Q_COUNTER = 0x773, 159306233Shselasky MLX5_CMD_OP_SET_RATE_LIMIT = 0x780, 160306233Shselasky MLX5_CMD_OP_QUERY_RATE_LIMIT = 0x781, 161308678Shselasky MLX5_CMD_OP_CREATE_SCHEDULING_ELEMENT = 0x782, 162308678Shselasky MLX5_CMD_OP_DESTROY_SCHEDULING_ELEMENT = 0x783, 163308678Shselasky MLX5_CMD_OP_QUERY_SCHEDULING_ELEMENT = 0x784, 164308678Shselasky MLX5_CMD_OP_MODIFY_SCHEDULING_ELEMENT = 0x785, 165308678Shselasky MLX5_CMD_OP_CREATE_QOS_PARA_VPORT = 0x786, 166308678Shselasky MLX5_CMD_OP_DESTROY_QOS_PARA_VPORT = 0x787, 167290650Shselasky MLX5_CMD_OP_ALLOC_PD = 0x800, 168290650Shselasky MLX5_CMD_OP_DEALLOC_PD = 0x801, 169290650Shselasky MLX5_CMD_OP_ALLOC_UAR = 0x802, 170290650Shselasky MLX5_CMD_OP_DEALLOC_UAR = 0x803, 171290650Shselasky MLX5_CMD_OP_CONFIG_INT_MODERATION = 0x804, 172290650Shselasky MLX5_CMD_OP_ACCESS_REG = 0x805, 173290650Shselasky MLX5_CMD_OP_ATTACH_TO_MCG = 0x806, 174290650Shselasky MLX5_CMD_OP_DETACH_FROM_MCG = 0x807, 175290650Shselasky MLX5_CMD_OP_GET_DROPPED_PACKET_LOG = 0x80a, 176290650Shselasky MLX5_CMD_OP_MAD_IFC = 0x50d, 177290650Shselasky MLX5_CMD_OP_QUERY_MAD_DEMUX = 0x80b, 178290650Shselasky MLX5_CMD_OP_SET_MAD_DEMUX = 0x80c, 179290650Shselasky MLX5_CMD_OP_NOP = 0x80d, 180290650Shselasky MLX5_CMD_OP_ALLOC_XRCD = 0x80e, 181290650Shselasky MLX5_CMD_OP_DEALLOC_XRCD = 0x80f, 182290650Shselasky MLX5_CMD_OP_SET_BURST_SIZE = 0x812, 183290650Shselasky MLX5_CMD_OP_QUERY_BURST_SIZE = 0x813, 184290650Shselasky MLX5_CMD_OP_ACTIVATE_TRACER = 0x814, 185290650Shselasky MLX5_CMD_OP_DEACTIVATE_TRACER = 0x815, 186290650Shselasky MLX5_CMD_OP_ALLOC_TRANSPORT_DOMAIN = 0x816, 187290650Shselasky MLX5_CMD_OP_DEALLOC_TRANSPORT_DOMAIN = 0x817, 188306233Shselasky MLX5_CMD_OP_SET_DIAGNOSTICS = 0x820, 189306233Shselasky MLX5_CMD_OP_QUERY_DIAGNOSTICS = 0x821, 190290650Shselasky MLX5_CMD_OP_QUERY_CONG_STATUS = 0x822, 191290650Shselasky MLX5_CMD_OP_MODIFY_CONG_STATUS = 0x823, 192290650Shselasky MLX5_CMD_OP_QUERY_CONG_PARAMS = 0x824, 193290650Shselasky MLX5_CMD_OP_MODIFY_CONG_PARAMS = 0x825, 194290650Shselasky MLX5_CMD_OP_QUERY_CONG_STATISTICS = 0x826, 195290650Shselasky MLX5_CMD_OP_ADD_VXLAN_UDP_DPORT = 0x827, 196290650Shselasky MLX5_CMD_OP_DELETE_VXLAN_UDP_DPORT = 0x828, 197290650Shselasky MLX5_CMD_OP_SET_L2_TABLE_ENTRY = 0x829, 198290650Shselasky MLX5_CMD_OP_QUERY_L2_TABLE_ENTRY = 0x82a, 199290650Shselasky MLX5_CMD_OP_DELETE_L2_TABLE_ENTRY = 0x82b, 200290650Shselasky MLX5_CMD_OP_SET_WOL_ROL = 0x830, 201290650Shselasky MLX5_CMD_OP_QUERY_WOL_ROL = 0x831, 202321992Shselasky MLX5_CMD_OP_CREATE_LAG = 0x840, 203321992Shselasky MLX5_CMD_OP_MODIFY_LAG = 0x841, 204321992Shselasky MLX5_CMD_OP_QUERY_LAG = 0x842, 205321992Shselasky MLX5_CMD_OP_DESTROY_LAG = 0x843, 206321992Shselasky MLX5_CMD_OP_CREATE_VPORT_LAG = 0x844, 207321992Shselasky MLX5_CMD_OP_DESTROY_VPORT_LAG = 0x845, 208290650Shselasky MLX5_CMD_OP_CREATE_TIR = 0x900, 209290650Shselasky MLX5_CMD_OP_MODIFY_TIR = 0x901, 210290650Shselasky MLX5_CMD_OP_DESTROY_TIR = 0x902, 211290650Shselasky MLX5_CMD_OP_QUERY_TIR = 0x903, 212290650Shselasky MLX5_CMD_OP_CREATE_SQ = 0x904, 213290650Shselasky MLX5_CMD_OP_MODIFY_SQ = 0x905, 214290650Shselasky MLX5_CMD_OP_DESTROY_SQ = 0x906, 215290650Shselasky MLX5_CMD_OP_QUERY_SQ = 0x907, 216290650Shselasky MLX5_CMD_OP_CREATE_RQ = 0x908, 217290650Shselasky MLX5_CMD_OP_MODIFY_RQ = 0x909, 218290650Shselasky MLX5_CMD_OP_DESTROY_RQ = 0x90a, 219290650Shselasky MLX5_CMD_OP_QUERY_RQ = 0x90b, 220290650Shselasky MLX5_CMD_OP_CREATE_RMP = 0x90c, 221290650Shselasky MLX5_CMD_OP_MODIFY_RMP = 0x90d, 222290650Shselasky MLX5_CMD_OP_DESTROY_RMP = 0x90e, 223290650Shselasky MLX5_CMD_OP_QUERY_RMP = 0x90f, 224321992Shselasky MLX5_CMD_OP_SET_DELAY_DROP_PARAMS = 0x910, 225321992Shselasky MLX5_CMD_OP_QUERY_DELAY_DROP_PARAMS = 0x911, 226290650Shselasky MLX5_CMD_OP_CREATE_TIS = 0x912, 227290650Shselasky MLX5_CMD_OP_MODIFY_TIS = 0x913, 228290650Shselasky MLX5_CMD_OP_DESTROY_TIS = 0x914, 229290650Shselasky MLX5_CMD_OP_QUERY_TIS = 0x915, 230290650Shselasky MLX5_CMD_OP_CREATE_RQT = 0x916, 231290650Shselasky MLX5_CMD_OP_MODIFY_RQT = 0x917, 232290650Shselasky MLX5_CMD_OP_DESTROY_RQT = 0x918, 233290650Shselasky MLX5_CMD_OP_QUERY_RQT = 0x919, 234290650Shselasky MLX5_CMD_OP_SET_FLOW_TABLE_ROOT = 0x92f, 235290650Shselasky MLX5_CMD_OP_CREATE_FLOW_TABLE = 0x930, 236290650Shselasky MLX5_CMD_OP_DESTROY_FLOW_TABLE = 0x931, 237290650Shselasky MLX5_CMD_OP_QUERY_FLOW_TABLE = 0x932, 238290650Shselasky MLX5_CMD_OP_CREATE_FLOW_GROUP = 0x933, 239290650Shselasky MLX5_CMD_OP_DESTROY_FLOW_GROUP = 0x934, 240290650Shselasky MLX5_CMD_OP_QUERY_FLOW_GROUP = 0x935, 241290650Shselasky MLX5_CMD_OP_SET_FLOW_TABLE_ENTRY = 0x936, 242290650Shselasky MLX5_CMD_OP_QUERY_FLOW_TABLE_ENTRY = 0x937, 243290650Shselasky MLX5_CMD_OP_DELETE_FLOW_TABLE_ENTRY = 0x938, 244290650Shselasky MLX5_CMD_OP_ALLOC_FLOW_COUNTER = 0x939, 245290650Shselasky MLX5_CMD_OP_DEALLOC_FLOW_COUNTER = 0x93a, 246321992Shselasky MLX5_CMD_OP_QUERY_FLOW_COUNTER = 0x93b, 247321992Shselasky MLX5_CMD_OP_MODIFY_FLOW_TABLE = 0x93c, 248321992Shselasky MLX5_CMD_OP_ALLOC_ENCAP_HEADER = 0x93d, 249321992Shselasky MLX5_CMD_OP_DEALLOC_ENCAP_HEADER = 0x93e, 250341958Shselasky MLX5_CMD_OP_FPGA_CREATE_QP = 0x960, 251341958Shselasky MLX5_CMD_OP_FPGA_MODIFY_QP = 0x961, 252341958Shselasky MLX5_CMD_OP_FPGA_QUERY_QP = 0x962, 253341958Shselasky MLX5_CMD_OP_FPGA_DESTROY_QP = 0x963, 254341958Shselasky MLX5_CMD_OP_FPGA_QUERY_QP_COUNTERS = 0x964, 255290650Shselasky}; 256290650Shselasky 257290650Shselaskyenum { 258290650Shselasky MLX5_ICMD_CMDS_OPCODE_ICMD_OPCODE_QUERY_FW_INFO = 0x8007, 259290650Shselasky MLX5_ICMD_CMDS_OPCODE_ICMD_QUERY_CAPABILITY = 0x8400, 260290650Shselasky MLX5_ICMD_CMDS_OPCODE_ICMD_ACCESS_REGISTER = 0x9001, 261290650Shselasky MLX5_ICMD_CMDS_OPCODE_ICMD_QUERY_VIRTUAL_MAC = 0x9003, 262290650Shselasky MLX5_ICMD_CMDS_OPCODE_ICMD_SET_VIRTUAL_MAC = 0x9004, 263290650Shselasky MLX5_ICMD_CMDS_OPCODE_ICMD_QUERY_WOL_ROL = 0x9005, 264290650Shselasky MLX5_ICMD_CMDS_OPCODE_ICMD_SET_WOL_ROL = 0x9006, 265290650Shselasky MLX5_ICMD_CMDS_OPCODE_ICMD_OCBB_INIT = 0x9007, 266290650Shselasky MLX5_ICMD_CMDS_OPCODE_ICMD_OCBB_QUERY_HEADER_STATUS = 0x9008, 267290650Shselasky MLX5_ICMD_CMDS_OPCODE_ICMD_OCBB_QUERY_ETOC_STATUS = 0x9009, 268290650Shselasky MLX5_ICMD_CMDS_OPCODE_ICMD_OCBB_SET_EVENT = 0x900a, 269290650Shselasky MLX5_ICMD_CMDS_OPCODE_ICMD_OPCODE_INIT_OCSD = 0xf004 270290650Shselasky}; 271290650Shselasky 272290650Shselaskystruct mlx5_ifc_flow_table_fields_supported_bits { 273290650Shselasky u8 outer_dmac[0x1]; 274290650Shselasky u8 outer_smac[0x1]; 275290650Shselasky u8 outer_ether_type[0x1]; 276290650Shselasky u8 reserved_0[0x1]; 277290650Shselasky u8 outer_first_prio[0x1]; 278290650Shselasky u8 outer_first_cfi[0x1]; 279290650Shselasky u8 outer_first_vid[0x1]; 280290650Shselasky u8 reserved_1[0x1]; 281290650Shselasky u8 outer_second_prio[0x1]; 282290650Shselasky u8 outer_second_cfi[0x1]; 283290650Shselasky u8 outer_second_vid[0x1]; 284290650Shselasky u8 outer_ipv6_flow_label[0x1]; 285290650Shselasky u8 outer_sip[0x1]; 286290650Shselasky u8 outer_dip[0x1]; 287290650Shselasky u8 outer_frag[0x1]; 288290650Shselasky u8 outer_ip_protocol[0x1]; 289290650Shselasky u8 outer_ip_ecn[0x1]; 290290650Shselasky u8 outer_ip_dscp[0x1]; 291290650Shselasky u8 outer_udp_sport[0x1]; 292290650Shselasky u8 outer_udp_dport[0x1]; 293290650Shselasky u8 outer_tcp_sport[0x1]; 294290650Shselasky u8 outer_tcp_dport[0x1]; 295290650Shselasky u8 outer_tcp_flags[0x1]; 296290650Shselasky u8 outer_gre_protocol[0x1]; 297290650Shselasky u8 outer_gre_key[0x1]; 298290650Shselasky u8 outer_vxlan_vni[0x1]; 299321992Shselasky u8 outer_geneve_vni[0x1]; 300321992Shselasky u8 outer_geneve_oam[0x1]; 301321992Shselasky u8 outer_geneve_protocol_type[0x1]; 302321992Shselasky u8 outer_geneve_opt_len[0x1]; 303321992Shselasky u8 reserved_2[0x1]; 304290650Shselasky u8 source_eswitch_port[0x1]; 305290650Shselasky 306290650Shselasky u8 inner_dmac[0x1]; 307290650Shselasky u8 inner_smac[0x1]; 308290650Shselasky u8 inner_ether_type[0x1]; 309290650Shselasky u8 reserved_3[0x1]; 310290650Shselasky u8 inner_first_prio[0x1]; 311290650Shselasky u8 inner_first_cfi[0x1]; 312290650Shselasky u8 inner_first_vid[0x1]; 313290650Shselasky u8 reserved_4[0x1]; 314290650Shselasky u8 inner_second_prio[0x1]; 315290650Shselasky u8 inner_second_cfi[0x1]; 316290650Shselasky u8 inner_second_vid[0x1]; 317290650Shselasky u8 inner_ipv6_flow_label[0x1]; 318290650Shselasky u8 inner_sip[0x1]; 319290650Shselasky u8 inner_dip[0x1]; 320290650Shselasky u8 inner_frag[0x1]; 321290650Shselasky u8 inner_ip_protocol[0x1]; 322290650Shselasky u8 inner_ip_ecn[0x1]; 323290650Shselasky u8 inner_ip_dscp[0x1]; 324290650Shselasky u8 inner_udp_sport[0x1]; 325290650Shselasky u8 inner_udp_dport[0x1]; 326290650Shselasky u8 inner_tcp_sport[0x1]; 327290650Shselasky u8 inner_tcp_dport[0x1]; 328290650Shselasky u8 inner_tcp_flags[0x1]; 329290650Shselasky u8 reserved_5[0x9]; 330290650Shselasky 331321992Shselasky u8 reserved_6[0x1a]; 332321992Shselasky u8 bth_dst_qp[0x1]; 333321992Shselasky u8 reserved_7[0x4]; 334290650Shselasky u8 source_sqn[0x1]; 335290650Shselasky 336321992Shselasky u8 reserved_8[0x20]; 337290650Shselasky}; 338290650Shselasky 339308678Shselaskystruct mlx5_ifc_eth_discard_cntrs_grp_bits { 340308678Shselasky u8 ingress_general_high[0x20]; 341308678Shselasky 342308678Shselasky u8 ingress_general_low[0x20]; 343308678Shselasky 344308678Shselasky u8 ingress_policy_engine_high[0x20]; 345308678Shselasky 346308678Shselasky u8 ingress_policy_engine_low[0x20]; 347308678Shselasky 348308678Shselasky u8 ingress_vlan_membership_high[0x20]; 349308678Shselasky 350308678Shselasky u8 ingress_vlan_membership_low[0x20]; 351308678Shselasky 352308678Shselasky u8 ingress_tag_frame_type_high[0x20]; 353308678Shselasky 354308678Shselasky u8 ingress_tag_frame_type_low[0x20]; 355308678Shselasky 356308678Shselasky u8 egress_vlan_membership_high[0x20]; 357308678Shselasky 358308678Shselasky u8 egress_vlan_membership_low[0x20]; 359308678Shselasky 360308678Shselasky u8 loopback_filter_high[0x20]; 361308678Shselasky 362308678Shselasky u8 loopback_filter_low[0x20]; 363308678Shselasky 364308678Shselasky u8 egress_general_high[0x20]; 365308678Shselasky 366308678Shselasky u8 egress_general_low[0x20]; 367308678Shselasky 368308678Shselasky u8 reserved_at_1c0[0x40]; 369308678Shselasky 370308678Shselasky u8 egress_hoq_high[0x20]; 371308678Shselasky 372308678Shselasky u8 egress_hoq_low[0x20]; 373308678Shselasky 374308678Shselasky u8 port_isolation_high[0x20]; 375308678Shselasky 376308678Shselasky u8 port_isolation_low[0x20]; 377308678Shselasky 378308678Shselasky u8 egress_policy_engine_high[0x20]; 379308678Shselasky 380308678Shselasky u8 egress_policy_engine_low[0x20]; 381308678Shselasky 382308678Shselasky u8 ingress_tx_link_down_high[0x20]; 383308678Shselasky 384308678Shselasky u8 ingress_tx_link_down_low[0x20]; 385308678Shselasky 386308678Shselasky u8 egress_stp_filter_high[0x20]; 387308678Shselasky 388308678Shselasky u8 egress_stp_filter_low[0x20]; 389308678Shselasky 390321992Shselasky u8 egress_hoq_stall_high[0x20]; 391321992Shselasky 392321992Shselasky u8 egress_hoq_stall_low[0x20]; 393321992Shselasky 394321992Shselasky u8 reserved_at_340[0x440]; 395308678Shselasky}; 396290650Shselaskystruct mlx5_ifc_flow_table_prop_layout_bits { 397290650Shselasky u8 ft_support[0x1]; 398290650Shselasky u8 flow_tag[0x1]; 399290650Shselasky u8 flow_counter[0x1]; 400290650Shselasky u8 flow_modify_en[0x1]; 401290650Shselasky u8 modify_root[0x1]; 402329200Shselasky u8 identified_miss_table[0x1]; 403329200Shselasky u8 flow_table_modify[0x1]; 404329200Shselasky u8 encap[0x1]; 405329200Shselasky u8 decap[0x1]; 406329200Shselasky u8 reset_root_to_default[0x1]; 407329200Shselasky u8 reserved_at_a[0x16]; 408290650Shselasky 409329200Shselasky u8 reserved_at_20[0x2]; 410290650Shselasky u8 log_max_ft_size[0x6]; 411329200Shselasky u8 reserved_at_28[0x10]; 412290650Shselasky u8 max_ft_level[0x8]; 413290650Shselasky 414329200Shselasky u8 reserved_at_40[0x20]; 415290650Shselasky 416329200Shselasky u8 reserved_at_60[0x18]; 417290650Shselasky u8 log_max_ft_num[0x8]; 418290650Shselasky 419329200Shselasky u8 reserved_at_80[0x10]; 420290650Shselasky u8 log_max_flow_counter[0x8]; 421290650Shselasky u8 log_max_destination[0x8]; 422290650Shselasky 423329200Shselasky u8 reserved_at_a0[0x18]; 424290650Shselasky u8 log_max_flow[0x8]; 425290650Shselasky 426329200Shselasky u8 reserved_at_c0[0x40]; 427290650Shselasky 428290650Shselasky struct mlx5_ifc_flow_table_fields_supported_bits ft_field_support; 429290650Shselasky 430290650Shselasky struct mlx5_ifc_flow_table_fields_supported_bits ft_field_bitmask_support; 431290650Shselasky}; 432290650Shselasky 433290650Shselaskystruct mlx5_ifc_odp_per_transport_service_cap_bits { 434290650Shselasky u8 send[0x1]; 435290650Shselasky u8 receive[0x1]; 436290650Shselasky u8 write[0x1]; 437290650Shselasky u8 read[0x1]; 438290650Shselasky u8 atomic[0x1]; 439290650Shselasky u8 srq_receive[0x1]; 440290650Shselasky u8 reserved_0[0x1a]; 441290650Shselasky}; 442290650Shselasky 443290650Shselaskystruct mlx5_ifc_flow_counter_list_bits { 444290650Shselasky u8 reserved_0[0x10]; 445290650Shselasky u8 flow_counter_id[0x10]; 446290650Shselasky 447290650Shselasky u8 reserved_1[0x20]; 448290650Shselasky}; 449290650Shselasky 450290650Shselaskyenum { 451290650Shselasky MLX5_FLOW_CONTEXT_DEST_TYPE_VPORT = 0x0, 452290650Shselasky MLX5_FLOW_CONTEXT_DEST_TYPE_FLOW_TABLE = 0x1, 453290650Shselasky MLX5_FLOW_CONTEXT_DEST_TYPE_TIR = 0x2, 454321992Shselasky MLX5_FLOW_CONTEXT_DEST_TYPE_QP = 0x3, 455290650Shselasky}; 456290650Shselasky 457290650Shselaskystruct mlx5_ifc_dest_format_struct_bits { 458290650Shselasky u8 destination_type[0x8]; 459290650Shselasky u8 destination_id[0x18]; 460290650Shselasky 461290650Shselasky u8 reserved_0[0x20]; 462290650Shselasky}; 463290650Shselasky 464329200Shselaskystruct mlx5_ifc_ipv4_layout_bits { 465329200Shselasky u8 reserved_at_0[0x60]; 466329200Shselasky 467329200Shselasky u8 ipv4[0x20]; 468329200Shselasky}; 469329200Shselasky 470329200Shselaskystruct mlx5_ifc_ipv6_layout_bits { 471329200Shselasky u8 ipv6[16][0x8]; 472329200Shselasky}; 473329200Shselasky 474329200Shselaskyunion mlx5_ifc_ipv6_layout_ipv4_layout_auto_bits { 475329200Shselasky struct mlx5_ifc_ipv6_layout_bits ipv6_layout; 476329200Shselasky struct mlx5_ifc_ipv4_layout_bits ipv4_layout; 477329200Shselasky u8 reserved_at_0[0x80]; 478329200Shselasky}; 479329200Shselasky 480290650Shselaskystruct mlx5_ifc_fte_match_set_lyr_2_4_bits { 481290650Shselasky u8 smac_47_16[0x20]; 482290650Shselasky 483290650Shselasky u8 smac_15_0[0x10]; 484290650Shselasky u8 ethertype[0x10]; 485290650Shselasky 486290650Shselasky u8 dmac_47_16[0x20]; 487290650Shselasky 488290650Shselasky u8 dmac_15_0[0x10]; 489290650Shselasky u8 first_prio[0x3]; 490290650Shselasky u8 first_cfi[0x1]; 491290650Shselasky u8 first_vid[0xc]; 492290650Shselasky 493290650Shselasky u8 ip_protocol[0x8]; 494290650Shselasky u8 ip_dscp[0x6]; 495290650Shselasky u8 ip_ecn[0x2]; 496306233Shselasky u8 cvlan_tag[0x1]; 497306233Shselasky u8 svlan_tag[0x1]; 498290650Shselasky u8 frag[0x1]; 499290650Shselasky u8 reserved_1[0x4]; 500290650Shselasky u8 tcp_flags[0x9]; 501290650Shselasky 502290650Shselasky u8 tcp_sport[0x10]; 503290650Shselasky u8 tcp_dport[0x10]; 504290650Shselasky 505290650Shselasky u8 reserved_2[0x20]; 506290650Shselasky 507290650Shselasky u8 udp_sport[0x10]; 508290650Shselasky u8 udp_dport[0x10]; 509290650Shselasky 510329200Shselasky union mlx5_ifc_ipv6_layout_ipv4_layout_auto_bits src_ipv4_src_ipv6; 511290650Shselasky 512329200Shselasky union mlx5_ifc_ipv6_layout_ipv4_layout_auto_bits dst_ipv4_dst_ipv6; 513290650Shselasky}; 514290650Shselasky 515290650Shselaskystruct mlx5_ifc_fte_match_set_misc_bits { 516290650Shselasky u8 reserved_0[0x8]; 517290650Shselasky u8 source_sqn[0x18]; 518290650Shselasky 519290650Shselasky u8 reserved_1[0x10]; 520290650Shselasky u8 source_port[0x10]; 521290650Shselasky 522290650Shselasky u8 outer_second_prio[0x3]; 523290650Shselasky u8 outer_second_cfi[0x1]; 524290650Shselasky u8 outer_second_vid[0xc]; 525290650Shselasky u8 inner_second_prio[0x3]; 526290650Shselasky u8 inner_second_cfi[0x1]; 527290650Shselasky u8 inner_second_vid[0xc]; 528290650Shselasky 529290650Shselasky u8 outer_second_vlan_tag[0x1]; 530290650Shselasky u8 inner_second_vlan_tag[0x1]; 531290650Shselasky u8 reserved_2[0xe]; 532290650Shselasky u8 gre_protocol[0x10]; 533290650Shselasky 534290650Shselasky u8 gre_key_h[0x18]; 535290650Shselasky u8 gre_key_l[0x8]; 536290650Shselasky 537290650Shselasky u8 vxlan_vni[0x18]; 538290650Shselasky u8 reserved_3[0x8]; 539290650Shselasky 540308678Shselasky u8 geneve_vni[0x18]; 541308678Shselasky u8 reserved4[0x7]; 542308678Shselasky u8 geneve_oam[0x1]; 543290650Shselasky 544290650Shselasky u8 reserved_5[0xc]; 545290650Shselasky u8 outer_ipv6_flow_label[0x14]; 546290650Shselasky 547290650Shselasky u8 reserved_6[0xc]; 548290650Shselasky u8 inner_ipv6_flow_label[0x14]; 549290650Shselasky 550321992Shselasky u8 reserved_7[0xa]; 551321992Shselasky u8 geneve_opt_len[0x6]; 552308678Shselasky u8 geneve_protocol_type[0x10]; 553321992Shselasky 554321992Shselasky u8 reserved_8[0x8]; 555321992Shselasky u8 bth_dst_qp[0x18]; 556321992Shselasky 557321992Shselasky u8 reserved_9[0xa0]; 558290650Shselasky}; 559290650Shselasky 560290650Shselaskystruct mlx5_ifc_cmd_pas_bits { 561290650Shselasky u8 pa_h[0x20]; 562290650Shselasky 563290650Shselasky u8 pa_l[0x14]; 564290650Shselasky u8 reserved_0[0xc]; 565290650Shselasky}; 566290650Shselasky 567290650Shselaskystruct mlx5_ifc_uint64_bits { 568290650Shselasky u8 hi[0x20]; 569290650Shselasky 570290650Shselasky u8 lo[0x20]; 571290650Shselasky}; 572290650Shselasky 573306233Shselaskystruct mlx5_ifc_application_prio_entry_bits { 574306233Shselasky u8 reserved_0[0x8]; 575306233Shselasky u8 priority[0x3]; 576306233Shselasky u8 reserved_1[0x2]; 577306233Shselasky u8 sel[0x3]; 578306233Shselasky u8 protocol_id[0x10]; 579306233Shselasky}; 580306233Shselasky 581290650Shselaskystruct mlx5_ifc_nodnic_ring_doorbell_bits { 582290650Shselasky u8 reserved_0[0x8]; 583290650Shselasky u8 ring_pi[0x10]; 584290650Shselasky u8 reserved_1[0x8]; 585290650Shselasky}; 586290650Shselasky 587290650Shselaskyenum { 588290650Shselasky MLX5_ADS_STAT_RATE_NO_LIMIT = 0x0, 589290650Shselasky MLX5_ADS_STAT_RATE_2_5GBPS = 0x7, 590290650Shselasky MLX5_ADS_STAT_RATE_10GBPS = 0x8, 591290650Shselasky MLX5_ADS_STAT_RATE_30GBPS = 0x9, 592290650Shselasky MLX5_ADS_STAT_RATE_5GBPS = 0xa, 593290650Shselasky MLX5_ADS_STAT_RATE_20GBPS = 0xb, 594290650Shselasky MLX5_ADS_STAT_RATE_40GBPS = 0xc, 595290650Shselasky MLX5_ADS_STAT_RATE_60GBPS = 0xd, 596290650Shselasky MLX5_ADS_STAT_RATE_80GBPS = 0xe, 597290650Shselasky MLX5_ADS_STAT_RATE_120GBPS = 0xf, 598290650Shselasky}; 599290650Shselasky 600290650Shselaskystruct mlx5_ifc_ads_bits { 601290650Shselasky u8 fl[0x1]; 602290650Shselasky u8 free_ar[0x1]; 603290650Shselasky u8 reserved_0[0xe]; 604290650Shselasky u8 pkey_index[0x10]; 605290650Shselasky 606290650Shselasky u8 reserved_1[0x8]; 607290650Shselasky u8 grh[0x1]; 608290650Shselasky u8 mlid[0x7]; 609290650Shselasky u8 rlid[0x10]; 610290650Shselasky 611290650Shselasky u8 ack_timeout[0x5]; 612290650Shselasky u8 reserved_2[0x3]; 613290650Shselasky u8 src_addr_index[0x8]; 614290650Shselasky u8 log_rtm[0x4]; 615290650Shselasky u8 stat_rate[0x4]; 616290650Shselasky u8 hop_limit[0x8]; 617290650Shselasky 618290650Shselasky u8 reserved_3[0x4]; 619290650Shselasky u8 tclass[0x8]; 620290650Shselasky u8 flow_label[0x14]; 621290650Shselasky 622290650Shselasky u8 rgid_rip[16][0x8]; 623290650Shselasky 624290650Shselasky u8 reserved_4[0x4]; 625290650Shselasky u8 f_dscp[0x1]; 626290650Shselasky u8 f_ecn[0x1]; 627290650Shselasky u8 reserved_5[0x1]; 628290650Shselasky u8 f_eth_prio[0x1]; 629290650Shselasky u8 ecn[0x2]; 630290650Shselasky u8 dscp[0x6]; 631290650Shselasky u8 udp_sport[0x10]; 632290650Shselasky 633290650Shselasky u8 dei_cfi[0x1]; 634290650Shselasky u8 eth_prio[0x3]; 635290650Shselasky u8 sl[0x4]; 636290650Shselasky u8 port[0x8]; 637290650Shselasky u8 rmac_47_32[0x10]; 638290650Shselasky 639290650Shselasky u8 rmac_31_0[0x20]; 640290650Shselasky}; 641290650Shselasky 642306233Shselaskystruct mlx5_ifc_diagnostic_counter_cap_bits { 643306233Shselasky u8 sync[0x1]; 644306233Shselasky u8 reserved_0[0xf]; 645306233Shselasky u8 counter_id[0x10]; 646306233Shselasky}; 647306233Shselasky 648306233Shselaskystruct mlx5_ifc_debug_cap_bits { 649306233Shselasky u8 reserved_0[0x18]; 650306233Shselasky u8 log_max_samples[0x8]; 651306233Shselasky 652306233Shselasky u8 single[0x1]; 653306233Shselasky u8 repetitive[0x1]; 654306233Shselasky u8 health_mon_rx_activity[0x1]; 655306233Shselasky u8 reserved_1[0x15]; 656306233Shselasky u8 log_min_sample_period[0x8]; 657306233Shselasky 658306233Shselasky u8 reserved_2[0x1c0]; 659306233Shselasky 660306233Shselasky struct mlx5_ifc_diagnostic_counter_cap_bits diagnostic_counter[0x1f0]; 661306233Shselasky}; 662306233Shselasky 663308678Shselaskystruct mlx5_ifc_qos_cap_bits { 664308678Shselasky u8 packet_pacing[0x1]; 665308678Shselasky u8 esw_scheduling[0x1]; 666308678Shselasky u8 esw_bw_share[0x1]; 667308678Shselasky u8 esw_rate_limit[0x1]; 668308678Shselasky u8 hll[0x1]; 669308678Shselasky u8 packet_pacing_burst_bound[0x1]; 670308678Shselasky u8 reserved_at_6[0x1a]; 671308678Shselasky 672308678Shselasky u8 reserved_at_20[0x20]; 673308678Shselasky 674308678Shselasky u8 packet_pacing_max_rate[0x20]; 675308678Shselasky 676308678Shselasky u8 packet_pacing_min_rate[0x20]; 677308678Shselasky 678308678Shselasky u8 reserved_at_80[0x10]; 679308678Shselasky u8 packet_pacing_rate_table_size[0x10]; 680308678Shselasky 681308678Shselasky u8 esw_element_type[0x10]; 682308678Shselasky u8 esw_tsar_type[0x10]; 683308678Shselasky 684308678Shselasky u8 reserved_at_c0[0x10]; 685308678Shselasky u8 max_qos_para_vport[0x10]; 686308678Shselasky 687308678Shselasky u8 max_tsar_bw_share[0x20]; 688308678Shselasky 689308678Shselasky u8 reserved_at_100[0x700]; 690308678Shselasky}; 691308678Shselasky 692306233Shselaskystruct mlx5_ifc_snapshot_cap_bits { 693306233Shselasky u8 reserved_0[0x1d]; 694306233Shselasky u8 suspend_qp_uc[0x1]; 695306233Shselasky u8 suspend_qp_ud[0x1]; 696306233Shselasky u8 suspend_qp_rc[0x1]; 697306233Shselasky 698306233Shselasky u8 reserved_1[0x1c]; 699306233Shselasky u8 restore_pd[0x1]; 700306233Shselasky u8 restore_uar[0x1]; 701306233Shselasky u8 restore_mkey[0x1]; 702306233Shselasky u8 restore_qp[0x1]; 703306233Shselasky 704306233Shselasky u8 reserved_2[0x1e]; 705306233Shselasky u8 named_mkey[0x1]; 706306233Shselasky u8 named_qp[0x1]; 707306233Shselasky 708306233Shselasky u8 reserved_3[0x7a0]; 709306233Shselasky}; 710306233Shselasky 711290650Shselaskystruct mlx5_ifc_e_switch_cap_bits { 712290650Shselasky u8 vport_svlan_strip[0x1]; 713290650Shselasky u8 vport_cvlan_strip[0x1]; 714290650Shselasky u8 vport_svlan_insert[0x1]; 715290650Shselasky u8 vport_cvlan_insert_if_not_exist[0x1]; 716290650Shselasky u8 vport_cvlan_insert_overwrite[0x1]; 717290650Shselasky 718306233Shselasky u8 reserved_0[0x19]; 719306233Shselasky 720306233Shselasky u8 nic_vport_node_guid_modify[0x1]; 721306233Shselasky u8 nic_vport_port_guid_modify[0x1]; 722306233Shselasky 723290650Shselasky u8 reserved_1[0x7e0]; 724290650Shselasky}; 725290650Shselasky 726290650Shselaskystruct mlx5_ifc_flow_table_eswitch_cap_bits { 727290650Shselasky u8 reserved_0[0x200]; 728290650Shselasky 729290650Shselasky struct mlx5_ifc_flow_table_prop_layout_bits flow_table_properties_nic_esw_fdb; 730290650Shselasky 731290650Shselasky struct mlx5_ifc_flow_table_prop_layout_bits flow_table_properties_esw_acl_ingress; 732290650Shselasky 733290650Shselasky struct mlx5_ifc_flow_table_prop_layout_bits flow_table_properties_esw_acl_egress; 734290650Shselasky 735290650Shselasky u8 reserved_1[0x7800]; 736290650Shselasky}; 737290650Shselasky 738290650Shselaskystruct mlx5_ifc_flow_table_nic_cap_bits { 739329200Shselasky u8 nic_rx_multi_path_tirs[0x1]; 740329200Shselasky u8 nic_rx_multi_path_tirs_fts[0x1]; 741329200Shselasky u8 allow_sniffer_and_nic_rx_shared_tir[0x1]; 742329200Shselasky u8 reserved_at_3[0x1fd]; 743290650Shselasky 744290650Shselasky struct mlx5_ifc_flow_table_prop_layout_bits flow_table_properties_nic_receive; 745290650Shselasky 746290650Shselasky struct mlx5_ifc_flow_table_prop_layout_bits flow_table_properties_nic_receive_rdma; 747290650Shselasky 748290650Shselasky struct mlx5_ifc_flow_table_prop_layout_bits flow_table_properties_nic_receive_sniffer; 749290650Shselasky 750290650Shselasky struct mlx5_ifc_flow_table_prop_layout_bits flow_table_properties_nic_transmit; 751290650Shselasky 752290650Shselasky struct mlx5_ifc_flow_table_prop_layout_bits flow_table_properties_nic_transmit_rdma; 753290650Shselasky 754290650Shselasky struct mlx5_ifc_flow_table_prop_layout_bits flow_table_properties_nic_transmit_sniffer; 755290650Shselasky 756290650Shselasky u8 reserved_1[0x7200]; 757290650Shselasky}; 758290650Shselasky 759341975Shselaskyenum { 760341975Shselasky MLX5_ACCESS_REG_SUMMARY_CTRL_ID_PDDR = 0x5031, 761341975Shselasky}; 762341975Shselasky 763341975Shselaskystruct mlx5_ifc_pddr_module_info_bits { 764341975Shselasky u8 cable_technology[0x8]; 765341975Shselasky u8 cable_breakout[0x8]; 766341975Shselasky u8 ext_ethernet_compliance_code[0x8]; 767341975Shselasky u8 ethernet_compliance_code[0x8]; 768341975Shselasky 769341975Shselasky u8 cable_type[0x4]; 770341975Shselasky u8 cable_vendor[0x4]; 771341975Shselasky u8 cable_length[0x8]; 772341975Shselasky u8 cable_identifier[0x8]; 773341975Shselasky u8 cable_power_class[0x8]; 774341975Shselasky 775341975Shselasky u8 reserved_at_40[0x8]; 776341975Shselasky u8 cable_rx_amp[0x8]; 777341975Shselasky u8 cable_rx_emphasis[0x8]; 778341975Shselasky u8 cable_tx_equalization[0x8]; 779341975Shselasky 780341975Shselasky u8 reserved_at_60[0x8]; 781341975Shselasky u8 cable_attenuation_12g[0x8]; 782341975Shselasky u8 cable_attenuation_7g[0x8]; 783341975Shselasky u8 cable_attenuation_5g[0x8]; 784341975Shselasky 785341975Shselasky u8 reserved_at_80[0x8]; 786341975Shselasky u8 rx_cdr_cap[0x4]; 787341975Shselasky u8 tx_cdr_cap[0x4]; 788341975Shselasky u8 reserved_at_90[0x4]; 789341975Shselasky u8 rx_cdr_state[0x4]; 790341975Shselasky u8 reserved_at_98[0x4]; 791341975Shselasky u8 tx_cdr_state[0x4]; 792341975Shselasky 793341975Shselasky u8 vendor_name[16][0x8]; 794341975Shselasky 795341975Shselasky u8 vendor_pn[16][0x8]; 796341975Shselasky 797341975Shselasky u8 vendor_rev[0x20]; 798341975Shselasky 799341975Shselasky u8 fw_version[0x20]; 800341975Shselasky 801341975Shselasky u8 vendor_sn[16][0x8]; 802341975Shselasky 803341975Shselasky u8 temperature[0x10]; 804341975Shselasky u8 voltage[0x10]; 805341975Shselasky 806341975Shselasky u8 rx_power_lane0[0x10]; 807341975Shselasky u8 rx_power_lane1[0x10]; 808341975Shselasky 809341975Shselasky u8 rx_power_lane2[0x10]; 810341975Shselasky u8 rx_power_lane3[0x10]; 811341975Shselasky 812341975Shselasky u8 reserved_at_2c0[0x40]; 813341975Shselasky 814341975Shselasky u8 tx_power_lane0[0x10]; 815341975Shselasky u8 tx_power_lane1[0x10]; 816341975Shselasky 817341975Shselasky u8 tx_power_lane2[0x10]; 818341975Shselasky u8 tx_power_lane3[0x10]; 819341975Shselasky 820341975Shselasky u8 reserved_at_340[0x40]; 821341975Shselasky 822341975Shselasky u8 tx_bias_lane0[0x10]; 823341975Shselasky u8 tx_bias_lane1[0x10]; 824341975Shselasky 825341975Shselasky u8 tx_bias_lane2[0x10]; 826341975Shselasky u8 tx_bias_lane3[0x10]; 827341975Shselasky 828341975Shselasky u8 reserved_at_3c0[0x40]; 829341975Shselasky 830341975Shselasky u8 temperature_high_th[0x10]; 831341975Shselasky u8 temperature_low_th[0x10]; 832341975Shselasky 833341975Shselasky u8 voltage_high_th[0x10]; 834341975Shselasky u8 voltage_low_th[0x10]; 835341975Shselasky 836341975Shselasky u8 rx_power_high_th[0x10]; 837341975Shselasky u8 rx_power_low_th[0x10]; 838341975Shselasky 839341975Shselasky u8 tx_power_high_th[0x10]; 840341975Shselasky u8 tx_power_low_th[0x10]; 841341975Shselasky 842341975Shselasky u8 tx_bias_high_th[0x10]; 843341975Shselasky u8 tx_bias_low_th[0x10]; 844341975Shselasky 845341975Shselasky u8 reserved_at_4a0[0x10]; 846341975Shselasky u8 wavelength[0x10]; 847341975Shselasky 848341975Shselasky u8 reserved_at_4c0[0x300]; 849341975Shselasky}; 850341975Shselasky 851341975Shselaskyunion mlx5_ifc_pddr_operation_info_page_pddr_phy_info_page_pddr_troubleshooting_page_pddr_module_info_auto_bits { 852341975Shselasky struct mlx5_ifc_pddr_module_info_bits pddr_module_info; 853341975Shselasky u8 reserved_at_0[0x7c0]; 854341975Shselasky}; 855341975Shselasky 856341975Shselaskystruct mlx5_ifc_pddr_reg_bits { 857341975Shselasky u8 reserved_at_0[0x8]; 858341975Shselasky u8 local_port[0x8]; 859341975Shselasky u8 pnat[0x2]; 860341975Shselasky u8 reserved_at_12[0xe]; 861341975Shselasky 862341975Shselasky u8 reserved_at_20[0x18]; 863341975Shselasky u8 page_select[0x8]; 864341975Shselasky 865341975Shselasky union mlx5_ifc_pddr_operation_info_page_pddr_phy_info_page_pddr_troubleshooting_page_pddr_module_info_auto_bits page_data; 866341975Shselasky}; 867341975Shselasky 868290650Shselaskystruct mlx5_ifc_per_protocol_networking_offload_caps_bits { 869290650Shselasky u8 csum_cap[0x1]; 870290650Shselasky u8 vlan_cap[0x1]; 871290650Shselasky u8 lro_cap[0x1]; 872290650Shselasky u8 lro_psh_flag[0x1]; 873290650Shselasky u8 lro_time_stamp[0x1]; 874290650Shselasky u8 lro_max_msg_sz_mode[0x2]; 875321992Shselasky u8 wqe_vlan_insert[0x1]; 876321992Shselasky u8 self_lb_en_modifiable[0x1]; 877290650Shselasky u8 self_lb_mc[0x1]; 878290650Shselasky u8 self_lb_uc[0x1]; 879290650Shselasky u8 max_lso_cap[0x5]; 880290650Shselasky u8 multi_pkt_send_wqe[0x2]; 881290650Shselasky u8 wqe_inline_mode[0x2]; 882290650Shselasky u8 rss_ind_tbl_cap[0x4]; 883329204Shselasky u8 scatter_fcs[0x1]; 884329204Shselasky u8 reserved_1[0x2]; 885290650Shselasky u8 tunnel_lso_const_out_ip_id[0x1]; 886290650Shselasky u8 tunnel_lro_gre[0x1]; 887290650Shselasky u8 tunnel_lro_vxlan[0x1]; 888290650Shselasky u8 tunnel_statless_gre[0x1]; 889290650Shselasky u8 tunnel_stateless_vxlan[0x1]; 890290650Shselasky 891308678Shselasky u8 swp[0x1]; 892308678Shselasky u8 swp_csum[0x1]; 893308678Shselasky u8 swp_lso[0x1]; 894321992Shselasky u8 reserved_2[0x1b]; 895321992Shselasky u8 max_geneve_opt_len[0x1]; 896308678Shselasky u8 tunnel_stateless_geneve_rx[0x1]; 897290650Shselasky 898290650Shselasky u8 reserved_3[0x10]; 899290650Shselasky u8 lro_min_mss_size[0x10]; 900290650Shselasky 901290650Shselasky u8 reserved_4[0x120]; 902290650Shselasky 903290650Shselasky u8 lro_timer_supported_periods[4][0x20]; 904290650Shselasky 905290650Shselasky u8 reserved_5[0x600]; 906290650Shselasky}; 907290650Shselasky 908290650Shselaskyenum { 909290650Shselasky MLX5_ROCE_CAP_L3_TYPE_GRH = 0x1, 910290650Shselasky MLX5_ROCE_CAP_L3_TYPE_IPV4 = 0x2, 911290650Shselasky MLX5_ROCE_CAP_L3_TYPE_IPV6 = 0x4, 912290650Shselasky}; 913290650Shselasky 914290650Shselaskystruct mlx5_ifc_roce_cap_bits { 915290650Shselasky u8 roce_apm[0x1]; 916306233Shselasky u8 rts2rts_primary_eth_prio[0x1]; 917306233Shselasky u8 roce_rx_allow_untagged[0x1]; 918306233Shselasky u8 rts2rts_src_addr_index_for_vlan_valid_vlan_id[0x1]; 919290650Shselasky 920306233Shselasky u8 reserved_0[0x1c]; 921306233Shselasky 922290650Shselasky u8 reserved_1[0x60]; 923290650Shselasky 924290650Shselasky u8 reserved_2[0xc]; 925290650Shselasky u8 l3_type[0x4]; 926290650Shselasky u8 reserved_3[0x8]; 927290650Shselasky u8 roce_version[0x8]; 928290650Shselasky 929290650Shselasky u8 reserved_4[0x10]; 930290650Shselasky u8 r_roce_dest_udp_port[0x10]; 931290650Shselasky 932290650Shselasky u8 r_roce_max_src_udp_port[0x10]; 933290650Shselasky u8 r_roce_min_src_udp_port[0x10]; 934290650Shselasky 935290650Shselasky u8 reserved_5[0x10]; 936290650Shselasky u8 roce_address_table_size[0x10]; 937290650Shselasky 938290650Shselasky u8 reserved_6[0x700]; 939290650Shselasky}; 940290650Shselasky 941290650Shselaskyenum { 942290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_QP_1_BYTE = 0x1, 943290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_QP_2_BYTES = 0x2, 944290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_QP_4_BYTES = 0x4, 945290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_QP_8_BYTES = 0x8, 946290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_QP_16_BYTES = 0x10, 947290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_QP_32_BYTES = 0x20, 948290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_QP_64_BYTES = 0x40, 949290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_QP_128_BYTES = 0x80, 950290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_QP_256_BYTES = 0x100, 951290650Shselasky}; 952290650Shselasky 953290650Shselaskyenum { 954290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_DC_1_BYTE = 0x1, 955290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_DC_2_BYTES = 0x2, 956290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_DC_4_BYTES = 0x4, 957290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_DC_8_BYTES = 0x8, 958290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_DC_16_BYTES = 0x10, 959290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_DC_32_BYTES = 0x20, 960290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_DC_64_BYTES = 0x40, 961290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_DC_128_BYTES = 0x80, 962290650Shselasky MLX5_ATOMIC_CAPS_ATOMIC_SIZE_DC_256_BYTES = 0x100, 963290650Shselasky}; 964290650Shselasky 965290650Shselaskystruct mlx5_ifc_atomic_caps_bits { 966290650Shselasky u8 reserved_0[0x40]; 967290650Shselasky 968306233Shselasky u8 atomic_req_8B_endianess_mode[0x2]; 969306233Shselasky u8 reserved_1[0x4]; 970306233Shselasky u8 supported_atomic_req_8B_endianess_mode_1[0x1]; 971290650Shselasky 972306233Shselasky u8 reserved_2[0x19]; 973290650Shselasky 974306233Shselasky u8 reserved_3[0x20]; 975306233Shselasky 976306233Shselasky u8 reserved_4[0x10]; 977290650Shselasky u8 atomic_operations[0x10]; 978290650Shselasky 979306233Shselasky u8 reserved_5[0x10]; 980290650Shselasky u8 atomic_size_qp[0x10]; 981290650Shselasky 982306233Shselasky u8 reserved_6[0x10]; 983290650Shselasky u8 atomic_size_dc[0x10]; 984290650Shselasky 985306233Shselasky u8 reserved_7[0x720]; 986290650Shselasky}; 987290650Shselasky 988290650Shselaskystruct mlx5_ifc_odp_cap_bits { 989290650Shselasky u8 reserved_0[0x40]; 990290650Shselasky 991290650Shselasky u8 sig[0x1]; 992290650Shselasky u8 reserved_1[0x1f]; 993290650Shselasky 994290650Shselasky u8 reserved_2[0x20]; 995290650Shselasky 996290650Shselasky struct mlx5_ifc_odp_per_transport_service_cap_bits rc_odp_caps; 997290650Shselasky 998290650Shselasky struct mlx5_ifc_odp_per_transport_service_cap_bits uc_odp_caps; 999290650Shselasky 1000290650Shselasky struct mlx5_ifc_odp_per_transport_service_cap_bits ud_odp_caps; 1001290650Shselasky 1002290650Shselasky struct mlx5_ifc_odp_per_transport_service_cap_bits xrc_odp_caps; 1003290650Shselasky 1004290650Shselasky struct mlx5_ifc_odp_per_transport_service_cap_bits dc_odp_caps; 1005290650Shselasky 1006290650Shselasky u8 reserved_3[0x6e0]; 1007290650Shselasky}; 1008290650Shselasky 1009290650Shselaskyenum { 1010290650Shselasky MLX5_CMD_HCA_CAP_GID_TABLE_SIZE_8_GID_ENTRIES = 0x0, 1011290650Shselasky MLX5_CMD_HCA_CAP_GID_TABLE_SIZE_16_GID_ENTRIES = 0x1, 1012290650Shselasky MLX5_CMD_HCA_CAP_GID_TABLE_SIZE_32_GID_ENTRIES = 0x2, 1013290650Shselasky MLX5_CMD_HCA_CAP_GID_TABLE_SIZE_64_GID_ENTRIES = 0x3, 1014290650Shselasky MLX5_CMD_HCA_CAP_GID_TABLE_SIZE_128_GID_ENTRIES = 0x4, 1015290650Shselasky}; 1016290650Shselasky 1017290650Shselaskyenum { 1018290650Shselasky MLX5_CMD_HCA_CAP_PKEY_TABLE_SIZE_128_ENTRIES = 0x0, 1019290650Shselasky MLX5_CMD_HCA_CAP_PKEY_TABLE_SIZE_256_ENTRIES = 0x1, 1020290650Shselasky MLX5_CMD_HCA_CAP_PKEY_TABLE_SIZE_512_ENTRIES = 0x2, 1021290650Shselasky MLX5_CMD_HCA_CAP_PKEY_TABLE_SIZE_1K_ENTRIES = 0x3, 1022290650Shselasky MLX5_CMD_HCA_CAP_PKEY_TABLE_SIZE_2K_ENTRIES = 0x4, 1023290650Shselasky MLX5_CMD_HCA_CAP_PKEY_TABLE_SIZE_4K_ENTRIES = 0x5, 1024290650Shselasky}; 1025290650Shselasky 1026290650Shselaskyenum { 1027290650Shselasky MLX5_CMD_HCA_CAP_PORT_TYPE_IB = 0x0, 1028290650Shselasky MLX5_CMD_HCA_CAP_PORT_TYPE_ETHERNET = 0x1, 1029290650Shselasky}; 1030290650Shselasky 1031290650Shselaskyenum { 1032290650Shselasky MLX5_CMD_HCA_CAP_CMDIF_CHECKSUM_DISABLED = 0x0, 1033290650Shselasky MLX5_CMD_HCA_CAP_CMDIF_CHECKSUM_INITIAL_STATE = 0x1, 1034290650Shselasky MLX5_CMD_HCA_CAP_CMDIF_CHECKSUM_ENABLED = 0x3, 1035290650Shselasky}; 1036290650Shselasky 1037290650Shselaskystruct mlx5_ifc_cmd_hca_cap_bits { 1038290650Shselasky u8 reserved_0[0x80]; 1039290650Shselasky 1040290650Shselasky u8 log_max_srq_sz[0x8]; 1041290650Shselasky u8 log_max_qp_sz[0x8]; 1042290650Shselasky u8 reserved_1[0xb]; 1043290650Shselasky u8 log_max_qp[0x5]; 1044290650Shselasky 1045290650Shselasky u8 reserved_2[0xb]; 1046290650Shselasky u8 log_max_srq[0x5]; 1047290650Shselasky u8 reserved_3[0x10]; 1048290650Shselasky 1049290650Shselasky u8 reserved_4[0x8]; 1050290650Shselasky u8 log_max_cq_sz[0x8]; 1051290650Shselasky u8 reserved_5[0xb]; 1052290650Shselasky u8 log_max_cq[0x5]; 1053290650Shselasky 1054290650Shselasky u8 log_max_eq_sz[0x8]; 1055341940Shselasky u8 relaxed_ordering_write[1]; 1056341940Shselasky u8 reserved_6[0x1]; 1057290650Shselasky u8 log_max_mkey[0x6]; 1058347818Shselasky u8 reserved_7[0xb]; 1059347818Shselasky u8 fast_teardown[0x1]; 1060290650Shselasky u8 log_max_eq[0x4]; 1061290650Shselasky 1062290650Shselasky u8 max_indirection[0x8]; 1063290650Shselasky u8 reserved_8[0x1]; 1064290650Shselasky u8 log_max_mrw_sz[0x7]; 1065331810Shselasky u8 force_teardown[0x1]; 1066331810Shselasky u8 reserved_9[0x1]; 1067290650Shselasky u8 log_max_bsf_list_size[0x6]; 1068290650Shselasky u8 reserved_10[0x2]; 1069290650Shselasky u8 log_max_klm_list_size[0x6]; 1070290650Shselasky 1071290650Shselasky u8 reserved_11[0xa]; 1072290650Shselasky u8 log_max_ra_req_dc[0x6]; 1073290650Shselasky u8 reserved_12[0xa]; 1074290650Shselasky u8 log_max_ra_res_dc[0x6]; 1075290650Shselasky 1076290650Shselasky u8 reserved_13[0xa]; 1077290650Shselasky u8 log_max_ra_req_qp[0x6]; 1078290650Shselasky u8 reserved_14[0xa]; 1079290650Shselasky u8 log_max_ra_res_qp[0x6]; 1080290650Shselasky 1081290650Shselasky u8 pad_cap[0x1]; 1082290650Shselasky u8 cc_query_allowed[0x1]; 1083290650Shselasky u8 cc_modify_allowed[0x1]; 1084306233Shselasky u8 start_pad[0x1]; 1085306233Shselasky u8 cache_line_128byte[0x1]; 1086337098Shselasky u8 reserved_at_165[0xa]; 1087337098Shselasky u8 qcam_reg[0x1]; 1088290650Shselasky u8 gid_table_size[0x10]; 1089290650Shselasky 1090290650Shselasky u8 out_of_seq_cnt[0x1]; 1091290650Shselasky u8 vport_counters[0x1]; 1092306233Shselasky u8 retransmission_q_counters[0x1]; 1093306233Shselasky u8 debug[0x1]; 1094321992Shselasky u8 modify_rq_counters_set_id[0x1]; 1095321992Shselasky u8 rq_delay_drop[0x1]; 1096290650Shselasky u8 max_qp_cnt[0xa]; 1097290650Shselasky u8 pkey_table_size[0x10]; 1098290650Shselasky 1099290650Shselasky u8 vport_group_manager[0x1]; 1100290650Shselasky u8 vhca_group_manager[0x1]; 1101290650Shselasky u8 ib_virt[0x1]; 1102290650Shselasky u8 eth_virt[0x1]; 1103290650Shselasky u8 reserved_17[0x1]; 1104290650Shselasky u8 ets[0x1]; 1105290650Shselasky u8 nic_flow_table[0x1]; 1106290650Shselasky u8 eswitch_flow_table[0x1]; 1107347820Shselasky u8 reserved_18[0x1]; 1108347820Shselasky u8 mcam_reg[0x1]; 1109347820Shselasky u8 pcam_reg[0x1]; 1110290650Shselasky u8 local_ca_ack_delay[0x5]; 1111290650Shselasky u8 port_module_event[0x1]; 1112290650Shselasky u8 reserved_19[0x5]; 1113290650Shselasky u8 port_type[0x2]; 1114290650Shselasky u8 num_ports[0x8]; 1115290650Shselasky 1116290650Shselasky u8 snapshot[0x1]; 1117290650Shselasky u8 reserved_20[0x2]; 1118290650Shselasky u8 log_max_msg[0x5]; 1119290650Shselasky u8 reserved_21[0x4]; 1120290650Shselasky u8 max_tc[0x4]; 1121306233Shselasky u8 temp_warn_event[0x1]; 1122306233Shselasky u8 dcbx[0x1]; 1123341958Shselasky u8 general_notification_event[0x1]; 1124341958Shselasky u8 reserved_at_1d3[0x2]; 1125341958Shselasky u8 fpga[0x1]; 1126290650Shselasky u8 rol_s[0x1]; 1127290650Shselasky u8 rol_g[0x1]; 1128290650Shselasky u8 reserved_23[0x1]; 1129290650Shselasky u8 wol_s[0x1]; 1130290650Shselasky u8 wol_g[0x1]; 1131290650Shselasky u8 wol_a[0x1]; 1132290650Shselasky u8 wol_b[0x1]; 1133290650Shselasky u8 wol_m[0x1]; 1134290650Shselasky u8 wol_u[0x1]; 1135290650Shselasky u8 wol_p[0x1]; 1136290650Shselasky 1137290650Shselasky u8 stat_rate_support[0x10]; 1138290650Shselasky u8 reserved_24[0xc]; 1139290650Shselasky u8 cqe_version[0x4]; 1140290650Shselasky 1141290650Shselasky u8 compact_address_vector[0x1]; 1142290650Shselasky u8 striding_rq[0x1]; 1143306233Shselasky u8 reserved_25[0x1]; 1144306233Shselasky u8 ipoib_enhanced_offloads[0x1]; 1145306233Shselasky u8 ipoib_ipoib_offloads[0x1]; 1146306233Shselasky u8 reserved_26[0x8]; 1147306233Shselasky u8 dc_connect_qp[0x1]; 1148290650Shselasky u8 dc_cnak_trace[0x1]; 1149290650Shselasky u8 drain_sigerr[0x1]; 1150290650Shselasky u8 cmdif_checksum[0x2]; 1151290650Shselasky u8 sigerr_cqe[0x1]; 1152306233Shselasky u8 reserved_27[0x1]; 1153290650Shselasky u8 wq_signature[0x1]; 1154290650Shselasky u8 sctr_data_cqe[0x1]; 1155306233Shselasky u8 reserved_28[0x1]; 1156290650Shselasky u8 sho[0x1]; 1157290650Shselasky u8 tph[0x1]; 1158290650Shselasky u8 rf[0x1]; 1159290650Shselasky u8 dct[0x1]; 1160306233Shselasky u8 qos[0x1]; 1161290650Shselasky u8 eth_net_offloads[0x1]; 1162290650Shselasky u8 roce[0x1]; 1163290650Shselasky u8 atomic[0x1]; 1164306233Shselasky u8 reserved_30[0x1]; 1165290650Shselasky 1166290650Shselasky u8 cq_oi[0x1]; 1167290650Shselasky u8 cq_resize[0x1]; 1168290650Shselasky u8 cq_moderation[0x1]; 1169321992Shselasky u8 cq_period_mode_modify[0x1]; 1170321992Shselasky u8 cq_invalidate[0x1]; 1171321992Shselasky u8 reserved_at_225[0x1]; 1172290650Shselasky u8 cq_eq_remap[0x1]; 1173290650Shselasky u8 pg[0x1]; 1174290650Shselasky u8 block_lb_mc[0x1]; 1175290650Shselasky u8 exponential_backoff[0x1]; 1176290650Shselasky u8 scqe_break_moderation[0x1]; 1177290650Shselasky u8 cq_period_start_from_cqe[0x1]; 1178290650Shselasky u8 cd[0x1]; 1179290650Shselasky u8 atm[0x1]; 1180290650Shselasky u8 apm[0x1]; 1181329204Shselasky u8 imaicl[0x1]; 1182329204Shselasky u8 reserved_32[0x6]; 1183290650Shselasky u8 qkv[0x1]; 1184290650Shselasky u8 pkv[0x1]; 1185329204Shselasky u8 set_deth_sqpn[0x1]; 1186329204Shselasky u8 reserved_33[0x3]; 1187290650Shselasky u8 xrc[0x1]; 1188290650Shselasky u8 ud[0x1]; 1189290650Shselasky u8 uc[0x1]; 1190290650Shselasky u8 rc[0x1]; 1191290650Shselasky 1192306233Shselasky u8 reserved_34[0xa]; 1193290650Shselasky u8 uar_sz[0x6]; 1194306233Shselasky u8 reserved_35[0x8]; 1195290650Shselasky u8 log_pg_sz[0x8]; 1196290650Shselasky 1197290650Shselasky u8 bf[0x1]; 1198290650Shselasky u8 driver_version[0x1]; 1199290650Shselasky u8 pad_tx_eth_packet[0x1]; 1200306233Shselasky u8 reserved_36[0x8]; 1201290650Shselasky u8 log_bf_reg_size[0x5]; 1202306233Shselasky u8 reserved_37[0x10]; 1203290650Shselasky 1204306233Shselasky u8 num_of_diagnostic_counters[0x10]; 1205290650Shselasky u8 max_wqe_sz_sq[0x10]; 1206290650Shselasky 1207290650Shselasky u8 reserved_38[0x10]; 1208290650Shselasky u8 max_wqe_sz_rq[0x10]; 1209290650Shselasky 1210290650Shselasky u8 reserved_39[0x10]; 1211290650Shselasky u8 max_wqe_sz_sq_dc[0x10]; 1212290650Shselasky 1213290650Shselasky u8 reserved_40[0x7]; 1214290650Shselasky u8 max_qp_mcg[0x19]; 1215290650Shselasky 1216290650Shselasky u8 reserved_41[0x18]; 1217290650Shselasky u8 log_max_mcg[0x8]; 1218290650Shselasky 1219290650Shselasky u8 reserved_42[0x3]; 1220290650Shselasky u8 log_max_transport_domain[0x5]; 1221290650Shselasky u8 reserved_43[0x3]; 1222290650Shselasky u8 log_max_pd[0x5]; 1223290650Shselasky u8 reserved_44[0xb]; 1224290650Shselasky u8 log_max_xrcd[0x5]; 1225290650Shselasky 1226347850Shselasky u8 nic_receive_steering_discard[0x1]; 1227347850Shselasky u8 reserved_45[0x7]; 1228347850Shselasky u8 log_max_flow_counter_bulk[0x8]; 1229290650Shselasky u8 max_flow_counter[0x10]; 1230290650Shselasky 1231290650Shselasky u8 reserved_46[0x3]; 1232290650Shselasky u8 log_max_rq[0x5]; 1233290650Shselasky u8 reserved_47[0x3]; 1234290650Shselasky u8 log_max_sq[0x5]; 1235290650Shselasky u8 reserved_48[0x3]; 1236290650Shselasky u8 log_max_tir[0x5]; 1237290650Shselasky u8 reserved_49[0x3]; 1238290650Shselasky u8 log_max_tis[0x5]; 1239290650Shselasky 1240290650Shselasky u8 basic_cyclic_rcv_wqe[0x1]; 1241290650Shselasky u8 reserved_50[0x2]; 1242290650Shselasky u8 log_max_rmp[0x5]; 1243290650Shselasky u8 reserved_51[0x3]; 1244290650Shselasky u8 log_max_rqt[0x5]; 1245290650Shselasky u8 reserved_52[0x3]; 1246290650Shselasky u8 log_max_rqt_size[0x5]; 1247290650Shselasky u8 reserved_53[0x3]; 1248290650Shselasky u8 log_max_tis_per_sq[0x5]; 1249290650Shselasky 1250290650Shselasky u8 reserved_54[0x3]; 1251290650Shselasky u8 log_max_stride_sz_rq[0x5]; 1252290650Shselasky u8 reserved_55[0x3]; 1253290650Shselasky u8 log_min_stride_sz_rq[0x5]; 1254290650Shselasky u8 reserved_56[0x3]; 1255290650Shselasky u8 log_max_stride_sz_sq[0x5]; 1256290650Shselasky u8 reserved_57[0x3]; 1257290650Shselasky u8 log_min_stride_sz_sq[0x5]; 1258290650Shselasky 1259290650Shselasky u8 reserved_58[0x1b]; 1260290650Shselasky u8 log_max_wq_sz[0x5]; 1261290650Shselasky 1262290650Shselasky u8 nic_vport_change_event[0x1]; 1263321992Shselasky u8 disable_local_lb[0x1]; 1264321992Shselasky u8 reserved_59[0x9]; 1265290650Shselasky u8 log_max_vlan_list[0x5]; 1266290650Shselasky u8 reserved_60[0x3]; 1267290650Shselasky u8 log_max_current_mc_list[0x5]; 1268290650Shselasky u8 reserved_61[0x3]; 1269290650Shselasky u8 log_max_current_uc_list[0x5]; 1270290650Shselasky 1271290650Shselasky u8 reserved_62[0x80]; 1272290650Shselasky 1273290650Shselasky u8 reserved_63[0x3]; 1274290650Shselasky u8 log_max_l2_table[0x5]; 1275290650Shselasky u8 reserved_64[0x8]; 1276290650Shselasky u8 log_uar_page_sz[0x10]; 1277290650Shselasky 1278290650Shselasky u8 reserved_65[0x20]; 1279290650Shselasky 1280306233Shselasky u8 device_frequency_mhz[0x20]; 1281290650Shselasky 1282306233Shselasky u8 device_frequency_khz[0x20]; 1283290650Shselasky 1284306233Shselasky u8 reserved_66[0x80]; 1285306233Shselasky 1286290650Shselasky u8 log_max_atomic_size_qp[0x8]; 1287290650Shselasky u8 reserved_67[0x10]; 1288290650Shselasky u8 log_max_atomic_size_dc[0x8]; 1289290650Shselasky 1290290650Shselasky u8 reserved_68[0x1f]; 1291290650Shselasky u8 cqe_compression[0x1]; 1292290650Shselasky 1293290650Shselasky u8 cqe_compression_timeout[0x10]; 1294290650Shselasky u8 cqe_compression_max_num[0x10]; 1295290650Shselasky 1296290650Shselasky u8 reserved_69[0x220]; 1297290650Shselasky}; 1298290650Shselasky 1299306233Shselaskyenum mlx5_flow_destination_type { 1300306233Shselasky MLX5_FLOW_DESTINATION_TYPE_VPORT = 0x0, 1301306233Shselasky MLX5_FLOW_DESTINATION_TYPE_FLOW_TABLE = 0x1, 1302306233Shselasky MLX5_FLOW_DESTINATION_TYPE_TIR = 0x2, 1303306233Shselasky}; 1304306233Shselasky 1305290650Shselaskyunion mlx5_ifc_dest_format_struct_flow_counter_list_auto_bits { 1306290650Shselasky struct mlx5_ifc_dest_format_struct_bits dest_format_struct; 1307290650Shselasky struct mlx5_ifc_flow_counter_list_bits flow_counter_list; 1308290650Shselasky u8 reserved_0[0x40]; 1309290650Shselasky}; 1310290650Shselasky 1311290650Shselaskystruct mlx5_ifc_fte_match_param_bits { 1312290650Shselasky struct mlx5_ifc_fte_match_set_lyr_2_4_bits outer_headers; 1313290650Shselasky 1314290650Shselasky struct mlx5_ifc_fte_match_set_misc_bits misc_parameters; 1315290650Shselasky 1316290650Shselasky struct mlx5_ifc_fte_match_set_lyr_2_4_bits inner_headers; 1317290650Shselasky 1318290650Shselasky u8 reserved_0[0xa00]; 1319290650Shselasky}; 1320290650Shselasky 1321290650Shselaskyenum { 1322290650Shselasky MLX5_RX_HASH_FIELD_SELECT_SELECTED_FIELDS_SRC_IP = 0x0, 1323290650Shselasky MLX5_RX_HASH_FIELD_SELECT_SELECTED_FIELDS_DST_IP = 0x1, 1324290650Shselasky MLX5_RX_HASH_FIELD_SELECT_SELECTED_FIELDS_L4_SPORT = 0x2, 1325290650Shselasky MLX5_RX_HASH_FIELD_SELECT_SELECTED_FIELDS_L4_DPORT = 0x3, 1326290650Shselasky MLX5_RX_HASH_FIELD_SELECT_SELECTED_FIELDS_IPSEC_SPI = 0x4, 1327290650Shselasky}; 1328290650Shselasky 1329290650Shselaskystruct mlx5_ifc_rx_hash_field_select_bits { 1330290650Shselasky u8 l3_prot_type[0x1]; 1331290650Shselasky u8 l4_prot_type[0x1]; 1332290650Shselasky u8 selected_fields[0x1e]; 1333290650Shselasky}; 1334290650Shselasky 1335290650Shselaskyenum { 1336290650Shselasky MLX5_WQ_TYPE_LINKED_LIST = 0x0, 1337290650Shselasky MLX5_WQ_TYPE_CYCLIC = 0x1, 1338290650Shselasky MLX5_WQ_TYPE_STRQ_LINKED_LIST = 0x2, 1339290650Shselasky MLX5_WQ_TYPE_STRQ_CYCLIC = 0x3, 1340290650Shselasky}; 1341290650Shselasky 1342306233Shselaskyenum rq_type { 1343306233Shselasky RQ_TYPE_NONE, 1344306233Shselasky RQ_TYPE_STRIDE, 1345306233Shselasky}; 1346306233Shselasky 1347290650Shselaskyenum { 1348290650Shselasky MLX5_WQ_END_PAD_MODE_NONE = 0x0, 1349290650Shselasky MLX5_WQ_END_PAD_MODE_ALIGN = 0x1, 1350290650Shselasky}; 1351290650Shselasky 1352290650Shselaskystruct mlx5_ifc_wq_bits { 1353290650Shselasky u8 wq_type[0x4]; 1354290650Shselasky u8 wq_signature[0x1]; 1355290650Shselasky u8 end_padding_mode[0x2]; 1356290650Shselasky u8 cd_slave[0x1]; 1357290650Shselasky u8 reserved_0[0x18]; 1358290650Shselasky 1359290650Shselasky u8 hds_skip_first_sge[0x1]; 1360290650Shselasky u8 log2_hds_buf_size[0x3]; 1361290650Shselasky u8 reserved_1[0x7]; 1362290650Shselasky u8 page_offset[0x5]; 1363290650Shselasky u8 lwm[0x10]; 1364290650Shselasky 1365290650Shselasky u8 reserved_2[0x8]; 1366290650Shselasky u8 pd[0x18]; 1367290650Shselasky 1368290650Shselasky u8 reserved_3[0x8]; 1369290650Shselasky u8 uar_page[0x18]; 1370290650Shselasky 1371290650Shselasky u8 dbr_addr[0x40]; 1372290650Shselasky 1373290650Shselasky u8 hw_counter[0x20]; 1374290650Shselasky 1375290650Shselasky u8 sw_counter[0x20]; 1376290650Shselasky 1377290650Shselasky u8 reserved_4[0xc]; 1378290650Shselasky u8 log_wq_stride[0x4]; 1379290650Shselasky u8 reserved_5[0x3]; 1380290650Shselasky u8 log_wq_pg_sz[0x5]; 1381290650Shselasky u8 reserved_6[0x3]; 1382290650Shselasky u8 log_wq_sz[0x5]; 1383290650Shselasky 1384290650Shselasky u8 reserved_7[0x15]; 1385290650Shselasky u8 single_wqe_log_num_of_strides[0x3]; 1386290650Shselasky u8 two_byte_shift_en[0x1]; 1387290650Shselasky u8 reserved_8[0x4]; 1388290650Shselasky u8 single_stride_log_num_of_bytes[0x3]; 1389290650Shselasky 1390290650Shselasky u8 reserved_9[0x4c0]; 1391290650Shselasky 1392290650Shselasky struct mlx5_ifc_cmd_pas_bits pas[0]; 1393290650Shselasky}; 1394290650Shselasky 1395290650Shselaskystruct mlx5_ifc_rq_num_bits { 1396290650Shselasky u8 reserved_0[0x8]; 1397290650Shselasky u8 rq_num[0x18]; 1398290650Shselasky}; 1399290650Shselasky 1400290650Shselaskystruct mlx5_ifc_mac_address_layout_bits { 1401290650Shselasky u8 reserved_0[0x10]; 1402290650Shselasky u8 mac_addr_47_32[0x10]; 1403290650Shselasky 1404290650Shselasky u8 mac_addr_31_0[0x20]; 1405290650Shselasky}; 1406290650Shselasky 1407290650Shselaskystruct mlx5_ifc_cong_control_r_roce_ecn_np_bits { 1408290650Shselasky u8 reserved_0[0xa0]; 1409290650Shselasky 1410290650Shselasky u8 min_time_between_cnps[0x20]; 1411290650Shselasky 1412290650Shselasky u8 reserved_1[0x12]; 1413290650Shselasky u8 cnp_dscp[0x6]; 1414290650Shselasky u8 reserved_2[0x4]; 1415290650Shselasky u8 cnp_prio_mode[0x1]; 1416290650Shselasky u8 cnp_802p_prio[0x3]; 1417290650Shselasky 1418290650Shselasky u8 reserved_3[0x720]; 1419290650Shselasky}; 1420290650Shselasky 1421290650Shselaskystruct mlx5_ifc_cong_control_r_roce_ecn_rp_bits { 1422290650Shselasky u8 reserved_0[0x60]; 1423290650Shselasky 1424290650Shselasky u8 reserved_1[0x4]; 1425290650Shselasky u8 clamp_tgt_rate[0x1]; 1426290650Shselasky u8 reserved_2[0x3]; 1427290650Shselasky u8 clamp_tgt_rate_after_time_inc[0x1]; 1428290650Shselasky u8 reserved_3[0x17]; 1429290650Shselasky 1430290650Shselasky u8 reserved_4[0x20]; 1431290650Shselasky 1432290650Shselasky u8 rpg_time_reset[0x20]; 1433290650Shselasky 1434290650Shselasky u8 rpg_byte_reset[0x20]; 1435290650Shselasky 1436290650Shselasky u8 rpg_threshold[0x20]; 1437290650Shselasky 1438290650Shselasky u8 rpg_max_rate[0x20]; 1439290650Shselasky 1440290650Shselasky u8 rpg_ai_rate[0x20]; 1441290650Shselasky 1442290650Shselasky u8 rpg_hai_rate[0x20]; 1443290650Shselasky 1444290650Shselasky u8 rpg_gd[0x20]; 1445290650Shselasky 1446290650Shselasky u8 rpg_min_dec_fac[0x20]; 1447290650Shselasky 1448290650Shselasky u8 rpg_min_rate[0x20]; 1449290650Shselasky 1450290650Shselasky u8 reserved_5[0xe0]; 1451290650Shselasky 1452290650Shselasky u8 rate_to_set_on_first_cnp[0x20]; 1453290650Shselasky 1454290650Shselasky u8 dce_tcp_g[0x20]; 1455290650Shselasky 1456290650Shselasky u8 dce_tcp_rtt[0x20]; 1457290650Shselasky 1458290650Shselasky u8 rate_reduce_monitor_period[0x20]; 1459290650Shselasky 1460290650Shselasky u8 reserved_6[0x20]; 1461290650Shselasky 1462290650Shselasky u8 initial_alpha_value[0x20]; 1463290650Shselasky 1464290650Shselasky u8 reserved_7[0x4a0]; 1465290650Shselasky}; 1466290650Shselasky 1467290650Shselaskystruct mlx5_ifc_cong_control_802_1qau_rp_bits { 1468290650Shselasky u8 reserved_0[0x80]; 1469290650Shselasky 1470290650Shselasky u8 rppp_max_rps[0x20]; 1471290650Shselasky 1472290650Shselasky u8 rpg_time_reset[0x20]; 1473290650Shselasky 1474290650Shselasky u8 rpg_byte_reset[0x20]; 1475290650Shselasky 1476290650Shselasky u8 rpg_threshold[0x20]; 1477290650Shselasky 1478290650Shselasky u8 rpg_max_rate[0x20]; 1479290650Shselasky 1480290650Shselasky u8 rpg_ai_rate[0x20]; 1481290650Shselasky 1482290650Shselasky u8 rpg_hai_rate[0x20]; 1483290650Shselasky 1484290650Shselasky u8 rpg_gd[0x20]; 1485290650Shselasky 1486290650Shselasky u8 rpg_min_dec_fac[0x20]; 1487290650Shselasky 1488290650Shselasky u8 rpg_min_rate[0x20]; 1489290650Shselasky 1490290650Shselasky u8 reserved_1[0x640]; 1491290650Shselasky}; 1492290650Shselasky 1493290650Shselaskyenum { 1494290650Shselasky MLX5_RESIZE_FIELD_SELECT_RESIZE_FIELD_SELECT_LOG_CQ_SIZE = 0x1, 1495290650Shselasky MLX5_RESIZE_FIELD_SELECT_RESIZE_FIELD_SELECT_PAGE_OFFSET = 0x2, 1496290650Shselasky MLX5_RESIZE_FIELD_SELECT_RESIZE_FIELD_SELECT_LOG_PAGE_SIZE = 0x4, 1497290650Shselasky}; 1498290650Shselasky 1499290650Shselaskystruct mlx5_ifc_resize_field_select_bits { 1500290650Shselasky u8 resize_field_select[0x20]; 1501290650Shselasky}; 1502290650Shselasky 1503290650Shselaskyenum { 1504290650Shselasky MLX5_MODIFY_FIELD_SELECT_MODIFY_FIELD_SELECT_CQ_PERIOD = 0x1, 1505290650Shselasky MLX5_MODIFY_FIELD_SELECT_MODIFY_FIELD_SELECT_CQ_MAX_COUNT = 0x2, 1506290650Shselasky MLX5_MODIFY_FIELD_SELECT_MODIFY_FIELD_SELECT_OI = 0x4, 1507290650Shselasky MLX5_MODIFY_FIELD_SELECT_MODIFY_FIELD_SELECT_C_EQN = 0x8, 1508321992Shselasky MLX5_MODIFY_FIELD_SELECT_MODIFY_FIELD_SELECT_CQ_PERIOD_MODE = 0x10, 1509321992Shselasky MLX5_MODIFY_FIELD_SELECT_MODIFY_FIELD_SELECT_STATUS = 0x20, 1510290650Shselasky}; 1511290650Shselasky 1512290650Shselaskystruct mlx5_ifc_modify_field_select_bits { 1513290650Shselasky u8 modify_field_select[0x20]; 1514290650Shselasky}; 1515290650Shselasky 1516290650Shselaskystruct mlx5_ifc_field_select_r_roce_np_bits { 1517290650Shselasky u8 field_select_r_roce_np[0x20]; 1518290650Shselasky}; 1519290650Shselasky 1520290650Shselaskyenum { 1521290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_CLAMP_TGT_RATE = 0x2, 1522290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_CLAMP_TGT_RATE_AFTER_TIME_INC = 0x4, 1523290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_RPG_TIME_RESET = 0x8, 1524290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_RPG_BYTE_RESET = 0x10, 1525290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_RPG_THRESHOLD = 0x20, 1526290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_RPG_MAX_RATE = 0x40, 1527290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_RPG_AI_RATE = 0x80, 1528290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_RPG_HAI_RATE = 0x100, 1529290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_RPG_MIN_DEC_FAC = 0x200, 1530290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_RPG_MIN_RATE = 0x400, 1531290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_RATE_TO_SET_ON_FIRST_CNP = 0x800, 1532290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_DCE_TCP_G = 0x1000, 1533290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_DCE_TCP_RTT = 0x2000, 1534290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_RATE_REDUCE_MONITOR_PERIOD = 0x4000, 1535290650Shselasky MLX5_FIELD_SELECT_R_ROCE_RP_FIELD_SELECT_R_ROCE_RP_INITIAL_ALPHA_VALUE = 0x8000, 1536290650Shselasky}; 1537290650Shselasky 1538290650Shselaskystruct mlx5_ifc_field_select_r_roce_rp_bits { 1539290650Shselasky u8 field_select_r_roce_rp[0x20]; 1540290650Shselasky}; 1541290650Shselasky 1542290650Shselaskyenum { 1543290650Shselasky MLX5_FIELD_SELECT_802_1QAU_RP_FIELD_SELECT_8021QAURP_RPPP_MAX_RPS = 0x4, 1544290650Shselasky MLX5_FIELD_SELECT_802_1QAU_RP_FIELD_SELECT_8021QAURP_RPG_TIME_RESET = 0x8, 1545290650Shselasky MLX5_FIELD_SELECT_802_1QAU_RP_FIELD_SELECT_8021QAURP_RPG_BYTE_RESET = 0x10, 1546290650Shselasky MLX5_FIELD_SELECT_802_1QAU_RP_FIELD_SELECT_8021QAURP_RPG_THRESHOLD = 0x20, 1547290650Shselasky MLX5_FIELD_SELECT_802_1QAU_RP_FIELD_SELECT_8021QAURP_RPG_MAX_RATE = 0x40, 1548290650Shselasky MLX5_FIELD_SELECT_802_1QAU_RP_FIELD_SELECT_8021QAURP_RPG_AI_RATE = 0x80, 1549290650Shselasky MLX5_FIELD_SELECT_802_1QAU_RP_FIELD_SELECT_8021QAURP_RPG_HAI_RATE = 0x100, 1550290650Shselasky MLX5_FIELD_SELECT_802_1QAU_RP_FIELD_SELECT_8021QAURP_RPG_GD = 0x200, 1551290650Shselasky MLX5_FIELD_SELECT_802_1QAU_RP_FIELD_SELECT_8021QAURP_RPG_MIN_DEC_FAC = 0x400, 1552290650Shselasky MLX5_FIELD_SELECT_802_1QAU_RP_FIELD_SELECT_8021QAURP_RPG_MIN_RATE = 0x800, 1553290650Shselasky}; 1554290650Shselasky 1555290650Shselaskystruct mlx5_ifc_field_select_802_1qau_rp_bits { 1556290650Shselasky u8 field_select_8021qaurp[0x20]; 1557290650Shselasky}; 1558290650Shselasky 1559306233Shselaskystruct mlx5_ifc_pptb_reg_bits { 1560306233Shselasky u8 reserved_0[0x2]; 1561306233Shselasky u8 mm[0x2]; 1562306233Shselasky u8 reserved_1[0x4]; 1563306233Shselasky u8 local_port[0x8]; 1564306233Shselasky u8 reserved_2[0x6]; 1565306233Shselasky u8 cm[0x1]; 1566306233Shselasky u8 um[0x1]; 1567306233Shselasky u8 pm[0x8]; 1568306233Shselasky 1569306233Shselasky u8 prio7buff[0x4]; 1570306233Shselasky u8 prio6buff[0x4]; 1571306233Shselasky u8 prio5buff[0x4]; 1572306233Shselasky u8 prio4buff[0x4]; 1573306233Shselasky u8 prio3buff[0x4]; 1574306233Shselasky u8 prio2buff[0x4]; 1575306233Shselasky u8 prio1buff[0x4]; 1576306233Shselasky u8 prio0buff[0x4]; 1577306233Shselasky 1578306233Shselasky u8 pm_msb[0x8]; 1579306233Shselasky u8 reserved_3[0x10]; 1580306233Shselasky u8 ctrl_buff[0x4]; 1581306233Shselasky u8 untagged_buff[0x4]; 1582306233Shselasky}; 1583306233Shselasky 1584306233Shselaskystruct mlx5_ifc_dcbx_app_reg_bits { 1585306233Shselasky u8 reserved_0[0x8]; 1586306233Shselasky u8 port_number[0x8]; 1587306233Shselasky u8 reserved_1[0x10]; 1588306233Shselasky 1589306233Shselasky u8 reserved_2[0x1a]; 1590306233Shselasky u8 num_app_prio[0x6]; 1591306233Shselasky 1592306233Shselasky u8 reserved_3[0x40]; 1593306233Shselasky 1594306233Shselasky struct mlx5_ifc_application_prio_entry_bits app_prio[0]; 1595306233Shselasky}; 1596306233Shselasky 1597306233Shselaskystruct mlx5_ifc_dcbx_param_reg_bits { 1598306233Shselasky u8 dcbx_cee_cap[0x1]; 1599306233Shselasky u8 dcbx_ieee_cap[0x1]; 1600306233Shselasky u8 dcbx_standby_cap[0x1]; 1601306233Shselasky u8 reserved_0[0x5]; 1602306233Shselasky u8 port_number[0x8]; 1603306233Shselasky u8 reserved_1[0xa]; 1604306233Shselasky u8 max_application_table_size[0x6]; 1605306233Shselasky 1606306233Shselasky u8 reserved_2[0x15]; 1607306233Shselasky u8 version_oper[0x3]; 1608306233Shselasky u8 reserved_3[0x5]; 1609306233Shselasky u8 version_admin[0x3]; 1610306233Shselasky 1611306233Shselasky u8 willing_admin[0x1]; 1612306233Shselasky u8 reserved_4[0x3]; 1613306233Shselasky u8 pfc_cap_oper[0x4]; 1614306233Shselasky u8 reserved_5[0x4]; 1615306233Shselasky u8 pfc_cap_admin[0x4]; 1616306233Shselasky u8 reserved_6[0x4]; 1617306233Shselasky u8 num_of_tc_oper[0x4]; 1618306233Shselasky u8 reserved_7[0x4]; 1619306233Shselasky u8 num_of_tc_admin[0x4]; 1620306233Shselasky 1621306233Shselasky u8 remote_willing[0x1]; 1622306233Shselasky u8 reserved_8[0x3]; 1623306233Shselasky u8 remote_pfc_cap[0x4]; 1624306233Shselasky u8 reserved_9[0x14]; 1625306233Shselasky u8 remote_num_of_tc[0x4]; 1626306233Shselasky 1627306233Shselasky u8 reserved_10[0x18]; 1628306233Shselasky u8 error[0x8]; 1629306233Shselasky 1630306233Shselasky u8 reserved_11[0x160]; 1631306233Shselasky}; 1632306233Shselasky 1633308678Shselaskystruct mlx5_ifc_qhll_bits { 1634308678Shselasky u8 reserved_at_0[0x8]; 1635308678Shselasky u8 local_port[0x8]; 1636308678Shselasky u8 reserved_at_10[0x10]; 1637308678Shselasky 1638308678Shselasky u8 reserved_at_20[0x1b]; 1639308678Shselasky u8 hll_time[0x5]; 1640308678Shselasky 1641308678Shselasky u8 stall_en[0x1]; 1642308678Shselasky u8 reserved_at_41[0x1c]; 1643308678Shselasky u8 stall_cnt[0x3]; 1644308678Shselasky}; 1645308678Shselasky 1646306233Shselaskystruct mlx5_ifc_qetcr_reg_bits { 1647306233Shselasky u8 operation_type[0x2]; 1648306233Shselasky u8 cap_local_admin[0x1]; 1649306233Shselasky u8 cap_remote_admin[0x1]; 1650306233Shselasky u8 reserved_0[0x4]; 1651306233Shselasky u8 port_number[0x8]; 1652306233Shselasky u8 reserved_1[0x10]; 1653306233Shselasky 1654306233Shselasky u8 reserved_2[0x20]; 1655306233Shselasky 1656306233Shselasky u8 tc[8][0x40]; 1657306233Shselasky 1658306233Shselasky u8 global_configuration[0x40]; 1659306233Shselasky}; 1660306233Shselasky 1661290650Shselaskystruct mlx5_ifc_nodnic_ring_config_reg_bits { 1662290650Shselasky u8 queue_address_63_32[0x20]; 1663290650Shselasky 1664290650Shselasky u8 queue_address_31_12[0x14]; 1665290650Shselasky u8 reserved_0[0x6]; 1666290650Shselasky u8 log_size[0x6]; 1667290650Shselasky 1668290650Shselasky struct mlx5_ifc_nodnic_ring_doorbell_bits doorbell; 1669290650Shselasky 1670290650Shselasky u8 reserved_1[0x8]; 1671290650Shselasky u8 queue_number[0x18]; 1672290650Shselasky 1673290650Shselasky u8 q_key[0x20]; 1674290650Shselasky 1675290650Shselasky u8 reserved_2[0x10]; 1676290650Shselasky u8 pkey_index[0x10]; 1677290650Shselasky 1678290650Shselasky u8 reserved_3[0x40]; 1679290650Shselasky}; 1680290650Shselasky 1681290650Shselaskystruct mlx5_ifc_nodnic_cq_arming_word_bits { 1682290650Shselasky u8 reserved_0[0x8]; 1683290650Shselasky u8 cq_ci[0x10]; 1684290650Shselasky u8 reserved_1[0x8]; 1685290650Shselasky}; 1686290650Shselasky 1687290650Shselaskyenum { 1688290650Shselasky MLX5_NODNIC_EVENT_WORD_LINK_TYPE_INFINIBAND = 0x0, 1689290650Shselasky MLX5_NODNIC_EVENT_WORD_LINK_TYPE_ETHERNET = 0x1, 1690290650Shselasky}; 1691290650Shselasky 1692290650Shselaskyenum { 1693290650Shselasky MLX5_NODNIC_EVENT_WORD_PORT_STATE_DOWN = 0x0, 1694290650Shselasky MLX5_NODNIC_EVENT_WORD_PORT_STATE_INITIALIZE = 0x1, 1695290650Shselasky MLX5_NODNIC_EVENT_WORD_PORT_STATE_ARMED = 0x2, 1696290650Shselasky MLX5_NODNIC_EVENT_WORD_PORT_STATE_ACTIVE = 0x3, 1697290650Shselasky}; 1698290650Shselasky 1699290650Shselaskystruct mlx5_ifc_nodnic_event_word_bits { 1700290650Shselasky u8 driver_reset_needed[0x1]; 1701290650Shselasky u8 port_management_change_event[0x1]; 1702290650Shselasky u8 reserved_0[0x19]; 1703290650Shselasky u8 link_type[0x1]; 1704290650Shselasky u8 port_state[0x4]; 1705290650Shselasky}; 1706290650Shselasky 1707290650Shselaskystruct mlx5_ifc_nic_vport_change_event_bits { 1708290650Shselasky u8 reserved_0[0x10]; 1709290650Shselasky u8 vport_num[0x10]; 1710290650Shselasky 1711290650Shselasky u8 reserved_1[0xc0]; 1712290650Shselasky}; 1713290650Shselasky 1714290650Shselaskystruct mlx5_ifc_pages_req_event_bits { 1715290650Shselasky u8 reserved_0[0x10]; 1716290650Shselasky u8 function_id[0x10]; 1717290650Shselasky 1718290650Shselasky u8 num_pages[0x20]; 1719290650Shselasky 1720290650Shselasky u8 reserved_1[0xa0]; 1721290650Shselasky}; 1722290650Shselasky 1723290650Shselaskystruct mlx5_ifc_cmd_inter_comp_event_bits { 1724290650Shselasky u8 command_completion_vector[0x20]; 1725290650Shselasky 1726290650Shselasky u8 reserved_0[0xc0]; 1727290650Shselasky}; 1728290650Shselasky 1729290650Shselaskystruct mlx5_ifc_stall_vl_event_bits { 1730290650Shselasky u8 reserved_0[0x18]; 1731290650Shselasky u8 port_num[0x1]; 1732290650Shselasky u8 reserved_1[0x3]; 1733290650Shselasky u8 vl[0x4]; 1734290650Shselasky 1735290650Shselasky u8 reserved_2[0xa0]; 1736290650Shselasky}; 1737290650Shselasky 1738290650Shselaskystruct mlx5_ifc_db_bf_congestion_event_bits { 1739290650Shselasky u8 event_subtype[0x8]; 1740290650Shselasky u8 reserved_0[0x8]; 1741290650Shselasky u8 congestion_level[0x8]; 1742290650Shselasky u8 reserved_1[0x8]; 1743290650Shselasky 1744290650Shselasky u8 reserved_2[0xa0]; 1745290650Shselasky}; 1746290650Shselasky 1747290650Shselaskystruct mlx5_ifc_gpio_event_bits { 1748290650Shselasky u8 reserved_0[0x60]; 1749290650Shselasky 1750290650Shselasky u8 gpio_event_hi[0x20]; 1751290650Shselasky 1752290650Shselasky u8 gpio_event_lo[0x20]; 1753290650Shselasky 1754290650Shselasky u8 reserved_1[0x40]; 1755290650Shselasky}; 1756290650Shselasky 1757290650Shselaskystruct mlx5_ifc_port_state_change_event_bits { 1758290650Shselasky u8 reserved_0[0x40]; 1759290650Shselasky 1760290650Shselasky u8 port_num[0x4]; 1761290650Shselasky u8 reserved_1[0x1c]; 1762290650Shselasky 1763290650Shselasky u8 reserved_2[0x80]; 1764290650Shselasky}; 1765290650Shselasky 1766290650Shselaskystruct mlx5_ifc_dropped_packet_logged_bits { 1767290650Shselasky u8 reserved_0[0xe0]; 1768290650Shselasky}; 1769290650Shselasky 1770290650Shselaskyenum { 1771290650Shselasky MLX5_CQ_ERROR_SYNDROME_CQ_OVERRUN = 0x1, 1772290650Shselasky MLX5_CQ_ERROR_SYNDROME_CQ_ACCESS_VIOLATION_ERROR = 0x2, 1773290650Shselasky}; 1774290650Shselasky 1775290650Shselaskystruct mlx5_ifc_cq_error_bits { 1776290650Shselasky u8 reserved_0[0x8]; 1777290650Shselasky u8 cqn[0x18]; 1778290650Shselasky 1779290650Shselasky u8 reserved_1[0x20]; 1780290650Shselasky 1781290650Shselasky u8 reserved_2[0x18]; 1782290650Shselasky u8 syndrome[0x8]; 1783290650Shselasky 1784290650Shselasky u8 reserved_3[0x80]; 1785290650Shselasky}; 1786290650Shselasky 1787290650Shselaskystruct mlx5_ifc_rdma_page_fault_event_bits { 1788290650Shselasky u8 bytes_commited[0x20]; 1789290650Shselasky 1790290650Shselasky u8 r_key[0x20]; 1791290650Shselasky 1792290650Shselasky u8 reserved_0[0x10]; 1793290650Shselasky u8 packet_len[0x10]; 1794290650Shselasky 1795290650Shselasky u8 rdma_op_len[0x20]; 1796290650Shselasky 1797290650Shselasky u8 rdma_va[0x40]; 1798290650Shselasky 1799290650Shselasky u8 reserved_1[0x5]; 1800290650Shselasky u8 rdma[0x1]; 1801290650Shselasky u8 write[0x1]; 1802290650Shselasky u8 requestor[0x1]; 1803290650Shselasky u8 qp_number[0x18]; 1804290650Shselasky}; 1805290650Shselasky 1806290650Shselaskystruct mlx5_ifc_wqe_associated_page_fault_event_bits { 1807290650Shselasky u8 bytes_committed[0x20]; 1808290650Shselasky 1809290650Shselasky u8 reserved_0[0x10]; 1810290650Shselasky u8 wqe_index[0x10]; 1811290650Shselasky 1812290650Shselasky u8 reserved_1[0x10]; 1813290650Shselasky u8 len[0x10]; 1814290650Shselasky 1815290650Shselasky u8 reserved_2[0x60]; 1816290650Shselasky 1817290650Shselasky u8 reserved_3[0x5]; 1818290650Shselasky u8 rdma[0x1]; 1819290650Shselasky u8 write_read[0x1]; 1820290650Shselasky u8 requestor[0x1]; 1821290650Shselasky u8 qpn[0x18]; 1822290650Shselasky}; 1823290650Shselasky 1824290650Shselaskyenum { 1825290650Shselasky MLX5_QP_EVENTS_TYPE_QP = 0x0, 1826290650Shselasky MLX5_QP_EVENTS_TYPE_RQ = 0x1, 1827290650Shselasky MLX5_QP_EVENTS_TYPE_SQ = 0x2, 1828290650Shselasky}; 1829290650Shselasky 1830290650Shselaskystruct mlx5_ifc_qp_events_bits { 1831290650Shselasky u8 reserved_0[0xa0]; 1832290650Shselasky 1833290650Shselasky u8 type[0x8]; 1834290650Shselasky u8 reserved_1[0x18]; 1835290650Shselasky 1836290650Shselasky u8 reserved_2[0x8]; 1837290650Shselasky u8 qpn_rqn_sqn[0x18]; 1838290650Shselasky}; 1839290650Shselasky 1840290650Shselaskystruct mlx5_ifc_dct_events_bits { 1841290650Shselasky u8 reserved_0[0xc0]; 1842290650Shselasky 1843290650Shselasky u8 reserved_1[0x8]; 1844290650Shselasky u8 dct_number[0x18]; 1845290650Shselasky}; 1846290650Shselasky 1847290650Shselaskystruct mlx5_ifc_comp_event_bits { 1848290650Shselasky u8 reserved_0[0xc0]; 1849290650Shselasky 1850290650Shselasky u8 reserved_1[0x8]; 1851290650Shselasky u8 cq_number[0x18]; 1852290650Shselasky}; 1853290650Shselasky 1854290650Shselaskystruct mlx5_ifc_fw_version_bits { 1855290650Shselasky u8 major[0x10]; 1856290650Shselasky u8 reserved_0[0x10]; 1857290650Shselasky 1858290650Shselasky u8 minor[0x10]; 1859290650Shselasky u8 subminor[0x10]; 1860290650Shselasky 1861290650Shselasky u8 second[0x8]; 1862290650Shselasky u8 minute[0x8]; 1863290650Shselasky u8 hour[0x8]; 1864290650Shselasky u8 reserved_1[0x8]; 1865290650Shselasky 1866290650Shselasky u8 year[0x10]; 1867290650Shselasky u8 month[0x8]; 1868290650Shselasky u8 day[0x8]; 1869290650Shselasky}; 1870290650Shselasky 1871290650Shselaskyenum { 1872290650Shselasky MLX5_QPC_STATE_RST = 0x0, 1873290650Shselasky MLX5_QPC_STATE_INIT = 0x1, 1874290650Shselasky MLX5_QPC_STATE_RTR = 0x2, 1875290650Shselasky MLX5_QPC_STATE_RTS = 0x3, 1876290650Shselasky MLX5_QPC_STATE_SQER = 0x4, 1877290650Shselasky MLX5_QPC_STATE_SQD = 0x5, 1878290650Shselasky MLX5_QPC_STATE_ERR = 0x6, 1879290650Shselasky MLX5_QPC_STATE_SUSPENDED = 0x9, 1880290650Shselasky}; 1881290650Shselasky 1882290650Shselaskyenum { 1883290650Shselasky MLX5_QPC_ST_RC = 0x0, 1884290650Shselasky MLX5_QPC_ST_UC = 0x1, 1885290650Shselasky MLX5_QPC_ST_UD = 0x2, 1886290650Shselasky MLX5_QPC_ST_XRC = 0x3, 1887290650Shselasky MLX5_QPC_ST_DCI = 0x5, 1888290650Shselasky MLX5_QPC_ST_QP0 = 0x7, 1889290650Shselasky MLX5_QPC_ST_QP1 = 0x8, 1890290650Shselasky MLX5_QPC_ST_RAW_DATAGRAM = 0x9, 1891290650Shselasky MLX5_QPC_ST_REG_UMR = 0xc, 1892290650Shselasky}; 1893290650Shselasky 1894290650Shselaskyenum { 1895290650Shselasky MLX5_QP_PM_ARMED = 0x0, 1896290650Shselasky MLX5_QP_PM_REARM = 0x1, 1897290650Shselasky MLX5_QPC_PM_STATE_RESERVED = 0x2, 1898290650Shselasky MLX5_QP_PM_MIGRATED = 0x3, 1899290650Shselasky}; 1900290650Shselasky 1901290650Shselaskyenum { 1902290650Shselasky MLX5_QPC_END_PADDING_MODE_SCATTER_AS_IS = 0x0, 1903290650Shselasky MLX5_QPC_END_PADDING_MODE_PAD_TO_CACHE_LINE_ALIGNMENT = 0x1, 1904290650Shselasky}; 1905290650Shselasky 1906290650Shselaskyenum { 1907290650Shselasky MLX5_QPC_MTU_256_BYTES = 0x1, 1908290650Shselasky MLX5_QPC_MTU_512_BYTES = 0x2, 1909290650Shselasky MLX5_QPC_MTU_1K_BYTES = 0x3, 1910290650Shselasky MLX5_QPC_MTU_2K_BYTES = 0x4, 1911290650Shselasky MLX5_QPC_MTU_4K_BYTES = 0x5, 1912290650Shselasky MLX5_QPC_MTU_RAW_ETHERNET_QP = 0x7, 1913290650Shselasky}; 1914290650Shselasky 1915290650Shselaskyenum { 1916290650Shselasky MLX5_QPC_ATOMIC_MODE_IB_SPEC = 0x1, 1917290650Shselasky MLX5_QPC_ATOMIC_MODE_ONLY_8B = 0x2, 1918290650Shselasky MLX5_QPC_ATOMIC_MODE_UP_TO_8B = 0x3, 1919290650Shselasky MLX5_QPC_ATOMIC_MODE_UP_TO_16B = 0x4, 1920290650Shselasky MLX5_QPC_ATOMIC_MODE_UP_TO_32B = 0x5, 1921290650Shselasky MLX5_QPC_ATOMIC_MODE_UP_TO_64B = 0x6, 1922290650Shselasky MLX5_QPC_ATOMIC_MODE_UP_TO_128B = 0x7, 1923290650Shselasky MLX5_QPC_ATOMIC_MODE_UP_TO_256B = 0x8, 1924290650Shselasky}; 1925290650Shselasky 1926290650Shselaskyenum { 1927290650Shselasky MLX5_QPC_CS_REQ_DISABLE = 0x0, 1928290650Shselasky MLX5_QPC_CS_REQ_UP_TO_32B = 0x11, 1929290650Shselasky MLX5_QPC_CS_REQ_UP_TO_64B = 0x22, 1930290650Shselasky}; 1931290650Shselasky 1932290650Shselaskyenum { 1933290650Shselasky MLX5_QPC_CS_RES_DISABLE = 0x0, 1934290650Shselasky MLX5_QPC_CS_RES_UP_TO_32B = 0x1, 1935290650Shselasky MLX5_QPC_CS_RES_UP_TO_64B = 0x2, 1936290650Shselasky}; 1937290650Shselasky 1938290650Shselaskystruct mlx5_ifc_qpc_bits { 1939290650Shselasky u8 state[0x4]; 1940329204Shselasky u8 lag_tx_port_affinity[0x4]; 1941290650Shselasky u8 st[0x8]; 1942290650Shselasky u8 reserved_1[0x3]; 1943290650Shselasky u8 pm_state[0x2]; 1944290650Shselasky u8 reserved_2[0x7]; 1945290650Shselasky u8 end_padding_mode[0x2]; 1946290650Shselasky u8 reserved_3[0x2]; 1947290650Shselasky 1948290650Shselasky u8 wq_signature[0x1]; 1949290650Shselasky u8 block_lb_mc[0x1]; 1950290650Shselasky u8 atomic_like_write_en[0x1]; 1951290650Shselasky u8 latency_sensitive[0x1]; 1952290650Shselasky u8 reserved_4[0x1]; 1953290650Shselasky u8 drain_sigerr[0x1]; 1954290650Shselasky u8 reserved_5[0x2]; 1955290650Shselasky u8 pd[0x18]; 1956290650Shselasky 1957290650Shselasky u8 mtu[0x3]; 1958290650Shselasky u8 log_msg_max[0x5]; 1959290650Shselasky u8 reserved_6[0x1]; 1960290650Shselasky u8 log_rq_size[0x4]; 1961290650Shselasky u8 log_rq_stride[0x3]; 1962290650Shselasky u8 no_sq[0x1]; 1963290650Shselasky u8 log_sq_size[0x4]; 1964290650Shselasky u8 reserved_7[0x6]; 1965290650Shselasky u8 rlky[0x1]; 1966306233Shselasky u8 ulp_stateless_offload_mode[0x4]; 1967290650Shselasky 1968290650Shselasky u8 counter_set_id[0x8]; 1969290650Shselasky u8 uar_page[0x18]; 1970290650Shselasky 1971306233Shselasky u8 reserved_8[0x8]; 1972290650Shselasky u8 user_index[0x18]; 1973290650Shselasky 1974306233Shselasky u8 reserved_9[0x3]; 1975290650Shselasky u8 log_page_size[0x5]; 1976290650Shselasky u8 remote_qpn[0x18]; 1977290650Shselasky 1978290650Shselasky struct mlx5_ifc_ads_bits primary_address_path; 1979290650Shselasky 1980290650Shselasky struct mlx5_ifc_ads_bits secondary_address_path; 1981290650Shselasky 1982290650Shselasky u8 log_ack_req_freq[0x4]; 1983306233Shselasky u8 reserved_10[0x4]; 1984290650Shselasky u8 log_sra_max[0x3]; 1985306233Shselasky u8 reserved_11[0x2]; 1986290650Shselasky u8 retry_count[0x3]; 1987290650Shselasky u8 rnr_retry[0x3]; 1988306233Shselasky u8 reserved_12[0x1]; 1989290650Shselasky u8 fre[0x1]; 1990290650Shselasky u8 cur_rnr_retry[0x3]; 1991290650Shselasky u8 cur_retry_count[0x3]; 1992306233Shselasky u8 reserved_13[0x5]; 1993290650Shselasky 1994306233Shselasky u8 reserved_14[0x20]; 1995290650Shselasky 1996306233Shselasky u8 reserved_15[0x8]; 1997290650Shselasky u8 next_send_psn[0x18]; 1998290650Shselasky 1999306233Shselasky u8 reserved_16[0x8]; 2000290650Shselasky u8 cqn_snd[0x18]; 2001290650Shselasky 2002329204Shselasky u8 reserved_at_400[0x8]; 2003290650Shselasky 2004329204Shselasky u8 deth_sqpn[0x18]; 2005329204Shselasky u8 reserved_17[0x20]; 2006329204Shselasky 2007306233Shselasky u8 reserved_18[0x8]; 2008290650Shselasky u8 last_acked_psn[0x18]; 2009290650Shselasky 2010306233Shselasky u8 reserved_19[0x8]; 2011290650Shselasky u8 ssn[0x18]; 2012290650Shselasky 2013306233Shselasky u8 reserved_20[0x8]; 2014290650Shselasky u8 log_rra_max[0x3]; 2015306233Shselasky u8 reserved_21[0x1]; 2016290650Shselasky u8 atomic_mode[0x4]; 2017290650Shselasky u8 rre[0x1]; 2018290650Shselasky u8 rwe[0x1]; 2019290650Shselasky u8 rae[0x1]; 2020306233Shselasky u8 reserved_22[0x1]; 2021290650Shselasky u8 page_offset[0x6]; 2022306233Shselasky u8 reserved_23[0x3]; 2023290650Shselasky u8 cd_slave_receive[0x1]; 2024290650Shselasky u8 cd_slave_send[0x1]; 2025290650Shselasky u8 cd_master[0x1]; 2026290650Shselasky 2027306233Shselasky u8 reserved_24[0x3]; 2028290650Shselasky u8 min_rnr_nak[0x5]; 2029290650Shselasky u8 next_rcv_psn[0x18]; 2030290650Shselasky 2031306233Shselasky u8 reserved_25[0x8]; 2032290650Shselasky u8 xrcd[0x18]; 2033290650Shselasky 2034306233Shselasky u8 reserved_26[0x8]; 2035290650Shselasky u8 cqn_rcv[0x18]; 2036290650Shselasky 2037290650Shselasky u8 dbr_addr[0x40]; 2038290650Shselasky 2039290650Shselasky u8 q_key[0x20]; 2040290650Shselasky 2041306233Shselasky u8 reserved_27[0x5]; 2042290650Shselasky u8 rq_type[0x3]; 2043290650Shselasky u8 srqn_rmpn[0x18]; 2044290650Shselasky 2045306233Shselasky u8 reserved_28[0x8]; 2046290650Shselasky u8 rmsn[0x18]; 2047290650Shselasky 2048290650Shselasky u8 hw_sq_wqebb_counter[0x10]; 2049290650Shselasky u8 sw_sq_wqebb_counter[0x10]; 2050290650Shselasky 2051290650Shselasky u8 hw_rq_counter[0x20]; 2052290650Shselasky 2053290650Shselasky u8 sw_rq_counter[0x20]; 2054290650Shselasky 2055306233Shselasky u8 reserved_29[0x20]; 2056290650Shselasky 2057306233Shselasky u8 reserved_30[0xf]; 2058290650Shselasky u8 cgs[0x1]; 2059290650Shselasky u8 cs_req[0x8]; 2060290650Shselasky u8 cs_res[0x8]; 2061290650Shselasky 2062290650Shselasky u8 dc_access_key[0x40]; 2063290650Shselasky 2064290650Shselasky u8 rdma_active[0x1]; 2065290650Shselasky u8 comm_est[0x1]; 2066290650Shselasky u8 suspended[0x1]; 2067306233Shselasky u8 reserved_31[0x5]; 2068290650Shselasky u8 send_msg_psn[0x18]; 2069290650Shselasky 2070306233Shselasky u8 reserved_32[0x8]; 2071290650Shselasky u8 rcv_msg_psn[0x18]; 2072290650Shselasky 2073290650Shselasky u8 rdma_va[0x40]; 2074290650Shselasky 2075290650Shselasky u8 rdma_key[0x20]; 2076290650Shselasky 2077306233Shselasky u8 reserved_33[0x20]; 2078290650Shselasky}; 2079290650Shselasky 2080290650Shselaskystruct mlx5_ifc_roce_addr_layout_bits { 2081290650Shselasky u8 source_l3_address[16][0x8]; 2082290650Shselasky 2083290650Shselasky u8 reserved_0[0x3]; 2084290650Shselasky u8 vlan_valid[0x1]; 2085290650Shselasky u8 vlan_id[0xc]; 2086290650Shselasky u8 source_mac_47_32[0x10]; 2087290650Shselasky 2088290650Shselasky u8 source_mac_31_0[0x20]; 2089290650Shselasky 2090290650Shselasky u8 reserved_1[0x14]; 2091290650Shselasky u8 roce_l3_type[0x4]; 2092290650Shselasky u8 roce_version[0x8]; 2093290650Shselasky 2094290650Shselasky u8 reserved_2[0x20]; 2095290650Shselasky}; 2096290650Shselasky 2097290650Shselaskystruct mlx5_ifc_rdbc_bits { 2098290650Shselasky u8 reserved_0[0x1c]; 2099290650Shselasky u8 type[0x4]; 2100290650Shselasky 2101290650Shselasky u8 reserved_1[0x20]; 2102290650Shselasky 2103290650Shselasky u8 reserved_2[0x8]; 2104290650Shselasky u8 psn[0x18]; 2105290650Shselasky 2106290650Shselasky u8 rkey[0x20]; 2107290650Shselasky 2108290650Shselasky u8 address[0x40]; 2109290650Shselasky 2110290650Shselasky u8 byte_count[0x20]; 2111290650Shselasky 2112290650Shselasky u8 reserved_3[0x20]; 2113290650Shselasky 2114290650Shselasky u8 atomic_resp[32][0x8]; 2115290650Shselasky}; 2116290650Shselasky 2117290650Shselaskyenum { 2118290650Shselasky MLX5_FLOW_CONTEXT_ACTION_ALLOW = 0x1, 2119290650Shselasky MLX5_FLOW_CONTEXT_ACTION_DROP = 0x2, 2120290650Shselasky MLX5_FLOW_CONTEXT_ACTION_FWD_DEST = 0x4, 2121290650Shselasky MLX5_FLOW_CONTEXT_ACTION_COUNT = 0x8, 2122290650Shselasky}; 2123290650Shselasky 2124290650Shselaskystruct mlx5_ifc_flow_context_bits { 2125290650Shselasky u8 reserved_0[0x20]; 2126290650Shselasky 2127290650Shselasky u8 group_id[0x20]; 2128290650Shselasky 2129290650Shselasky u8 reserved_1[0x8]; 2130290650Shselasky u8 flow_tag[0x18]; 2131290650Shselasky 2132290650Shselasky u8 reserved_2[0x10]; 2133290650Shselasky u8 action[0x10]; 2134290650Shselasky 2135290650Shselasky u8 reserved_3[0x8]; 2136290650Shselasky u8 destination_list_size[0x18]; 2137290650Shselasky 2138290650Shselasky u8 reserved_4[0x8]; 2139290650Shselasky u8 flow_counter_list_size[0x18]; 2140290650Shselasky 2141290650Shselasky u8 reserved_5[0x140]; 2142290650Shselasky 2143290650Shselasky struct mlx5_ifc_fte_match_param_bits match_value; 2144290650Shselasky 2145290650Shselasky u8 reserved_6[0x600]; 2146290650Shselasky 2147290650Shselasky union mlx5_ifc_dest_format_struct_flow_counter_list_auto_bits destination[0]; 2148290650Shselasky}; 2149290650Shselasky 2150290650Shselaskyenum { 2151290650Shselasky MLX5_XRC_SRQC_STATE_GOOD = 0x0, 2152290650Shselasky MLX5_XRC_SRQC_STATE_ERROR = 0x1, 2153290650Shselasky}; 2154290650Shselasky 2155290650Shselaskystruct mlx5_ifc_xrc_srqc_bits { 2156290650Shselasky u8 state[0x4]; 2157290650Shselasky u8 log_xrc_srq_size[0x4]; 2158290650Shselasky u8 reserved_0[0x18]; 2159290650Shselasky 2160290650Shselasky u8 wq_signature[0x1]; 2161290650Shselasky u8 cont_srq[0x1]; 2162290650Shselasky u8 reserved_1[0x1]; 2163290650Shselasky u8 rlky[0x1]; 2164290650Shselasky u8 basic_cyclic_rcv_wqe[0x1]; 2165290650Shselasky u8 log_rq_stride[0x3]; 2166290650Shselasky u8 xrcd[0x18]; 2167290650Shselasky 2168290650Shselasky u8 page_offset[0x6]; 2169290650Shselasky u8 reserved_2[0x2]; 2170290650Shselasky u8 cqn[0x18]; 2171290650Shselasky 2172290650Shselasky u8 reserved_3[0x20]; 2173290650Shselasky 2174290650Shselasky u8 reserved_4[0x2]; 2175290650Shselasky u8 log_page_size[0x6]; 2176290650Shselasky u8 user_index[0x18]; 2177290650Shselasky 2178290650Shselasky u8 reserved_5[0x20]; 2179290650Shselasky 2180290650Shselasky u8 reserved_6[0x8]; 2181290650Shselasky u8 pd[0x18]; 2182290650Shselasky 2183290650Shselasky u8 lwm[0x10]; 2184290650Shselasky u8 wqe_cnt[0x10]; 2185290650Shselasky 2186290650Shselasky u8 reserved_7[0x40]; 2187290650Shselasky 2188290650Shselasky u8 db_record_addr_h[0x20]; 2189290650Shselasky 2190290650Shselasky u8 db_record_addr_l[0x1e]; 2191290650Shselasky u8 reserved_8[0x2]; 2192290650Shselasky 2193290650Shselasky u8 reserved_9[0x80]; 2194290650Shselasky}; 2195290650Shselasky 2196347850Shselaskystruct mlx5_ifc_vnic_diagnostic_statistics_bits { 2197347850Shselasky u8 counter_error_queues[0x20]; 2198347850Shselasky 2199347850Shselasky u8 total_error_queues[0x20]; 2200347850Shselasky 2201347850Shselasky u8 send_queue_priority_update_flow[0x20]; 2202347850Shselasky 2203347850Shselasky u8 reserved_at_60[0x20]; 2204347850Shselasky 2205347850Shselasky u8 nic_receive_steering_discard[0x40]; 2206347850Shselasky 2207347850Shselasky u8 receive_discard_vport_down[0x40]; 2208347850Shselasky 2209347850Shselasky u8 transmit_discard_vport_down[0x40]; 2210347850Shselasky 2211347850Shselasky u8 reserved_at_140[0xec0]; 2212347850Shselasky}; 2213347850Shselasky 2214290650Shselaskystruct mlx5_ifc_traffic_counter_bits { 2215290650Shselasky u8 packets[0x40]; 2216290650Shselasky 2217290650Shselasky u8 octets[0x40]; 2218290650Shselasky}; 2219290650Shselasky 2220290650Shselaskystruct mlx5_ifc_tisc_bits { 2221329204Shselasky u8 strict_lag_tx_port_affinity[0x1]; 2222329204Shselasky u8 reserved_at_1[0x3]; 2223329204Shselasky u8 lag_tx_port_affinity[0x04]; 2224329204Shselasky 2225329204Shselasky u8 reserved_at_8[0x4]; 2226290650Shselasky u8 prio[0x4]; 2227290650Shselasky u8 reserved_1[0x10]; 2228290650Shselasky 2229290650Shselasky u8 reserved_2[0x100]; 2230290650Shselasky 2231290650Shselasky u8 reserved_3[0x8]; 2232290650Shselasky u8 transport_domain[0x18]; 2233290650Shselasky 2234306233Shselasky u8 reserved_4[0x8]; 2235306233Shselasky u8 underlay_qpn[0x18]; 2236306233Shselasky 2237306233Shselasky u8 reserved_5[0x3a0]; 2238290650Shselasky}; 2239290650Shselasky 2240290650Shselaskyenum { 2241290650Shselasky MLX5_TIRC_DISP_TYPE_DIRECT = 0x0, 2242290650Shselasky MLX5_TIRC_DISP_TYPE_INDIRECT = 0x1, 2243290650Shselasky}; 2244290650Shselasky 2245290650Shselaskyenum { 2246290650Shselasky MLX5_TIRC_LRO_ENABLE_MASK_IPV4_LRO = 0x1, 2247290650Shselasky MLX5_TIRC_LRO_ENABLE_MASK_IPV6_LRO = 0x2, 2248290650Shselasky}; 2249290650Shselasky 2250290650Shselaskyenum { 2251290650Shselasky MLX5_TIRC_RX_HASH_FN_HASH_NONE = 0x0, 2252290650Shselasky MLX5_TIRC_RX_HASH_FN_HASH_INVERTED_XOR8 = 0x1, 2253290650Shselasky MLX5_TIRC_RX_HASH_FN_HASH_TOEPLITZ = 0x2, 2254290650Shselasky}; 2255290650Shselasky 2256290650Shselaskyenum { 2257290650Shselasky MLX5_TIRC_SELF_LB_EN_ENABLE_UNICAST = 0x1, 2258290650Shselasky MLX5_TIRC_SELF_LB_EN_ENABLE_MULTICAST = 0x2, 2259290650Shselasky}; 2260290650Shselasky 2261290650Shselaskystruct mlx5_ifc_tirc_bits { 2262290650Shselasky u8 reserved_0[0x20]; 2263290650Shselasky 2264290650Shselasky u8 disp_type[0x4]; 2265290650Shselasky u8 reserved_1[0x1c]; 2266290650Shselasky 2267290650Shselasky u8 reserved_2[0x40]; 2268290650Shselasky 2269290650Shselasky u8 reserved_3[0x4]; 2270290650Shselasky u8 lro_timeout_period_usecs[0x10]; 2271290650Shselasky u8 lro_enable_mask[0x4]; 2272290650Shselasky u8 lro_max_msg_sz[0x8]; 2273290650Shselasky 2274290650Shselasky u8 reserved_4[0x40]; 2275290650Shselasky 2276290650Shselasky u8 reserved_5[0x8]; 2277290650Shselasky u8 inline_rqn[0x18]; 2278290650Shselasky 2279290650Shselasky u8 rx_hash_symmetric[0x1]; 2280290650Shselasky u8 reserved_6[0x1]; 2281290650Shselasky u8 tunneled_offload_en[0x1]; 2282290650Shselasky u8 reserved_7[0x5]; 2283290650Shselasky u8 indirect_table[0x18]; 2284290650Shselasky 2285290650Shselasky u8 rx_hash_fn[0x4]; 2286290650Shselasky u8 reserved_8[0x2]; 2287290650Shselasky u8 self_lb_en[0x2]; 2288290650Shselasky u8 transport_domain[0x18]; 2289290650Shselasky 2290290650Shselasky u8 rx_hash_toeplitz_key[10][0x20]; 2291290650Shselasky 2292290650Shselasky struct mlx5_ifc_rx_hash_field_select_bits rx_hash_field_selector_outer; 2293290650Shselasky 2294290650Shselasky struct mlx5_ifc_rx_hash_field_select_bits rx_hash_field_selector_inner; 2295290650Shselasky 2296290650Shselasky u8 reserved_9[0x4c0]; 2297290650Shselasky}; 2298290650Shselasky 2299290650Shselaskyenum { 2300290650Shselasky MLX5_SRQC_STATE_GOOD = 0x0, 2301290650Shselasky MLX5_SRQC_STATE_ERROR = 0x1, 2302290650Shselasky}; 2303290650Shselasky 2304290650Shselaskystruct mlx5_ifc_srqc_bits { 2305290650Shselasky u8 state[0x4]; 2306290650Shselasky u8 log_srq_size[0x4]; 2307290650Shselasky u8 reserved_0[0x18]; 2308290650Shselasky 2309290650Shselasky u8 wq_signature[0x1]; 2310290650Shselasky u8 cont_srq[0x1]; 2311290650Shselasky u8 reserved_1[0x1]; 2312290650Shselasky u8 rlky[0x1]; 2313290650Shselasky u8 reserved_2[0x1]; 2314290650Shselasky u8 log_rq_stride[0x3]; 2315290650Shselasky u8 xrcd[0x18]; 2316290650Shselasky 2317290650Shselasky u8 page_offset[0x6]; 2318290650Shselasky u8 reserved_3[0x2]; 2319290650Shselasky u8 cqn[0x18]; 2320290650Shselasky 2321290650Shselasky u8 reserved_4[0x20]; 2322290650Shselasky 2323290650Shselasky u8 reserved_5[0x2]; 2324290650Shselasky u8 log_page_size[0x6]; 2325290650Shselasky u8 reserved_6[0x18]; 2326290650Shselasky 2327290650Shselasky u8 reserved_7[0x20]; 2328290650Shselasky 2329290650Shselasky u8 reserved_8[0x8]; 2330290650Shselasky u8 pd[0x18]; 2331290650Shselasky 2332290650Shselasky u8 lwm[0x10]; 2333290650Shselasky u8 wqe_cnt[0x10]; 2334290650Shselasky 2335290650Shselasky u8 reserved_9[0x40]; 2336290650Shselasky 2337331807Shselasky u8 dbr_addr[0x40]; 2338290650Shselasky 2339331807Shselasky u8 reserved_10[0x80]; 2340290650Shselasky}; 2341290650Shselasky 2342290650Shselaskyenum { 2343290650Shselasky MLX5_SQC_STATE_RST = 0x0, 2344290650Shselasky MLX5_SQC_STATE_RDY = 0x1, 2345290650Shselasky MLX5_SQC_STATE_ERR = 0x3, 2346290650Shselasky}; 2347290650Shselasky 2348290650Shselaskystruct mlx5_ifc_sqc_bits { 2349308678Shselasky u8 rlkey[0x1]; 2350290650Shselasky u8 cd_master[0x1]; 2351290650Shselasky u8 fre[0x1]; 2352290650Shselasky u8 flush_in_error_en[0x1]; 2353290650Shselasky u8 allow_multi_pkt_send_wqe[0x1]; 2354290650Shselasky u8 min_wqe_inline_mode[0x3]; 2355290650Shselasky u8 state[0x4]; 2356308678Shselasky u8 reg_umr[0x1]; 2357308678Shselasky u8 allow_swp[0x1]; 2358308678Shselasky u8 reserved_0[0x12]; 2359290650Shselasky 2360290650Shselasky u8 reserved_1[0x8]; 2361290650Shselasky u8 user_index[0x18]; 2362290650Shselasky 2363290650Shselasky u8 reserved_2[0x8]; 2364290650Shselasky u8 cqn[0x18]; 2365290650Shselasky 2366308678Shselasky u8 reserved_3[0x80]; 2367308678Shselasky 2368308678Shselasky u8 qos_para_vport_number[0x10]; 2369306233Shselasky u8 packet_pacing_rate_limit_index[0x10]; 2370290650Shselasky 2371290650Shselasky u8 tis_lst_sz[0x10]; 2372290650Shselasky u8 reserved_4[0x10]; 2373290650Shselasky 2374290650Shselasky u8 reserved_5[0x40]; 2375290650Shselasky 2376290650Shselasky u8 reserved_6[0x8]; 2377290650Shselasky u8 tis_num_0[0x18]; 2378290650Shselasky 2379290650Shselasky struct mlx5_ifc_wq_bits wq; 2380290650Shselasky}; 2381290650Shselasky 2382308678Shselaskyenum { 2383308678Shselasky MLX5_TSAR_TYPE_DWRR = 0, 2384308678Shselasky MLX5_TSAR_TYPE_ROUND_ROUBIN = 1, 2385308678Shselasky MLX5_TSAR_TYPE_ETS = 2 2386308678Shselasky}; 2387308678Shselasky 2388308678Shselaskystruct mlx5_ifc_tsar_element_attributes_bits { 2389308678Shselasky u8 reserved_0[0x8]; 2390308678Shselasky u8 tsar_type[0x8]; 2391308678Shselasky u8 reserved_1[0x10]; 2392308678Shselasky}; 2393308678Shselasky 2394308678Shselaskystruct mlx5_ifc_vport_element_attributes_bits { 2395308678Shselasky u8 reserved_0[0x10]; 2396308678Shselasky u8 vport_number[0x10]; 2397308678Shselasky}; 2398308678Shselasky 2399308678Shselaskystruct mlx5_ifc_vport_tc_element_attributes_bits { 2400308678Shselasky u8 traffic_class[0x10]; 2401308678Shselasky u8 vport_number[0x10]; 2402308678Shselasky}; 2403308678Shselasky 2404308678Shselaskystruct mlx5_ifc_para_vport_tc_element_attributes_bits { 2405308678Shselasky u8 reserved_0[0x0C]; 2406308678Shselasky u8 traffic_class[0x04]; 2407308678Shselasky u8 qos_para_vport_number[0x10]; 2408308678Shselasky}; 2409308678Shselasky 2410308678Shselaskyenum { 2411308678Shselasky MLX5_SCHEDULING_CONTEXT_ELEMENT_TYPE_TSAR = 0x0, 2412308678Shselasky MLX5_SCHEDULING_CONTEXT_ELEMENT_TYPE_VPORT = 0x1, 2413308678Shselasky MLX5_SCHEDULING_CONTEXT_ELEMENT_TYPE_VPORT_TC = 0x2, 2414308678Shselasky MLX5_SCHEDULING_CONTEXT_ELEMENT_TYPE_PARA_VPORT_TC = 0x3, 2415308678Shselasky}; 2416308678Shselasky 2417308678Shselaskystruct mlx5_ifc_scheduling_context_bits { 2418308678Shselasky u8 element_type[0x8]; 2419308678Shselasky u8 reserved_at_8[0x18]; 2420308678Shselasky 2421308678Shselasky u8 element_attributes[0x20]; 2422308678Shselasky 2423308678Shselasky u8 parent_element_id[0x20]; 2424308678Shselasky 2425308678Shselasky u8 reserved_at_60[0x40]; 2426308678Shselasky 2427308678Shselasky u8 bw_share[0x20]; 2428308678Shselasky 2429308678Shselasky u8 max_average_bw[0x20]; 2430308678Shselasky 2431308678Shselasky u8 reserved_at_e0[0x120]; 2432308678Shselasky}; 2433308678Shselasky 2434290650Shselaskystruct mlx5_ifc_rqtc_bits { 2435290650Shselasky u8 reserved_0[0xa0]; 2436290650Shselasky 2437290650Shselasky u8 reserved_1[0x10]; 2438290650Shselasky u8 rqt_max_size[0x10]; 2439290650Shselasky 2440290650Shselasky u8 reserved_2[0x10]; 2441290650Shselasky u8 rqt_actual_size[0x10]; 2442290650Shselasky 2443290650Shselasky u8 reserved_3[0x6a0]; 2444290650Shselasky 2445290650Shselasky struct mlx5_ifc_rq_num_bits rq_num[0]; 2446290650Shselasky}; 2447290650Shselasky 2448290650Shselaskyenum { 2449290650Shselasky MLX5_RQC_RQ_TYPE_MEMORY_RQ_INLINE = 0x0, 2450290650Shselasky MLX5_RQC_RQ_TYPE_MEMORY_RQ_RMP = 0x1, 2451290650Shselasky}; 2452290650Shselasky 2453290650Shselaskyenum { 2454290650Shselasky MLX5_RQC_STATE_RST = 0x0, 2455290650Shselasky MLX5_RQC_STATE_RDY = 0x1, 2456290650Shselasky MLX5_RQC_STATE_ERR = 0x3, 2457290650Shselasky}; 2458290650Shselasky 2459321992Shselaskyenum { 2460321992Shselasky MLX5_RQC_DROPLESS_MODE_DISABLE = 0x0, 2461321992Shselasky MLX5_RQC_DROPLESS_MODE_ENABLE = 0x1, 2462321992Shselasky}; 2463321992Shselasky 2464290650Shselaskystruct mlx5_ifc_rqc_bits { 2465321992Shselasky u8 rlkey[0x1]; 2466321992Shselasky u8 delay_drop_en[0x1]; 2467321992Shselasky u8 scatter_fcs[0x1]; 2468290650Shselasky u8 vlan_strip_disable[0x1]; 2469290650Shselasky u8 mem_rq_type[0x4]; 2470290650Shselasky u8 state[0x4]; 2471290650Shselasky u8 reserved_1[0x1]; 2472290650Shselasky u8 flush_in_error_en[0x1]; 2473290650Shselasky u8 reserved_2[0x12]; 2474290650Shselasky 2475290650Shselasky u8 reserved_3[0x8]; 2476290650Shselasky u8 user_index[0x18]; 2477290650Shselasky 2478290650Shselasky u8 reserved_4[0x8]; 2479290650Shselasky u8 cqn[0x18]; 2480290650Shselasky 2481290650Shselasky u8 counter_set_id[0x8]; 2482290650Shselasky u8 reserved_5[0x18]; 2483290650Shselasky 2484290650Shselasky u8 reserved_6[0x8]; 2485290650Shselasky u8 rmpn[0x18]; 2486290650Shselasky 2487290650Shselasky u8 reserved_7[0xe0]; 2488290650Shselasky 2489290650Shselasky struct mlx5_ifc_wq_bits wq; 2490290650Shselasky}; 2491290650Shselasky 2492290650Shselaskyenum { 2493290650Shselasky MLX5_RMPC_STATE_RDY = 0x1, 2494290650Shselasky MLX5_RMPC_STATE_ERR = 0x3, 2495290650Shselasky}; 2496290650Shselasky 2497290650Shselaskystruct mlx5_ifc_rmpc_bits { 2498290650Shselasky u8 reserved_0[0x8]; 2499290650Shselasky u8 state[0x4]; 2500290650Shselasky u8 reserved_1[0x14]; 2501290650Shselasky 2502290650Shselasky u8 basic_cyclic_rcv_wqe[0x1]; 2503290650Shselasky u8 reserved_2[0x1f]; 2504290650Shselasky 2505290650Shselasky u8 reserved_3[0x140]; 2506290650Shselasky 2507290650Shselasky struct mlx5_ifc_wq_bits wq; 2508290650Shselasky}; 2509290650Shselasky 2510290650Shselaskyenum { 2511290650Shselasky MLX5_NIC_VPORT_CONTEXT_ALLOWED_LIST_TYPE_CURRENT_UC_MAC_ADDRESS = 0x0, 2512290650Shselasky MLX5_NIC_VPORT_CONTEXT_ALLOWED_LIST_TYPE_CURRENT_MC_MAC_ADDRESS = 0x1, 2513290650Shselasky MLX5_NIC_VPORT_CONTEXT_ALLOWED_LIST_TYPE_VLAN_LIST = 0x2, 2514290650Shselasky}; 2515290650Shselasky 2516290650Shselaskystruct mlx5_ifc_nic_vport_context_bits { 2517290650Shselasky u8 reserved_0[0x5]; 2518290650Shselasky u8 min_wqe_inline_mode[0x3]; 2519321992Shselasky u8 reserved_1[0x15]; 2520321992Shselasky u8 disable_mc_local_lb[0x1]; 2521321992Shselasky u8 disable_uc_local_lb[0x1]; 2522290650Shselasky u8 roce_en[0x1]; 2523290650Shselasky 2524290650Shselasky u8 arm_change_event[0x1]; 2525290650Shselasky u8 reserved_2[0x1a]; 2526290650Shselasky u8 event_on_mtu[0x1]; 2527290650Shselasky u8 event_on_promisc_change[0x1]; 2528290650Shselasky u8 event_on_vlan_change[0x1]; 2529290650Shselasky u8 event_on_mc_address_change[0x1]; 2530290650Shselasky u8 event_on_uc_address_change[0x1]; 2531290650Shselasky 2532290650Shselasky u8 reserved_3[0xe0]; 2533290650Shselasky 2534290650Shselasky u8 reserved_4[0x10]; 2535290650Shselasky u8 mtu[0x10]; 2536290650Shselasky 2537290650Shselasky u8 system_image_guid[0x40]; 2538290650Shselasky 2539290650Shselasky u8 port_guid[0x40]; 2540290650Shselasky 2541290650Shselasky u8 node_guid[0x40]; 2542290650Shselasky 2543290650Shselasky u8 reserved_5[0x140]; 2544290650Shselasky 2545290650Shselasky u8 qkey_violation_counter[0x10]; 2546290650Shselasky u8 reserved_6[0x10]; 2547290650Shselasky 2548290650Shselasky u8 reserved_7[0x420]; 2549290650Shselasky 2550290650Shselasky u8 promisc_uc[0x1]; 2551290650Shselasky u8 promisc_mc[0x1]; 2552290650Shselasky u8 promisc_all[0x1]; 2553290650Shselasky u8 reserved_8[0x2]; 2554290650Shselasky u8 allowed_list_type[0x3]; 2555290650Shselasky u8 reserved_9[0xc]; 2556290650Shselasky u8 allowed_list_size[0xc]; 2557290650Shselasky 2558290650Shselasky struct mlx5_ifc_mac_address_layout_bits permanent_address; 2559290650Shselasky 2560290650Shselasky u8 reserved_10[0x20]; 2561290650Shselasky 2562290650Shselasky u8 current_uc_mac_address[0][0x40]; 2563290650Shselasky}; 2564290650Shselasky 2565290650Shselaskyenum { 2566290650Shselasky MLX5_ACCESS_MODE_PA = 0x0, 2567290650Shselasky MLX5_ACCESS_MODE_MTT = 0x1, 2568290650Shselasky MLX5_ACCESS_MODE_KLM = 0x2, 2569290650Shselasky}; 2570290650Shselasky 2571290650Shselaskystruct mlx5_ifc_mkc_bits { 2572341940Shselasky u8 reserved_at_0[0x1]; 2573290650Shselasky u8 free[0x1]; 2574341940Shselasky u8 reserved_at_2[0x1]; 2575341940Shselasky u8 access_mode_4_2[0x3]; 2576341940Shselasky u8 reserved_at_6[0x7]; 2577341940Shselasky u8 relaxed_ordering_write[0x1]; 2578341940Shselasky u8 reserved_at_e[0x1]; 2579290650Shselasky u8 small_fence_on_rdma_read_response[0x1]; 2580290650Shselasky u8 umr_en[0x1]; 2581290650Shselasky u8 a[0x1]; 2582290650Shselasky u8 rw[0x1]; 2583290650Shselasky u8 rr[0x1]; 2584290650Shselasky u8 lw[0x1]; 2585290650Shselasky u8 lr[0x1]; 2586290650Shselasky u8 access_mode[0x2]; 2587290650Shselasky u8 reserved_2[0x8]; 2588290650Shselasky 2589290650Shselasky u8 qpn[0x18]; 2590290650Shselasky u8 mkey_7_0[0x8]; 2591290650Shselasky 2592290650Shselasky u8 reserved_3[0x20]; 2593290650Shselasky 2594290650Shselasky u8 length64[0x1]; 2595290650Shselasky u8 bsf_en[0x1]; 2596290650Shselasky u8 sync_umr[0x1]; 2597290650Shselasky u8 reserved_4[0x2]; 2598290650Shselasky u8 expected_sigerr_count[0x1]; 2599290650Shselasky u8 reserved_5[0x1]; 2600290650Shselasky u8 en_rinval[0x1]; 2601290650Shselasky u8 pd[0x18]; 2602290650Shselasky 2603290650Shselasky u8 start_addr[0x40]; 2604290650Shselasky 2605290650Shselasky u8 len[0x40]; 2606290650Shselasky 2607290650Shselasky u8 bsf_octword_size[0x20]; 2608290650Shselasky 2609290650Shselasky u8 reserved_6[0x80]; 2610290650Shselasky 2611290650Shselasky u8 translations_octword_size[0x20]; 2612290650Shselasky 2613290650Shselasky u8 reserved_7[0x1b]; 2614290650Shselasky u8 log_page_size[0x5]; 2615290650Shselasky 2616290650Shselasky u8 reserved_8[0x20]; 2617290650Shselasky}; 2618290650Shselasky 2619290650Shselaskystruct mlx5_ifc_pkey_bits { 2620290650Shselasky u8 reserved_0[0x10]; 2621290650Shselasky u8 pkey[0x10]; 2622290650Shselasky}; 2623290650Shselasky 2624290650Shselaskystruct mlx5_ifc_array128_auto_bits { 2625290650Shselasky u8 array128_auto[16][0x8]; 2626290650Shselasky}; 2627290650Shselasky 2628290650Shselaskyenum { 2629290650Shselasky MLX5_HCA_VPORT_CONTEXT_FIELD_SELECT_PORT_GUID = 0x0, 2630290650Shselasky MLX5_HCA_VPORT_CONTEXT_FIELD_SELECT_NODE_GUID = 0x1, 2631290650Shselasky MLX5_HCA_VPORT_CONTEXT_FIELD_SELECT_VPORT_STATE_POLICY = 0x2, 2632290650Shselasky}; 2633290650Shselasky 2634290650Shselaskyenum { 2635290650Shselasky MLX5_HCA_VPORT_CONTEXT_PORT_PHYSICAL_STATE_SLEEP = 0x1, 2636290650Shselasky MLX5_HCA_VPORT_CONTEXT_PORT_PHYSICAL_STATE_POLLING = 0x2, 2637290650Shselasky MLX5_HCA_VPORT_CONTEXT_PORT_PHYSICAL_STATE_DISABLED = 0x3, 2638290650Shselasky MLX5_HCA_VPORT_CONTEXT_PORT_PHYSICAL_STATE_PORTCONFIGURATIONTRAINING = 0x4, 2639290650Shselasky MLX5_HCA_VPORT_CONTEXT_PORT_PHYSICAL_STATE_LINKUP = 0x5, 2640290650Shselasky MLX5_HCA_VPORT_CONTEXT_PORT_PHYSICAL_STATE_LINKERRORRECOVERY = 0x6, 2641290650Shselasky MLX5_HCA_VPORT_CONTEXT_PORT_PHYSICAL_STATE_PHYTEST = 0x7, 2642290650Shselasky}; 2643290650Shselasky 2644290650Shselaskyenum { 2645290650Shselasky MLX5_HCA_VPORT_CONTEXT_VPORT_STATE_POLICY_DOWN = 0x0, 2646290650Shselasky MLX5_HCA_VPORT_CONTEXT_VPORT_STATE_POLICY_UP = 0x1, 2647290650Shselasky MLX5_HCA_VPORT_CONTEXT_VPORT_STATE_POLICY_FOLLOW = 0x2, 2648290650Shselasky}; 2649290650Shselasky 2650290650Shselaskyenum { 2651290650Shselasky MLX5_HCA_VPORT_CONTEXT_PORT_STATE_DOWN = 0x1, 2652290650Shselasky MLX5_HCA_VPORT_CONTEXT_PORT_STATE_INIT = 0x2, 2653290650Shselasky MLX5_HCA_VPORT_CONTEXT_PORT_STATE_ARM = 0x3, 2654290650Shselasky MLX5_HCA_VPORT_CONTEXT_PORT_STATE_ACTIVE = 0x4, 2655290650Shselasky}; 2656290650Shselasky 2657290650Shselaskyenum { 2658290650Shselasky MLX5_HCA_VPORT_CONTEXT_VPORT_STATE_DOWN = 0x1, 2659290650Shselasky MLX5_HCA_VPORT_CONTEXT_VPORT_STATE_INIT = 0x2, 2660290650Shselasky MLX5_HCA_VPORT_CONTEXT_VPORT_STATE_ARM = 0x3, 2661290650Shselasky MLX5_HCA_VPORT_CONTEXT_VPORT_STATE_ACTIVE = 0x4, 2662290650Shselasky}; 2663290650Shselasky 2664290650Shselaskystruct mlx5_ifc_hca_vport_context_bits { 2665290650Shselasky u8 field_select[0x20]; 2666290650Shselasky 2667290650Shselasky u8 reserved_0[0xe0]; 2668290650Shselasky 2669290650Shselasky u8 sm_virt_aware[0x1]; 2670290650Shselasky u8 has_smi[0x1]; 2671290650Shselasky u8 has_raw[0x1]; 2672290650Shselasky u8 grh_required[0x1]; 2673306233Shselasky u8 reserved_1[0x1]; 2674306233Shselasky u8 min_wqe_inline_mode[0x3]; 2675306233Shselasky u8 reserved_2[0x8]; 2676290650Shselasky u8 port_physical_state[0x4]; 2677290650Shselasky u8 vport_state_policy[0x4]; 2678290650Shselasky u8 port_state[0x4]; 2679290650Shselasky u8 vport_state[0x4]; 2680290650Shselasky 2681306233Shselasky u8 reserved_3[0x20]; 2682290650Shselasky 2683290650Shselasky u8 system_image_guid[0x40]; 2684290650Shselasky 2685290650Shselasky u8 port_guid[0x40]; 2686290650Shselasky 2687290650Shselasky u8 node_guid[0x40]; 2688290650Shselasky 2689290650Shselasky u8 cap_mask1[0x20]; 2690290650Shselasky 2691290650Shselasky u8 cap_mask1_field_select[0x20]; 2692290650Shselasky 2693290650Shselasky u8 cap_mask2[0x20]; 2694290650Shselasky 2695290650Shselasky u8 cap_mask2_field_select[0x20]; 2696290650Shselasky 2697306233Shselasky u8 reserved_4[0x80]; 2698290650Shselasky 2699290650Shselasky u8 lid[0x10]; 2700306233Shselasky u8 reserved_5[0x4]; 2701290650Shselasky u8 init_type_reply[0x4]; 2702290650Shselasky u8 lmc[0x3]; 2703290650Shselasky u8 subnet_timeout[0x5]; 2704290650Shselasky 2705290650Shselasky u8 sm_lid[0x10]; 2706290650Shselasky u8 sm_sl[0x4]; 2707306233Shselasky u8 reserved_6[0xc]; 2708290650Shselasky 2709290650Shselasky u8 qkey_violation_counter[0x10]; 2710290650Shselasky u8 pkey_violation_counter[0x10]; 2711290650Shselasky 2712306233Shselasky u8 reserved_7[0xca0]; 2713290650Shselasky}; 2714290650Shselasky 2715290650Shselaskyunion mlx5_ifc_hca_cap_union_bits { 2716290650Shselasky struct mlx5_ifc_cmd_hca_cap_bits cmd_hca_cap; 2717290650Shselasky struct mlx5_ifc_odp_cap_bits odp_cap; 2718290650Shselasky struct mlx5_ifc_atomic_caps_bits atomic_caps; 2719290650Shselasky struct mlx5_ifc_roce_cap_bits roce_cap; 2720290650Shselasky struct mlx5_ifc_per_protocol_networking_offload_caps_bits per_protocol_networking_offload_caps; 2721290650Shselasky struct mlx5_ifc_flow_table_nic_cap_bits flow_table_nic_cap; 2722290650Shselasky struct mlx5_ifc_flow_table_eswitch_cap_bits flow_table_eswitch_cap; 2723290650Shselasky struct mlx5_ifc_e_switch_cap_bits e_switch_cap; 2724306233Shselasky struct mlx5_ifc_snapshot_cap_bits snapshot_cap; 2725306233Shselasky struct mlx5_ifc_debug_cap_bits diagnostic_counters_cap; 2726306233Shselasky struct mlx5_ifc_qos_cap_bits qos_cap; 2727290650Shselasky u8 reserved_0[0x8000]; 2728290650Shselasky}; 2729290650Shselasky 2730329200Shselaskyenum { 2731329200Shselasky MLX5_FLOW_TABLE_CONTEXT_TABLE_MISS_ACTION_DEFAULT = 0x0, 2732329200Shselasky MLX5_FLOW_TABLE_CONTEXT_TABLE_MISS_ACTION_IDENTIFIED = 0x1, 2733329200Shselasky}; 2734329200Shselasky 2735329200Shselaskystruct mlx5_ifc_flow_table_context_bits { 2736329200Shselasky u8 encap_en[0x1]; 2737329200Shselasky u8 decap_en[0x1]; 2738329200Shselasky u8 reserved_at_2[0x2]; 2739329200Shselasky u8 table_miss_action[0x4]; 2740329200Shselasky u8 level[0x8]; 2741329200Shselasky u8 reserved_at_10[0x8]; 2742329200Shselasky u8 log_size[0x8]; 2743329200Shselasky 2744329200Shselasky u8 reserved_at_20[0x8]; 2745329200Shselasky u8 table_miss_id[0x18]; 2746329200Shselasky 2747329200Shselasky u8 reserved_at_40[0x8]; 2748329200Shselasky u8 lag_master_next_table_id[0x18]; 2749329200Shselasky 2750329200Shselasky u8 reserved_at_60[0xe0]; 2751329200Shselasky}; 2752329200Shselasky 2753290650Shselaskystruct mlx5_ifc_esw_vport_context_bits { 2754290650Shselasky u8 reserved_0[0x3]; 2755290650Shselasky u8 vport_svlan_strip[0x1]; 2756290650Shselasky u8 vport_cvlan_strip[0x1]; 2757290650Shselasky u8 vport_svlan_insert[0x1]; 2758290650Shselasky u8 vport_cvlan_insert[0x2]; 2759290650Shselasky u8 reserved_1[0x18]; 2760290650Shselasky 2761290650Shselasky u8 reserved_2[0x20]; 2762290650Shselasky 2763290650Shselasky u8 svlan_cfi[0x1]; 2764290650Shselasky u8 svlan_pcp[0x3]; 2765290650Shselasky u8 svlan_id[0xc]; 2766290650Shselasky u8 cvlan_cfi[0x1]; 2767290650Shselasky u8 cvlan_pcp[0x3]; 2768290650Shselasky u8 cvlan_id[0xc]; 2769290650Shselasky 2770290650Shselasky u8 reserved_3[0x7a0]; 2771290650Shselasky}; 2772290650Shselasky 2773290650Shselaskyenum { 2774290650Shselasky MLX5_EQC_STATUS_OK = 0x0, 2775290650Shselasky MLX5_EQC_STATUS_EQ_WRITE_FAILURE = 0xa, 2776290650Shselasky}; 2777290650Shselasky 2778290650Shselaskyenum { 2779290650Shselasky MLX5_EQ_STATE_ARMED = 0x9, 2780290650Shselasky MLX5_EQ_STATE_FIRED = 0xa, 2781290650Shselasky}; 2782290650Shselasky 2783290650Shselaskystruct mlx5_ifc_eqc_bits { 2784290650Shselasky u8 status[0x4]; 2785290650Shselasky u8 reserved_0[0x9]; 2786290650Shselasky u8 ec[0x1]; 2787290650Shselasky u8 oi[0x1]; 2788290650Shselasky u8 reserved_1[0x5]; 2789290650Shselasky u8 st[0x4]; 2790290650Shselasky u8 reserved_2[0x8]; 2791290650Shselasky 2792290650Shselasky u8 reserved_3[0x20]; 2793290650Shselasky 2794290650Shselasky u8 reserved_4[0x14]; 2795290650Shselasky u8 page_offset[0x6]; 2796290650Shselasky u8 reserved_5[0x6]; 2797290650Shselasky 2798290650Shselasky u8 reserved_6[0x3]; 2799290650Shselasky u8 log_eq_size[0x5]; 2800290650Shselasky u8 uar_page[0x18]; 2801290650Shselasky 2802290650Shselasky u8 reserved_7[0x20]; 2803290650Shselasky 2804290650Shselasky u8 reserved_8[0x18]; 2805290650Shselasky u8 intr[0x8]; 2806290650Shselasky 2807290650Shselasky u8 reserved_9[0x3]; 2808290650Shselasky u8 log_page_size[0x5]; 2809290650Shselasky u8 reserved_10[0x18]; 2810290650Shselasky 2811290650Shselasky u8 reserved_11[0x60]; 2812290650Shselasky 2813290650Shselasky u8 reserved_12[0x8]; 2814290650Shselasky u8 consumer_counter[0x18]; 2815290650Shselasky 2816290650Shselasky u8 reserved_13[0x8]; 2817290650Shselasky u8 producer_counter[0x18]; 2818290650Shselasky 2819290650Shselasky u8 reserved_14[0x80]; 2820290650Shselasky}; 2821290650Shselasky 2822290650Shselaskyenum { 2823290650Shselasky MLX5_DCTC_STATE_ACTIVE = 0x0, 2824290650Shselasky MLX5_DCTC_STATE_DRAINING = 0x1, 2825290650Shselasky MLX5_DCTC_STATE_DRAINED = 0x2, 2826290650Shselasky}; 2827290650Shselasky 2828290650Shselaskyenum { 2829290650Shselasky MLX5_DCTC_CS_RES_DISABLE = 0x0, 2830290650Shselasky MLX5_DCTC_CS_RES_NA = 0x1, 2831290650Shselasky MLX5_DCTC_CS_RES_UP_TO_64B = 0x2, 2832290650Shselasky}; 2833290650Shselasky 2834290650Shselaskyenum { 2835290650Shselasky MLX5_DCTC_MTU_256_BYTES = 0x1, 2836290650Shselasky MLX5_DCTC_MTU_512_BYTES = 0x2, 2837290650Shselasky MLX5_DCTC_MTU_1K_BYTES = 0x3, 2838290650Shselasky MLX5_DCTC_MTU_2K_BYTES = 0x4, 2839290650Shselasky MLX5_DCTC_MTU_4K_BYTES = 0x5, 2840290650Shselasky}; 2841290650Shselasky 2842290650Shselaskystruct mlx5_ifc_dctc_bits { 2843290650Shselasky u8 reserved_0[0x4]; 2844290650Shselasky u8 state[0x4]; 2845290650Shselasky u8 reserved_1[0x18]; 2846290650Shselasky 2847290650Shselasky u8 reserved_2[0x8]; 2848290650Shselasky u8 user_index[0x18]; 2849290650Shselasky 2850290650Shselasky u8 reserved_3[0x8]; 2851290650Shselasky u8 cqn[0x18]; 2852290650Shselasky 2853290650Shselasky u8 counter_set_id[0x8]; 2854290650Shselasky u8 atomic_mode[0x4]; 2855290650Shselasky u8 rre[0x1]; 2856290650Shselasky u8 rwe[0x1]; 2857290650Shselasky u8 rae[0x1]; 2858290650Shselasky u8 atomic_like_write_en[0x1]; 2859290650Shselasky u8 latency_sensitive[0x1]; 2860290650Shselasky u8 rlky[0x1]; 2861290650Shselasky u8 reserved_4[0xe]; 2862290650Shselasky 2863290650Shselasky u8 reserved_5[0x8]; 2864290650Shselasky u8 cs_res[0x8]; 2865290650Shselasky u8 reserved_6[0x3]; 2866290650Shselasky u8 min_rnr_nak[0x5]; 2867290650Shselasky u8 reserved_7[0x8]; 2868290650Shselasky 2869290650Shselasky u8 reserved_8[0x8]; 2870290650Shselasky u8 srqn[0x18]; 2871290650Shselasky 2872290650Shselasky u8 reserved_9[0x8]; 2873290650Shselasky u8 pd[0x18]; 2874290650Shselasky 2875290650Shselasky u8 tclass[0x8]; 2876290650Shselasky u8 reserved_10[0x4]; 2877290650Shselasky u8 flow_label[0x14]; 2878290650Shselasky 2879290650Shselasky u8 dc_access_key[0x40]; 2880290650Shselasky 2881290650Shselasky u8 reserved_11[0x5]; 2882290650Shselasky u8 mtu[0x3]; 2883290650Shselasky u8 port[0x8]; 2884290650Shselasky u8 pkey_index[0x10]; 2885290650Shselasky 2886290650Shselasky u8 reserved_12[0x8]; 2887290650Shselasky u8 my_addr_index[0x8]; 2888290650Shselasky u8 reserved_13[0x8]; 2889290650Shselasky u8 hop_limit[0x8]; 2890290650Shselasky 2891290650Shselasky u8 dc_access_key_violation_count[0x20]; 2892290650Shselasky 2893290650Shselasky u8 reserved_14[0x14]; 2894290650Shselasky u8 dei_cfi[0x1]; 2895290650Shselasky u8 eth_prio[0x3]; 2896290650Shselasky u8 ecn[0x2]; 2897290650Shselasky u8 dscp[0x6]; 2898290650Shselasky 2899290650Shselasky u8 reserved_15[0x40]; 2900290650Shselasky}; 2901290650Shselasky 2902290650Shselaskyenum { 2903290650Shselasky MLX5_CQC_STATUS_OK = 0x0, 2904290650Shselasky MLX5_CQC_STATUS_CQ_OVERFLOW = 0x9, 2905290650Shselasky MLX5_CQC_STATUS_CQ_WRITE_FAIL = 0xa, 2906290650Shselasky}; 2907290650Shselasky 2908290650Shselaskyenum { 2909290650Shselasky CQE_SIZE_64 = 0x0, 2910290650Shselasky CQE_SIZE_128 = 0x1, 2911290650Shselasky}; 2912290650Shselasky 2913290650Shselaskyenum { 2914290650Shselasky MLX5_CQ_PERIOD_MODE_START_FROM_EQE = 0x0, 2915290650Shselasky MLX5_CQ_PERIOD_MODE_START_FROM_CQE = 0x1, 2916290650Shselasky}; 2917290650Shselasky 2918290650Shselaskyenum { 2919290650Shselasky MLX5_CQ_STATE_SOLICITED_ARMED = 0x6, 2920290650Shselasky MLX5_CQ_STATE_ARMED = 0x9, 2921290650Shselasky MLX5_CQ_STATE_FIRED = 0xa, 2922290650Shselasky}; 2923290650Shselasky 2924290650Shselaskystruct mlx5_ifc_cqc_bits { 2925290650Shselasky u8 status[0x4]; 2926290650Shselasky u8 reserved_0[0x4]; 2927290650Shselasky u8 cqe_sz[0x3]; 2928290650Shselasky u8 cc[0x1]; 2929290650Shselasky u8 reserved_1[0x1]; 2930290650Shselasky u8 scqe_break_moderation_en[0x1]; 2931290650Shselasky u8 oi[0x1]; 2932290650Shselasky u8 cq_period_mode[0x2]; 2933290650Shselasky u8 cqe_compression_en[0x1]; 2934290650Shselasky u8 mini_cqe_res_format[0x2]; 2935290650Shselasky u8 st[0x4]; 2936290650Shselasky u8 reserved_2[0x8]; 2937290650Shselasky 2938290650Shselasky u8 reserved_3[0x20]; 2939290650Shselasky 2940290650Shselasky u8 reserved_4[0x14]; 2941290650Shselasky u8 page_offset[0x6]; 2942290650Shselasky u8 reserved_5[0x6]; 2943290650Shselasky 2944290650Shselasky u8 reserved_6[0x3]; 2945290650Shselasky u8 log_cq_size[0x5]; 2946290650Shselasky u8 uar_page[0x18]; 2947290650Shselasky 2948290650Shselasky u8 reserved_7[0x4]; 2949290650Shselasky u8 cq_period[0xc]; 2950290650Shselasky u8 cq_max_count[0x10]; 2951290650Shselasky 2952290650Shselasky u8 reserved_8[0x18]; 2953290650Shselasky u8 c_eqn[0x8]; 2954290650Shselasky 2955290650Shselasky u8 reserved_9[0x3]; 2956290650Shselasky u8 log_page_size[0x5]; 2957290650Shselasky u8 reserved_10[0x18]; 2958290650Shselasky 2959290650Shselasky u8 reserved_11[0x20]; 2960290650Shselasky 2961290650Shselasky u8 reserved_12[0x8]; 2962290650Shselasky u8 last_notified_index[0x18]; 2963290650Shselasky 2964290650Shselasky u8 reserved_13[0x8]; 2965290650Shselasky u8 last_solicit_index[0x18]; 2966290650Shselasky 2967290650Shselasky u8 reserved_14[0x8]; 2968290650Shselasky u8 consumer_counter[0x18]; 2969290650Shselasky 2970290650Shselasky u8 reserved_15[0x8]; 2971290650Shselasky u8 producer_counter[0x18]; 2972290650Shselasky 2973290650Shselasky u8 reserved_16[0x40]; 2974290650Shselasky 2975290650Shselasky u8 dbr_addr[0x40]; 2976290650Shselasky}; 2977290650Shselasky 2978290650Shselaskyunion mlx5_ifc_cong_control_roce_ecn_auto_bits { 2979290650Shselasky struct mlx5_ifc_cong_control_802_1qau_rp_bits cong_control_802_1qau_rp; 2980290650Shselasky struct mlx5_ifc_cong_control_r_roce_ecn_rp_bits cong_control_r_roce_ecn_rp; 2981290650Shselasky struct mlx5_ifc_cong_control_r_roce_ecn_np_bits cong_control_r_roce_ecn_np; 2982290650Shselasky u8 reserved_0[0x800]; 2983290650Shselasky}; 2984290650Shselasky 2985290650Shselaskystruct mlx5_ifc_query_adapter_param_block_bits { 2986290650Shselasky u8 reserved_0[0xc0]; 2987290650Shselasky 2988290650Shselasky u8 reserved_1[0x8]; 2989290650Shselasky u8 ieee_vendor_id[0x18]; 2990290650Shselasky 2991290650Shselasky u8 reserved_2[0x10]; 2992290650Shselasky u8 vsd_vendor_id[0x10]; 2993290650Shselasky 2994290650Shselasky u8 vsd[208][0x8]; 2995290650Shselasky 2996290650Shselasky u8 vsd_contd_psid[16][0x8]; 2997290650Shselasky}; 2998290650Shselasky 2999290650Shselaskyunion mlx5_ifc_modify_field_select_resize_field_select_auto_bits { 3000290650Shselasky struct mlx5_ifc_modify_field_select_bits modify_field_select; 3001290650Shselasky struct mlx5_ifc_resize_field_select_bits resize_field_select; 3002290650Shselasky u8 reserved_0[0x20]; 3003290650Shselasky}; 3004290650Shselasky 3005290650Shselaskyunion mlx5_ifc_field_select_802_1_r_roce_auto_bits { 3006290650Shselasky struct mlx5_ifc_field_select_802_1qau_rp_bits field_select_802_1qau_rp; 3007290650Shselasky struct mlx5_ifc_field_select_r_roce_rp_bits field_select_r_roce_rp; 3008290650Shselasky struct mlx5_ifc_field_select_r_roce_np_bits field_select_r_roce_np; 3009290650Shselasky u8 reserved_0[0x20]; 3010290650Shselasky}; 3011290650Shselasky 3012290650Shselaskystruct mlx5_ifc_bufferx_reg_bits { 3013290650Shselasky u8 reserved_0[0x6]; 3014290650Shselasky u8 lossy[0x1]; 3015290650Shselasky u8 epsb[0x1]; 3016290650Shselasky u8 reserved_1[0xc]; 3017290650Shselasky u8 size[0xc]; 3018290650Shselasky 3019290650Shselasky u8 xoff_threshold[0x10]; 3020290650Shselasky u8 xon_threshold[0x10]; 3021290650Shselasky}; 3022290650Shselasky 3023290650Shselaskystruct mlx5_ifc_config_item_bits { 3024290650Shselasky u8 valid[0x2]; 3025290650Shselasky u8 reserved_0[0x2]; 3026290650Shselasky u8 header_type[0x2]; 3027290650Shselasky u8 reserved_1[0x2]; 3028290650Shselasky u8 default_location[0x1]; 3029290650Shselasky u8 reserved_2[0x7]; 3030290650Shselasky u8 version[0x4]; 3031290650Shselasky u8 reserved_3[0x3]; 3032290650Shselasky u8 length[0x9]; 3033290650Shselasky 3034290650Shselasky u8 type[0x20]; 3035290650Shselasky 3036290650Shselasky u8 reserved_4[0x10]; 3037290650Shselasky u8 crc16[0x10]; 3038290650Shselasky}; 3039290650Shselasky 3040290650Shselaskystruct mlx5_ifc_nodnic_port_config_reg_bits { 3041290650Shselasky struct mlx5_ifc_nodnic_event_word_bits event; 3042290650Shselasky 3043290650Shselasky u8 network_en[0x1]; 3044290650Shselasky u8 dma_en[0x1]; 3045290650Shselasky u8 promisc_en[0x1]; 3046290650Shselasky u8 promisc_multicast_en[0x1]; 3047290650Shselasky u8 reserved_0[0x17]; 3048290650Shselasky u8 receive_filter_en[0x5]; 3049290650Shselasky 3050290650Shselasky u8 reserved_1[0x10]; 3051290650Shselasky u8 mac_47_32[0x10]; 3052290650Shselasky 3053290650Shselasky u8 mac_31_0[0x20]; 3054290650Shselasky 3055290650Shselasky u8 receive_filters_mgid_mac[64][0x8]; 3056290650Shselasky 3057290650Shselasky u8 gid[16][0x8]; 3058290650Shselasky 3059290650Shselasky u8 reserved_2[0x10]; 3060290650Shselasky u8 lid[0x10]; 3061290650Shselasky 3062290650Shselasky u8 reserved_3[0xc]; 3063290650Shselasky u8 sm_sl[0x4]; 3064290650Shselasky u8 sm_lid[0x10]; 3065290650Shselasky 3066290650Shselasky u8 completion_address_63_32[0x20]; 3067290650Shselasky 3068290650Shselasky u8 completion_address_31_12[0x14]; 3069290650Shselasky u8 reserved_4[0x6]; 3070290650Shselasky u8 log_cq_size[0x6]; 3071290650Shselasky 3072290650Shselasky u8 working_buffer_address_63_32[0x20]; 3073290650Shselasky 3074290650Shselasky u8 working_buffer_address_31_12[0x14]; 3075290650Shselasky u8 reserved_5[0xc]; 3076290650Shselasky 3077290650Shselasky struct mlx5_ifc_nodnic_cq_arming_word_bits arm_cq; 3078290650Shselasky 3079290650Shselasky u8 pkey_index[0x10]; 3080290650Shselasky u8 pkey[0x10]; 3081290650Shselasky 3082290650Shselasky struct mlx5_ifc_nodnic_ring_config_reg_bits send_ring0; 3083290650Shselasky 3084290650Shselasky struct mlx5_ifc_nodnic_ring_config_reg_bits send_ring1; 3085290650Shselasky 3086290650Shselasky struct mlx5_ifc_nodnic_ring_config_reg_bits receive_ring0; 3087290650Shselasky 3088290650Shselasky struct mlx5_ifc_nodnic_ring_config_reg_bits receive_ring1; 3089290650Shselasky 3090290650Shselasky u8 reserved_6[0x400]; 3091290650Shselasky}; 3092290650Shselasky 3093290650Shselaskyunion mlx5_ifc_event_auto_bits { 3094290650Shselasky struct mlx5_ifc_comp_event_bits comp_event; 3095290650Shselasky struct mlx5_ifc_dct_events_bits dct_events; 3096290650Shselasky struct mlx5_ifc_qp_events_bits qp_events; 3097290650Shselasky struct mlx5_ifc_wqe_associated_page_fault_event_bits wqe_associated_page_fault_event; 3098290650Shselasky struct mlx5_ifc_rdma_page_fault_event_bits rdma_page_fault_event; 3099290650Shselasky struct mlx5_ifc_cq_error_bits cq_error; 3100290650Shselasky struct mlx5_ifc_dropped_packet_logged_bits dropped_packet_logged; 3101290650Shselasky struct mlx5_ifc_port_state_change_event_bits port_state_change_event; 3102290650Shselasky struct mlx5_ifc_gpio_event_bits gpio_event; 3103290650Shselasky struct mlx5_ifc_db_bf_congestion_event_bits db_bf_congestion_event; 3104290650Shselasky struct mlx5_ifc_stall_vl_event_bits stall_vl_event; 3105290650Shselasky struct mlx5_ifc_cmd_inter_comp_event_bits cmd_inter_comp_event; 3106290650Shselasky struct mlx5_ifc_pages_req_event_bits pages_req_event; 3107290650Shselasky struct mlx5_ifc_nic_vport_change_event_bits nic_vport_change_event; 3108290650Shselasky u8 reserved_0[0xe0]; 3109290650Shselasky}; 3110290650Shselasky 3111290650Shselaskystruct mlx5_ifc_health_buffer_bits { 3112290650Shselasky u8 reserved_0[0x100]; 3113290650Shselasky 3114290650Shselasky u8 assert_existptr[0x20]; 3115290650Shselasky 3116290650Shselasky u8 assert_callra[0x20]; 3117290650Shselasky 3118290650Shselasky u8 reserved_1[0x40]; 3119290650Shselasky 3120290650Shselasky u8 fw_version[0x20]; 3121290650Shselasky 3122290650Shselasky u8 hw_id[0x20]; 3123290650Shselasky 3124290650Shselasky u8 reserved_2[0x20]; 3125290650Shselasky 3126290650Shselasky u8 irisc_index[0x8]; 3127290650Shselasky u8 synd[0x8]; 3128290650Shselasky u8 ext_synd[0x10]; 3129290650Shselasky}; 3130290650Shselasky 3131290650Shselaskystruct mlx5_ifc_register_loopback_control_bits { 3132290650Shselasky u8 no_lb[0x1]; 3133290650Shselasky u8 reserved_0[0x7]; 3134290650Shselasky u8 port[0x8]; 3135290650Shselasky u8 reserved_1[0x10]; 3136290650Shselasky 3137290650Shselasky u8 reserved_2[0x60]; 3138290650Shselasky}; 3139290650Shselasky 3140306233Shselaskystruct mlx5_ifc_lrh_bits { 3141306233Shselasky u8 vl[4]; 3142306233Shselasky u8 lver[4]; 3143306233Shselasky u8 sl[4]; 3144306233Shselasky u8 reserved2[2]; 3145306233Shselasky u8 lnh[2]; 3146306233Shselasky u8 dlid[16]; 3147306233Shselasky u8 reserved5[5]; 3148306233Shselasky u8 pkt_len[11]; 3149306233Shselasky u8 slid[16]; 3150306233Shselasky}; 3151306233Shselasky 3152290650Shselaskystruct mlx5_ifc_icmd_set_wol_rol_out_bits { 3153290650Shselasky u8 reserved_0[0x40]; 3154290650Shselasky 3155290650Shselasky u8 reserved_1[0x10]; 3156290650Shselasky u8 rol_mode[0x8]; 3157290650Shselasky u8 wol_mode[0x8]; 3158290650Shselasky}; 3159290650Shselasky 3160290650Shselaskystruct mlx5_ifc_icmd_set_wol_rol_in_bits { 3161290650Shselasky u8 reserved_0[0x40]; 3162290650Shselasky 3163290650Shselasky u8 rol_mode_valid[0x1]; 3164290650Shselasky u8 wol_mode_valid[0x1]; 3165290650Shselasky u8 reserved_1[0xe]; 3166290650Shselasky u8 rol_mode[0x8]; 3167290650Shselasky u8 wol_mode[0x8]; 3168290650Shselasky 3169290650Shselasky u8 reserved_2[0x7a0]; 3170290650Shselasky}; 3171290650Shselasky 3172290650Shselaskystruct mlx5_ifc_icmd_set_virtual_mac_in_bits { 3173290650Shselasky u8 virtual_mac_en[0x1]; 3174290650Shselasky u8 mac_aux_v[0x1]; 3175290650Shselasky u8 reserved_0[0x1e]; 3176290650Shselasky 3177290650Shselasky u8 reserved_1[0x40]; 3178290650Shselasky 3179290650Shselasky struct mlx5_ifc_mac_address_layout_bits virtual_mac; 3180290650Shselasky 3181290650Shselasky u8 reserved_2[0x760]; 3182290650Shselasky}; 3183290650Shselasky 3184290650Shselaskystruct mlx5_ifc_icmd_query_virtual_mac_out_bits { 3185290650Shselasky u8 virtual_mac_en[0x1]; 3186290650Shselasky u8 mac_aux_v[0x1]; 3187290650Shselasky u8 reserved_0[0x1e]; 3188290650Shselasky 3189290650Shselasky struct mlx5_ifc_mac_address_layout_bits permanent_mac; 3190290650Shselasky 3191290650Shselasky struct mlx5_ifc_mac_address_layout_bits virtual_mac; 3192290650Shselasky 3193290650Shselasky u8 reserved_1[0x760]; 3194290650Shselasky}; 3195290650Shselasky 3196290650Shselaskystruct mlx5_ifc_icmd_query_fw_info_out_bits { 3197290650Shselasky struct mlx5_ifc_fw_version_bits fw_version; 3198290650Shselasky 3199290650Shselasky u8 reserved_0[0x10]; 3200290650Shselasky u8 hash_signature[0x10]; 3201290650Shselasky 3202290650Shselasky u8 psid[16][0x8]; 3203290650Shselasky 3204290650Shselasky u8 reserved_1[0x6e0]; 3205290650Shselasky}; 3206290650Shselasky 3207290650Shselaskystruct mlx5_ifc_icmd_query_cap_in_bits { 3208290650Shselasky u8 reserved_0[0x10]; 3209290650Shselasky u8 capability_group[0x10]; 3210290650Shselasky}; 3211290650Shselasky 3212290650Shselaskystruct mlx5_ifc_icmd_query_cap_general_bits { 3213290650Shselasky u8 nv_access[0x1]; 3214290650Shselasky u8 fw_info_psid[0x1]; 3215290650Shselasky u8 reserved_0[0x1e]; 3216290650Shselasky 3217290650Shselasky u8 reserved_1[0x16]; 3218290650Shselasky u8 rol_s[0x1]; 3219290650Shselasky u8 rol_g[0x1]; 3220290650Shselasky u8 reserved_2[0x1]; 3221290650Shselasky u8 wol_s[0x1]; 3222290650Shselasky u8 wol_g[0x1]; 3223290650Shselasky u8 wol_a[0x1]; 3224290650Shselasky u8 wol_b[0x1]; 3225290650Shselasky u8 wol_m[0x1]; 3226290650Shselasky u8 wol_u[0x1]; 3227290650Shselasky u8 wol_p[0x1]; 3228290650Shselasky}; 3229290650Shselasky 3230290650Shselaskystruct mlx5_ifc_icmd_ocbb_query_header_stats_out_bits { 3231290650Shselasky u8 status[0x8]; 3232290650Shselasky u8 reserved_0[0x18]; 3233290650Shselasky 3234290650Shselasky u8 reserved_1[0x7e0]; 3235290650Shselasky}; 3236290650Shselasky 3237290650Shselaskystruct mlx5_ifc_icmd_ocbb_query_etoc_stats_out_bits { 3238290650Shselasky u8 status[0x8]; 3239290650Shselasky u8 reserved_0[0x18]; 3240290650Shselasky 3241290650Shselasky u8 reserved_1[0x7e0]; 3242290650Shselasky}; 3243290650Shselasky 3244290650Shselaskystruct mlx5_ifc_icmd_ocbb_init_in_bits { 3245290650Shselasky u8 address_hi[0x20]; 3246290650Shselasky 3247290650Shselasky u8 address_lo[0x20]; 3248290650Shselasky 3249290650Shselasky u8 reserved_0[0x7c0]; 3250290650Shselasky}; 3251290650Shselasky 3252290650Shselaskystruct mlx5_ifc_icmd_init_ocsd_in_bits { 3253290650Shselasky u8 reserved_0[0x20]; 3254290650Shselasky 3255290650Shselasky u8 address_hi[0x20]; 3256290650Shselasky 3257290650Shselasky u8 address_lo[0x20]; 3258290650Shselasky 3259290650Shselasky u8 reserved_1[0x7a0]; 3260290650Shselasky}; 3261290650Shselasky 3262290650Shselaskystruct mlx5_ifc_icmd_access_reg_out_bits { 3263290650Shselasky u8 reserved_0[0x11]; 3264290650Shselasky u8 status[0x7]; 3265290650Shselasky u8 reserved_1[0x8]; 3266290650Shselasky 3267290650Shselasky u8 register_id[0x10]; 3268290650Shselasky u8 reserved_2[0x10]; 3269290650Shselasky 3270290650Shselasky u8 reserved_3[0x40]; 3271290650Shselasky 3272290650Shselasky u8 reserved_4[0x5]; 3273290650Shselasky u8 len[0xb]; 3274290650Shselasky u8 reserved_5[0x10]; 3275290650Shselasky 3276290650Shselasky u8 register_data[0][0x20]; 3277290650Shselasky}; 3278290650Shselasky 3279290650Shselaskyenum { 3280290650Shselasky MLX5_ICMD_ACCESS_REG_IN_METHOD_QUERY = 0x1, 3281290650Shselasky MLX5_ICMD_ACCESS_REG_IN_METHOD_WRITE = 0x2, 3282290650Shselasky}; 3283290650Shselasky 3284290650Shselaskystruct mlx5_ifc_icmd_access_reg_in_bits { 3285290650Shselasky u8 constant_1[0x5]; 3286290650Shselasky u8 constant_2[0xb]; 3287290650Shselasky u8 reserved_0[0x10]; 3288290650Shselasky 3289290650Shselasky u8 register_id[0x10]; 3290290650Shselasky u8 reserved_1[0x1]; 3291290650Shselasky u8 method[0x7]; 3292290650Shselasky u8 constant_3[0x8]; 3293290650Shselasky 3294290650Shselasky u8 reserved_2[0x40]; 3295290650Shselasky 3296290650Shselasky u8 constant_4[0x5]; 3297290650Shselasky u8 len[0xb]; 3298290650Shselasky u8 reserved_3[0x10]; 3299290650Shselasky 3300290650Shselasky u8 register_data[0][0x20]; 3301290650Shselasky}; 3302290650Shselasky 3303331810Shselaskyenum { 3304331810Shselasky MLX5_TEARDOWN_HCA_OUT_FORCE_STATE_SUCCESS = 0x0, 3305331810Shselasky MLX5_TEARDOWN_HCA_OUT_FORCE_STATE_FAIL = 0x1, 3306331810Shselasky}; 3307331810Shselasky 3308290650Shselaskystruct mlx5_ifc_teardown_hca_out_bits { 3309290650Shselasky u8 status[0x8]; 3310290650Shselasky u8 reserved_0[0x18]; 3311290650Shselasky 3312290650Shselasky u8 syndrome[0x20]; 3313290650Shselasky 3314331810Shselasky u8 reserved_1[0x3f]; 3315331810Shselasky 3316347818Shselasky u8 state[0x1]; 3317290650Shselasky}; 3318290650Shselasky 3319290650Shselaskyenum { 3320290650Shselasky MLX5_TEARDOWN_HCA_IN_PROFILE_GRACEFUL_CLOSE = 0x0, 3321331810Shselasky MLX5_TEARDOWN_HCA_IN_PROFILE_FORCE_CLOSE = 0x1, 3322347818Shselasky MLX5_TEARDOWN_HCA_IN_PROFILE_PREPARE_FAST_TEARDOWN = 0x2, 3323290650Shselasky}; 3324290650Shselasky 3325290650Shselaskystruct mlx5_ifc_teardown_hca_in_bits { 3326290650Shselasky u8 opcode[0x10]; 3327290650Shselasky u8 reserved_0[0x10]; 3328290650Shselasky 3329290650Shselasky u8 reserved_1[0x10]; 3330290650Shselasky u8 op_mod[0x10]; 3331290650Shselasky 3332290650Shselasky u8 reserved_2[0x10]; 3333290650Shselasky u8 profile[0x10]; 3334290650Shselasky 3335290650Shselasky u8 reserved_3[0x20]; 3336290650Shselasky}; 3337290650Shselasky 3338321992Shselaskystruct mlx5_ifc_set_delay_drop_params_out_bits { 3339321992Shselasky u8 status[0x8]; 3340321992Shselasky u8 reserved_at_8[0x18]; 3341321992Shselasky 3342321992Shselasky u8 syndrome[0x20]; 3343321992Shselasky 3344321992Shselasky u8 reserved_at_40[0x40]; 3345321992Shselasky}; 3346321992Shselasky 3347321992Shselaskystruct mlx5_ifc_set_delay_drop_params_in_bits { 3348321992Shselasky u8 opcode[0x10]; 3349321992Shselasky u8 reserved_at_10[0x10]; 3350321992Shselasky 3351321992Shselasky u8 reserved_at_20[0x10]; 3352321992Shselasky u8 op_mod[0x10]; 3353321992Shselasky 3354321992Shselasky u8 reserved_at_40[0x20]; 3355321992Shselasky 3356321992Shselasky u8 reserved_at_60[0x10]; 3357321992Shselasky u8 delay_drop_timeout[0x10]; 3358321992Shselasky}; 3359321992Shselasky 3360321992Shselaskystruct mlx5_ifc_query_delay_drop_params_out_bits { 3361321992Shselasky u8 status[0x8]; 3362321992Shselasky u8 reserved_at_8[0x18]; 3363321992Shselasky 3364321992Shselasky u8 syndrome[0x20]; 3365321992Shselasky 3366321992Shselasky u8 reserved_at_40[0x20]; 3367321992Shselasky 3368321992Shselasky u8 reserved_at_60[0x10]; 3369321992Shselasky u8 delay_drop_timeout[0x10]; 3370321992Shselasky}; 3371321992Shselasky 3372321992Shselaskystruct mlx5_ifc_query_delay_drop_params_in_bits { 3373321992Shselasky u8 opcode[0x10]; 3374321992Shselasky u8 reserved_at_10[0x10]; 3375321992Shselasky 3376321992Shselasky u8 reserved_at_20[0x10]; 3377321992Shselasky u8 op_mod[0x10]; 3378321992Shselasky 3379321992Shselasky u8 reserved_at_40[0x40]; 3380321992Shselasky}; 3381321992Shselasky 3382290650Shselaskystruct mlx5_ifc_suspend_qp_out_bits { 3383290650Shselasky u8 status[0x8]; 3384290650Shselasky u8 reserved_0[0x18]; 3385290650Shselasky 3386290650Shselasky u8 syndrome[0x20]; 3387290650Shselasky 3388290650Shselasky u8 reserved_1[0x40]; 3389290650Shselasky}; 3390290650Shselasky 3391290650Shselaskystruct mlx5_ifc_suspend_qp_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[0x8]; 3399290650Shselasky u8 qpn[0x18]; 3400290650Shselasky 3401290650Shselasky u8 reserved_3[0x20]; 3402290650Shselasky}; 3403290650Shselasky 3404290650Shselaskystruct mlx5_ifc_sqerr2rts_qp_out_bits { 3405290650Shselasky u8 status[0x8]; 3406290650Shselasky u8 reserved_0[0x18]; 3407290650Shselasky 3408290650Shselasky u8 syndrome[0x20]; 3409290650Shselasky 3410290650Shselasky u8 reserved_1[0x40]; 3411290650Shselasky}; 3412290650Shselasky 3413290650Shselaskystruct mlx5_ifc_sqerr2rts_qp_in_bits { 3414290650Shselasky u8 opcode[0x10]; 3415290650Shselasky u8 reserved_0[0x10]; 3416290650Shselasky 3417290650Shselasky u8 reserved_1[0x10]; 3418290650Shselasky u8 op_mod[0x10]; 3419290650Shselasky 3420290650Shselasky u8 reserved_2[0x8]; 3421290650Shselasky u8 qpn[0x18]; 3422290650Shselasky 3423290650Shselasky u8 reserved_3[0x20]; 3424290650Shselasky 3425290650Shselasky u8 opt_param_mask[0x20]; 3426290650Shselasky 3427290650Shselasky u8 reserved_4[0x20]; 3428290650Shselasky 3429290650Shselasky struct mlx5_ifc_qpc_bits qpc; 3430290650Shselasky 3431290650Shselasky u8 reserved_5[0x80]; 3432290650Shselasky}; 3433290650Shselasky 3434290650Shselaskystruct mlx5_ifc_sqd2rts_qp_out_bits { 3435290650Shselasky u8 status[0x8]; 3436290650Shselasky u8 reserved_0[0x18]; 3437290650Shselasky 3438290650Shselasky u8 syndrome[0x20]; 3439290650Shselasky 3440290650Shselasky u8 reserved_1[0x40]; 3441290650Shselasky}; 3442290650Shselasky 3443290650Shselaskystruct mlx5_ifc_sqd2rts_qp_in_bits { 3444290650Shselasky u8 opcode[0x10]; 3445290650Shselasky u8 reserved_0[0x10]; 3446290650Shselasky 3447290650Shselasky u8 reserved_1[0x10]; 3448290650Shselasky u8 op_mod[0x10]; 3449290650Shselasky 3450290650Shselasky u8 reserved_2[0x8]; 3451290650Shselasky u8 qpn[0x18]; 3452290650Shselasky 3453290650Shselasky u8 reserved_3[0x20]; 3454290650Shselasky 3455290650Shselasky u8 opt_param_mask[0x20]; 3456290650Shselasky 3457290650Shselasky u8 reserved_4[0x20]; 3458290650Shselasky 3459290650Shselasky struct mlx5_ifc_qpc_bits qpc; 3460290650Shselasky 3461290650Shselasky u8 reserved_5[0x80]; 3462290650Shselasky}; 3463290650Shselasky 3464290650Shselaskystruct mlx5_ifc_set_wol_rol_out_bits { 3465290650Shselasky u8 status[0x8]; 3466290650Shselasky u8 reserved_0[0x18]; 3467290650Shselasky 3468290650Shselasky u8 syndrome[0x20]; 3469290650Shselasky 3470290650Shselasky u8 reserved_1[0x40]; 3471290650Shselasky}; 3472290650Shselasky 3473290650Shselaskystruct mlx5_ifc_set_wol_rol_in_bits { 3474290650Shselasky u8 opcode[0x10]; 3475290650Shselasky u8 reserved_0[0x10]; 3476290650Shselasky 3477290650Shselasky u8 reserved_1[0x10]; 3478290650Shselasky u8 op_mod[0x10]; 3479290650Shselasky 3480290650Shselasky u8 rol_mode_valid[0x1]; 3481290650Shselasky u8 wol_mode_valid[0x1]; 3482290650Shselasky u8 reserved_2[0xe]; 3483290650Shselasky u8 rol_mode[0x8]; 3484290650Shselasky u8 wol_mode[0x8]; 3485290650Shselasky 3486290650Shselasky u8 reserved_3[0x20]; 3487290650Shselasky}; 3488290650Shselasky 3489290650Shselaskystruct mlx5_ifc_set_roce_address_out_bits { 3490290650Shselasky u8 status[0x8]; 3491290650Shselasky u8 reserved_0[0x18]; 3492290650Shselasky 3493290650Shselasky u8 syndrome[0x20]; 3494290650Shselasky 3495290650Shselasky u8 reserved_1[0x40]; 3496290650Shselasky}; 3497290650Shselasky 3498290650Shselaskystruct mlx5_ifc_set_roce_address_in_bits { 3499290650Shselasky u8 opcode[0x10]; 3500290650Shselasky u8 reserved_0[0x10]; 3501290650Shselasky 3502290650Shselasky u8 reserved_1[0x10]; 3503290650Shselasky u8 op_mod[0x10]; 3504290650Shselasky 3505290650Shselasky u8 roce_address_index[0x10]; 3506290650Shselasky u8 reserved_2[0x10]; 3507290650Shselasky 3508290650Shselasky u8 reserved_3[0x20]; 3509290650Shselasky 3510290650Shselasky struct mlx5_ifc_roce_addr_layout_bits roce_address; 3511290650Shselasky}; 3512290650Shselasky 3513290650Shselaskystruct mlx5_ifc_set_rdb_out_bits { 3514290650Shselasky u8 status[0x8]; 3515290650Shselasky u8 reserved_0[0x18]; 3516290650Shselasky 3517290650Shselasky u8 syndrome[0x20]; 3518290650Shselasky 3519290650Shselasky u8 reserved_1[0x40]; 3520290650Shselasky}; 3521290650Shselasky 3522290650Shselaskystruct mlx5_ifc_set_rdb_in_bits { 3523290650Shselasky u8 opcode[0x10]; 3524290650Shselasky u8 reserved_0[0x10]; 3525290650Shselasky 3526290650Shselasky u8 reserved_1[0x10]; 3527290650Shselasky u8 op_mod[0x10]; 3528290650Shselasky 3529290650Shselasky u8 reserved_2[0x8]; 3530290650Shselasky u8 qpn[0x18]; 3531290650Shselasky 3532290650Shselasky u8 reserved_3[0x18]; 3533290650Shselasky u8 rdb_list_size[0x8]; 3534290650Shselasky 3535290650Shselasky struct mlx5_ifc_rdbc_bits rdb_context[0]; 3536290650Shselasky}; 3537290650Shselasky 3538290650Shselaskystruct mlx5_ifc_set_mad_demux_out_bits { 3539290650Shselasky u8 status[0x8]; 3540290650Shselasky u8 reserved_0[0x18]; 3541290650Shselasky 3542290650Shselasky u8 syndrome[0x20]; 3543290650Shselasky 3544290650Shselasky u8 reserved_1[0x40]; 3545290650Shselasky}; 3546290650Shselasky 3547290650Shselaskyenum { 3548290650Shselasky MLX5_SET_MAD_DEMUX_IN_DEMUX_MODE_PASS_ALL = 0x0, 3549290650Shselasky MLX5_SET_MAD_DEMUX_IN_DEMUX_MODE_SELECTIVE = 0x2, 3550290650Shselasky}; 3551290650Shselasky 3552290650Shselaskystruct mlx5_ifc_set_mad_demux_in_bits { 3553290650Shselasky u8 opcode[0x10]; 3554290650Shselasky u8 reserved_0[0x10]; 3555290650Shselasky 3556290650Shselasky u8 reserved_1[0x10]; 3557290650Shselasky u8 op_mod[0x10]; 3558290650Shselasky 3559290650Shselasky u8 reserved_2[0x20]; 3560290650Shselasky 3561290650Shselasky u8 reserved_3[0x6]; 3562290650Shselasky u8 demux_mode[0x2]; 3563290650Shselasky u8 reserved_4[0x18]; 3564290650Shselasky}; 3565290650Shselasky 3566290650Shselaskystruct mlx5_ifc_set_l2_table_entry_out_bits { 3567290650Shselasky u8 status[0x8]; 3568290650Shselasky u8 reserved_0[0x18]; 3569290650Shselasky 3570290650Shselasky u8 syndrome[0x20]; 3571290650Shselasky 3572290650Shselasky u8 reserved_1[0x40]; 3573290650Shselasky}; 3574290650Shselasky 3575290650Shselaskystruct mlx5_ifc_set_l2_table_entry_in_bits { 3576290650Shselasky u8 opcode[0x10]; 3577290650Shselasky u8 reserved_0[0x10]; 3578290650Shselasky 3579290650Shselasky u8 reserved_1[0x10]; 3580290650Shselasky u8 op_mod[0x10]; 3581290650Shselasky 3582290650Shselasky u8 reserved_2[0x60]; 3583290650Shselasky 3584290650Shselasky u8 reserved_3[0x8]; 3585290650Shselasky u8 table_index[0x18]; 3586290650Shselasky 3587290650Shselasky u8 reserved_4[0x20]; 3588290650Shselasky 3589290650Shselasky u8 reserved_5[0x13]; 3590290650Shselasky u8 vlan_valid[0x1]; 3591290650Shselasky u8 vlan[0xc]; 3592290650Shselasky 3593290650Shselasky struct mlx5_ifc_mac_address_layout_bits mac_address; 3594290650Shselasky 3595290650Shselasky u8 reserved_6[0xc0]; 3596290650Shselasky}; 3597290650Shselasky 3598290650Shselaskystruct mlx5_ifc_set_issi_out_bits { 3599290650Shselasky u8 status[0x8]; 3600290650Shselasky u8 reserved_0[0x18]; 3601290650Shselasky 3602290650Shselasky u8 syndrome[0x20]; 3603290650Shselasky 3604290650Shselasky u8 reserved_1[0x40]; 3605290650Shselasky}; 3606290650Shselasky 3607290650Shselaskystruct mlx5_ifc_set_issi_in_bits { 3608290650Shselasky u8 opcode[0x10]; 3609290650Shselasky u8 reserved_0[0x10]; 3610290650Shselasky 3611290650Shselasky u8 reserved_1[0x10]; 3612290650Shselasky u8 op_mod[0x10]; 3613290650Shselasky 3614290650Shselasky u8 reserved_2[0x10]; 3615290650Shselasky u8 current_issi[0x10]; 3616290650Shselasky 3617290650Shselasky u8 reserved_3[0x20]; 3618290650Shselasky}; 3619290650Shselasky 3620290650Shselaskystruct mlx5_ifc_set_hca_cap_out_bits { 3621290650Shselasky u8 status[0x8]; 3622290650Shselasky u8 reserved_0[0x18]; 3623290650Shselasky 3624290650Shselasky u8 syndrome[0x20]; 3625290650Shselasky 3626290650Shselasky u8 reserved_1[0x40]; 3627290650Shselasky}; 3628290650Shselasky 3629290650Shselaskystruct mlx5_ifc_set_hca_cap_in_bits { 3630290650Shselasky u8 opcode[0x10]; 3631290650Shselasky u8 reserved_0[0x10]; 3632290650Shselasky 3633290650Shselasky u8 reserved_1[0x10]; 3634290650Shselasky u8 op_mod[0x10]; 3635290650Shselasky 3636290650Shselasky u8 reserved_2[0x40]; 3637290650Shselasky 3638290650Shselasky union mlx5_ifc_hca_cap_union_bits capability; 3639290650Shselasky}; 3640290650Shselasky 3641306233Shselaskyenum { 3642306233Shselasky MLX5_SET_FTE_MODIFY_ENABLE_MASK_ACTION = 0x0, 3643306233Shselasky MLX5_SET_FTE_MODIFY_ENABLE_MASK_FLOW_TAG = 0x1, 3644306233Shselasky MLX5_SET_FTE_MODIFY_ENABLE_MASK_DESTINATION_LIST = 0x2, 3645306233Shselasky MLX5_SET_FTE_MODIFY_ENABLE_MASK_FLOW_COUNTERS = 0x3 3646306233Shselasky}; 3647306233Shselasky 3648290650Shselaskystruct mlx5_ifc_set_flow_table_root_out_bits { 3649290650Shselasky u8 status[0x8]; 3650290650Shselasky u8 reserved_0[0x18]; 3651290650Shselasky 3652290650Shselasky u8 syndrome[0x20]; 3653290650Shselasky 3654290650Shselasky u8 reserved_1[0x40]; 3655290650Shselasky}; 3656290650Shselasky 3657290650Shselaskystruct mlx5_ifc_set_flow_table_root_in_bits { 3658290650Shselasky u8 opcode[0x10]; 3659290650Shselasky u8 reserved_0[0x10]; 3660290650Shselasky 3661290650Shselasky u8 reserved_1[0x10]; 3662290650Shselasky u8 op_mod[0x10]; 3663290650Shselasky 3664290650Shselasky u8 other_vport[0x1]; 3665290650Shselasky u8 reserved_2[0xf]; 3666290650Shselasky u8 vport_number[0x10]; 3667290650Shselasky 3668290650Shselasky u8 reserved_3[0x20]; 3669290650Shselasky 3670290650Shselasky u8 table_type[0x8]; 3671290650Shselasky u8 reserved_4[0x18]; 3672290650Shselasky 3673290650Shselasky u8 reserved_5[0x8]; 3674290650Shselasky u8 table_id[0x18]; 3675290650Shselasky 3676306233Shselasky u8 reserved_6[0x8]; 3677306233Shselasky u8 underlay_qpn[0x18]; 3678306233Shselasky 3679306233Shselasky u8 reserved_7[0x120]; 3680290650Shselasky}; 3681290650Shselasky 3682290650Shselaskystruct mlx5_ifc_set_fte_out_bits { 3683290650Shselasky u8 status[0x8]; 3684290650Shselasky u8 reserved_0[0x18]; 3685290650Shselasky 3686290650Shselasky u8 syndrome[0x20]; 3687290650Shselasky 3688290650Shselasky u8 reserved_1[0x40]; 3689290650Shselasky}; 3690290650Shselasky 3691290650Shselaskystruct mlx5_ifc_set_fte_in_bits { 3692290650Shselasky u8 opcode[0x10]; 3693290650Shselasky u8 reserved_0[0x10]; 3694290650Shselasky 3695290650Shselasky u8 reserved_1[0x10]; 3696290650Shselasky u8 op_mod[0x10]; 3697290650Shselasky 3698290650Shselasky u8 other_vport[0x1]; 3699290650Shselasky u8 reserved_2[0xf]; 3700290650Shselasky u8 vport_number[0x10]; 3701290650Shselasky 3702290650Shselasky u8 reserved_3[0x20]; 3703290650Shselasky 3704290650Shselasky u8 table_type[0x8]; 3705290650Shselasky u8 reserved_4[0x18]; 3706290650Shselasky 3707290650Shselasky u8 reserved_5[0x8]; 3708290650Shselasky u8 table_id[0x18]; 3709290650Shselasky 3710290650Shselasky u8 reserved_6[0x18]; 3711290650Shselasky u8 modify_enable_mask[0x8]; 3712290650Shselasky 3713290650Shselasky u8 reserved_7[0x20]; 3714290650Shselasky 3715290650Shselasky u8 flow_index[0x20]; 3716290650Shselasky 3717290650Shselasky u8 reserved_8[0xe0]; 3718290650Shselasky 3719290650Shselasky struct mlx5_ifc_flow_context_bits flow_context; 3720290650Shselasky}; 3721290650Shselasky 3722290650Shselaskystruct mlx5_ifc_set_driver_version_out_bits { 3723290650Shselasky u8 status[0x8]; 3724290650Shselasky u8 reserved_0[0x18]; 3725290650Shselasky 3726290650Shselasky u8 syndrome[0x20]; 3727290650Shselasky 3728290650Shselasky u8 reserved_1[0x40]; 3729290650Shselasky}; 3730290650Shselasky 3731290650Shselaskystruct mlx5_ifc_set_driver_version_in_bits { 3732290650Shselasky u8 opcode[0x10]; 3733290650Shselasky u8 reserved_0[0x10]; 3734290650Shselasky 3735290650Shselasky u8 reserved_1[0x10]; 3736290650Shselasky u8 op_mod[0x10]; 3737290650Shselasky 3738290650Shselasky u8 reserved_2[0x40]; 3739290650Shselasky 3740290650Shselasky u8 driver_version[64][0x8]; 3741290650Shselasky}; 3742290650Shselasky 3743290650Shselaskystruct mlx5_ifc_set_dc_cnak_trace_out_bits { 3744290650Shselasky u8 status[0x8]; 3745290650Shselasky u8 reserved_0[0x18]; 3746290650Shselasky 3747290650Shselasky u8 syndrome[0x20]; 3748290650Shselasky 3749290650Shselasky u8 reserved_1[0x40]; 3750290650Shselasky}; 3751290650Shselasky 3752290650Shselaskystruct mlx5_ifc_set_dc_cnak_trace_in_bits { 3753290650Shselasky u8 opcode[0x10]; 3754290650Shselasky u8 reserved_0[0x10]; 3755290650Shselasky 3756290650Shselasky u8 reserved_1[0x10]; 3757290650Shselasky u8 op_mod[0x10]; 3758290650Shselasky 3759290650Shselasky u8 enable[0x1]; 3760290650Shselasky u8 reserved_2[0x1f]; 3761290650Shselasky 3762290650Shselasky u8 reserved_3[0x160]; 3763290650Shselasky 3764290650Shselasky struct mlx5_ifc_cmd_pas_bits pas; 3765290650Shselasky}; 3766290650Shselasky 3767290650Shselaskystruct mlx5_ifc_set_burst_size_out_bits { 3768290650Shselasky u8 status[0x8]; 3769290650Shselasky u8 reserved_0[0x18]; 3770290650Shselasky 3771290650Shselasky u8 syndrome[0x20]; 3772290650Shselasky 3773290650Shselasky u8 reserved_1[0x40]; 3774290650Shselasky}; 3775290650Shselasky 3776290650Shselaskystruct mlx5_ifc_set_burst_size_in_bits { 3777290650Shselasky u8 opcode[0x10]; 3778290650Shselasky u8 reserved_0[0x10]; 3779290650Shselasky 3780290650Shselasky u8 reserved_1[0x10]; 3781290650Shselasky u8 op_mod[0x10]; 3782290650Shselasky 3783290650Shselasky u8 reserved_2[0x20]; 3784290650Shselasky 3785290650Shselasky u8 reserved_3[0x9]; 3786290650Shselasky u8 device_burst_size[0x17]; 3787290650Shselasky}; 3788290650Shselasky 3789290650Shselaskystruct mlx5_ifc_rts2rts_qp_out_bits { 3790290650Shselasky u8 status[0x8]; 3791290650Shselasky u8 reserved_0[0x18]; 3792290650Shselasky 3793290650Shselasky u8 syndrome[0x20]; 3794290650Shselasky 3795290650Shselasky u8 reserved_1[0x40]; 3796290650Shselasky}; 3797290650Shselasky 3798290650Shselaskystruct mlx5_ifc_rts2rts_qp_in_bits { 3799290650Shselasky u8 opcode[0x10]; 3800290650Shselasky u8 reserved_0[0x10]; 3801290650Shselasky 3802290650Shselasky u8 reserved_1[0x10]; 3803290650Shselasky u8 op_mod[0x10]; 3804290650Shselasky 3805290650Shselasky u8 reserved_2[0x8]; 3806290650Shselasky u8 qpn[0x18]; 3807290650Shselasky 3808290650Shselasky u8 reserved_3[0x20]; 3809290650Shselasky 3810290650Shselasky u8 opt_param_mask[0x20]; 3811290650Shselasky 3812290650Shselasky u8 reserved_4[0x20]; 3813290650Shselasky 3814290650Shselasky struct mlx5_ifc_qpc_bits qpc; 3815290650Shselasky 3816290650Shselasky u8 reserved_5[0x80]; 3817290650Shselasky}; 3818290650Shselasky 3819290650Shselaskystruct mlx5_ifc_rtr2rts_qp_out_bits { 3820290650Shselasky u8 status[0x8]; 3821290650Shselasky u8 reserved_0[0x18]; 3822290650Shselasky 3823290650Shselasky u8 syndrome[0x20]; 3824290650Shselasky 3825290650Shselasky u8 reserved_1[0x40]; 3826290650Shselasky}; 3827290650Shselasky 3828290650Shselaskystruct mlx5_ifc_rtr2rts_qp_in_bits { 3829290650Shselasky u8 opcode[0x10]; 3830290650Shselasky u8 reserved_0[0x10]; 3831290650Shselasky 3832290650Shselasky u8 reserved_1[0x10]; 3833290650Shselasky u8 op_mod[0x10]; 3834290650Shselasky 3835290650Shselasky u8 reserved_2[0x8]; 3836290650Shselasky u8 qpn[0x18]; 3837290650Shselasky 3838290650Shselasky u8 reserved_3[0x20]; 3839290650Shselasky 3840290650Shselasky u8 opt_param_mask[0x20]; 3841290650Shselasky 3842290650Shselasky u8 reserved_4[0x20]; 3843290650Shselasky 3844290650Shselasky struct mlx5_ifc_qpc_bits qpc; 3845290650Shselasky 3846290650Shselasky u8 reserved_5[0x80]; 3847290650Shselasky}; 3848290650Shselasky 3849290650Shselaskystruct mlx5_ifc_rst2init_qp_out_bits { 3850290650Shselasky u8 status[0x8]; 3851290650Shselasky u8 reserved_0[0x18]; 3852290650Shselasky 3853290650Shselasky u8 syndrome[0x20]; 3854290650Shselasky 3855290650Shselasky u8 reserved_1[0x40]; 3856290650Shselasky}; 3857290650Shselasky 3858290650Shselaskystruct mlx5_ifc_rst2init_qp_in_bits { 3859290650Shselasky u8 opcode[0x10]; 3860290650Shselasky u8 reserved_0[0x10]; 3861290650Shselasky 3862290650Shselasky u8 reserved_1[0x10]; 3863290650Shselasky u8 op_mod[0x10]; 3864290650Shselasky 3865290650Shselasky u8 reserved_2[0x8]; 3866290650Shselasky u8 qpn[0x18]; 3867290650Shselasky 3868290650Shselasky u8 reserved_3[0x20]; 3869290650Shselasky 3870290650Shselasky u8 opt_param_mask[0x20]; 3871290650Shselasky 3872290650Shselasky u8 reserved_4[0x20]; 3873290650Shselasky 3874290650Shselasky struct mlx5_ifc_qpc_bits qpc; 3875290650Shselasky 3876290650Shselasky u8 reserved_5[0x80]; 3877290650Shselasky}; 3878290650Shselasky 3879290650Shselaskystruct mlx5_ifc_resume_qp_out_bits { 3880290650Shselasky u8 status[0x8]; 3881290650Shselasky u8 reserved_0[0x18]; 3882290650Shselasky 3883290650Shselasky u8 syndrome[0x20]; 3884290650Shselasky 3885290650Shselasky u8 reserved_1[0x40]; 3886290650Shselasky}; 3887290650Shselasky 3888290650Shselaskystruct mlx5_ifc_resume_qp_in_bits { 3889290650Shselasky u8 opcode[0x10]; 3890290650Shselasky u8 reserved_0[0x10]; 3891290650Shselasky 3892290650Shselasky u8 reserved_1[0x10]; 3893290650Shselasky u8 op_mod[0x10]; 3894290650Shselasky 3895290650Shselasky u8 reserved_2[0x8]; 3896290650Shselasky u8 qpn[0x18]; 3897290650Shselasky 3898290650Shselasky u8 reserved_3[0x20]; 3899290650Shselasky}; 3900290650Shselasky 3901290650Shselaskystruct mlx5_ifc_query_xrc_srq_out_bits { 3902290650Shselasky u8 status[0x8]; 3903290650Shselasky u8 reserved_0[0x18]; 3904290650Shselasky 3905290650Shselasky u8 syndrome[0x20]; 3906290650Shselasky 3907290650Shselasky u8 reserved_1[0x40]; 3908290650Shselasky 3909290650Shselasky struct mlx5_ifc_xrc_srqc_bits xrc_srq_context_entry; 3910290650Shselasky 3911290650Shselasky u8 reserved_2[0x600]; 3912290650Shselasky 3913290650Shselasky u8 pas[0][0x40]; 3914290650Shselasky}; 3915290650Shselasky 3916290650Shselaskystruct mlx5_ifc_query_xrc_srq_in_bits { 3917290650Shselasky u8 opcode[0x10]; 3918290650Shselasky u8 reserved_0[0x10]; 3919290650Shselasky 3920290650Shselasky u8 reserved_1[0x10]; 3921290650Shselasky u8 op_mod[0x10]; 3922290650Shselasky 3923290650Shselasky u8 reserved_2[0x8]; 3924290650Shselasky u8 xrc_srqn[0x18]; 3925290650Shselasky 3926290650Shselasky u8 reserved_3[0x20]; 3927290650Shselasky}; 3928290650Shselasky 3929290650Shselaskystruct mlx5_ifc_query_wol_rol_out_bits { 3930290650Shselasky u8 status[0x8]; 3931290650Shselasky u8 reserved_0[0x18]; 3932290650Shselasky 3933290650Shselasky u8 syndrome[0x20]; 3934290650Shselasky 3935290650Shselasky u8 reserved_1[0x10]; 3936290650Shselasky u8 rol_mode[0x8]; 3937290650Shselasky u8 wol_mode[0x8]; 3938290650Shselasky 3939290650Shselasky u8 reserved_2[0x20]; 3940290650Shselasky}; 3941290650Shselasky 3942290650Shselaskystruct mlx5_ifc_query_wol_rol_in_bits { 3943290650Shselasky u8 opcode[0x10]; 3944290650Shselasky u8 reserved_0[0x10]; 3945290650Shselasky 3946290650Shselasky u8 reserved_1[0x10]; 3947290650Shselasky u8 op_mod[0x10]; 3948290650Shselasky 3949290650Shselasky u8 reserved_2[0x40]; 3950290650Shselasky}; 3951290650Shselasky 3952290650Shselaskyenum { 3953290650Shselasky MLX5_QUERY_VPORT_STATE_OUT_STATE_DOWN = 0x0, 3954290650Shselasky MLX5_QUERY_VPORT_STATE_OUT_STATE_UP = 0x1, 3955290650Shselasky}; 3956290650Shselasky 3957290650Shselaskystruct mlx5_ifc_query_vport_state_out_bits { 3958290650Shselasky u8 status[0x8]; 3959290650Shselasky u8 reserved_0[0x18]; 3960290650Shselasky 3961290650Shselasky u8 syndrome[0x20]; 3962290650Shselasky 3963290650Shselasky u8 reserved_1[0x20]; 3964290650Shselasky 3965290650Shselasky u8 reserved_2[0x18]; 3966290650Shselasky u8 admin_state[0x4]; 3967290650Shselasky u8 state[0x4]; 3968290650Shselasky}; 3969290650Shselasky 3970290650Shselaskyenum { 3971290650Shselasky MLX5_QUERY_VPORT_STATE_IN_OP_MOD_VNIC_VPORT = 0x0, 3972290650Shselasky MLX5_QUERY_VPORT_STATE_IN_OP_MOD_ESW_VPORT = 0x1, 3973290650Shselasky MLX5_QUERY_VPORT_STATE_IN_OP_MOD_UPLINK = 0x2, 3974290650Shselasky}; 3975290650Shselasky 3976290650Shselaskystruct mlx5_ifc_query_vport_state_in_bits { 3977290650Shselasky u8 opcode[0x10]; 3978290650Shselasky u8 reserved_0[0x10]; 3979290650Shselasky 3980290650Shselasky u8 reserved_1[0x10]; 3981290650Shselasky u8 op_mod[0x10]; 3982290650Shselasky 3983290650Shselasky u8 other_vport[0x1]; 3984290650Shselasky u8 reserved_2[0xf]; 3985290650Shselasky u8 vport_number[0x10]; 3986290650Shselasky 3987290650Shselasky u8 reserved_3[0x20]; 3988290650Shselasky}; 3989290650Shselasky 3990347850Shselaskystruct mlx5_ifc_query_vnic_env_out_bits { 3991347850Shselasky u8 status[0x8]; 3992347850Shselasky u8 reserved_at_8[0x18]; 3993347850Shselasky 3994347850Shselasky u8 syndrome[0x20]; 3995347850Shselasky 3996347850Shselasky u8 reserved_at_40[0x40]; 3997347850Shselasky 3998347850Shselasky struct mlx5_ifc_vnic_diagnostic_statistics_bits vport_env; 3999347850Shselasky}; 4000347850Shselasky 4001347850Shselaskyenum { 4002347850Shselasky MLX5_QUERY_VNIC_ENV_IN_OP_MOD_VPORT_DIAG_STATISTICS = 0x0, 4003347850Shselasky}; 4004347850Shselasky 4005347850Shselaskystruct mlx5_ifc_query_vnic_env_in_bits { 4006347850Shselasky u8 opcode[0x10]; 4007347850Shselasky u8 reserved_at_10[0x10]; 4008347850Shselasky 4009347850Shselasky u8 reserved_at_20[0x10]; 4010347850Shselasky u8 op_mod[0x10]; 4011347850Shselasky 4012347850Shselasky u8 other_vport[0x1]; 4013347850Shselasky u8 reserved_at_41[0xf]; 4014347850Shselasky u8 vport_number[0x10]; 4015347850Shselasky 4016347850Shselasky u8 reserved_at_60[0x20]; 4017347850Shselasky}; 4018347850Shselasky 4019290650Shselaskystruct mlx5_ifc_query_vport_counter_out_bits { 4020290650Shselasky u8 status[0x8]; 4021290650Shselasky u8 reserved_0[0x18]; 4022290650Shselasky 4023290650Shselasky u8 syndrome[0x20]; 4024290650Shselasky 4025290650Shselasky u8 reserved_1[0x40]; 4026290650Shselasky 4027290650Shselasky struct mlx5_ifc_traffic_counter_bits received_errors; 4028290650Shselasky 4029290650Shselasky struct mlx5_ifc_traffic_counter_bits transmit_errors; 4030290650Shselasky 4031290650Shselasky struct mlx5_ifc_traffic_counter_bits received_ib_unicast; 4032290650Shselasky 4033290650Shselasky struct mlx5_ifc_traffic_counter_bits transmitted_ib_unicast; 4034290650Shselasky 4035290650Shselasky struct mlx5_ifc_traffic_counter_bits received_ib_multicast; 4036290650Shselasky 4037290650Shselasky struct mlx5_ifc_traffic_counter_bits transmitted_ib_multicast; 4038290650Shselasky 4039290650Shselasky struct mlx5_ifc_traffic_counter_bits received_eth_broadcast; 4040290650Shselasky 4041290650Shselasky struct mlx5_ifc_traffic_counter_bits transmitted_eth_broadcast; 4042290650Shselasky 4043290650Shselasky struct mlx5_ifc_traffic_counter_bits received_eth_unicast; 4044290650Shselasky 4045290650Shselasky struct mlx5_ifc_traffic_counter_bits transmitted_eth_unicast; 4046290650Shselasky 4047290650Shselasky struct mlx5_ifc_traffic_counter_bits received_eth_multicast; 4048290650Shselasky 4049290650Shselasky struct mlx5_ifc_traffic_counter_bits transmitted_eth_multicast; 4050290650Shselasky 4051290650Shselasky u8 reserved_2[0xa00]; 4052290650Shselasky}; 4053290650Shselasky 4054290650Shselaskyenum { 4055290650Shselasky MLX5_QUERY_VPORT_COUNTER_IN_OP_MOD_VPORT_COUNTERS = 0x0, 4056290650Shselasky}; 4057290650Shselasky 4058290650Shselaskystruct mlx5_ifc_query_vport_counter_in_bits { 4059290650Shselasky u8 opcode[0x10]; 4060290650Shselasky u8 reserved_0[0x10]; 4061290650Shselasky 4062290650Shselasky u8 reserved_1[0x10]; 4063290650Shselasky u8 op_mod[0x10]; 4064290650Shselasky 4065290650Shselasky u8 other_vport[0x1]; 4066290650Shselasky u8 reserved_2[0xb]; 4067290650Shselasky u8 port_num[0x4]; 4068290650Shselasky u8 vport_number[0x10]; 4069290650Shselasky 4070290650Shselasky u8 reserved_3[0x60]; 4071290650Shselasky 4072290650Shselasky u8 clear[0x1]; 4073290650Shselasky u8 reserved_4[0x1f]; 4074290650Shselasky 4075290650Shselasky u8 reserved_5[0x20]; 4076290650Shselasky}; 4077290650Shselasky 4078290650Shselaskystruct mlx5_ifc_query_tis_out_bits { 4079290650Shselasky u8 status[0x8]; 4080290650Shselasky u8 reserved_0[0x18]; 4081290650Shselasky 4082290650Shselasky u8 syndrome[0x20]; 4083290650Shselasky 4084290650Shselasky u8 reserved_1[0x40]; 4085290650Shselasky 4086290650Shselasky struct mlx5_ifc_tisc_bits tis_context; 4087290650Shselasky}; 4088290650Shselasky 4089290650Shselaskystruct mlx5_ifc_query_tis_in_bits { 4090290650Shselasky u8 opcode[0x10]; 4091290650Shselasky u8 reserved_0[0x10]; 4092290650Shselasky 4093290650Shselasky u8 reserved_1[0x10]; 4094290650Shselasky u8 op_mod[0x10]; 4095290650Shselasky 4096290650Shselasky u8 reserved_2[0x8]; 4097290650Shselasky u8 tisn[0x18]; 4098290650Shselasky 4099290650Shselasky u8 reserved_3[0x20]; 4100290650Shselasky}; 4101290650Shselasky 4102290650Shselaskystruct mlx5_ifc_query_tir_out_bits { 4103290650Shselasky u8 status[0x8]; 4104290650Shselasky u8 reserved_0[0x18]; 4105290650Shselasky 4106290650Shselasky u8 syndrome[0x20]; 4107290650Shselasky 4108290650Shselasky u8 reserved_1[0xc0]; 4109290650Shselasky 4110290650Shselasky struct mlx5_ifc_tirc_bits tir_context; 4111290650Shselasky}; 4112290650Shselasky 4113290650Shselaskystruct mlx5_ifc_query_tir_in_bits { 4114290650Shselasky u8 opcode[0x10]; 4115290650Shselasky u8 reserved_0[0x10]; 4116290650Shselasky 4117290650Shselasky u8 reserved_1[0x10]; 4118290650Shselasky u8 op_mod[0x10]; 4119290650Shselasky 4120290650Shselasky u8 reserved_2[0x8]; 4121290650Shselasky u8 tirn[0x18]; 4122290650Shselasky 4123290650Shselasky u8 reserved_3[0x20]; 4124290650Shselasky}; 4125290650Shselasky 4126290650Shselaskystruct mlx5_ifc_query_srq_out_bits { 4127290650Shselasky u8 status[0x8]; 4128290650Shselasky u8 reserved_0[0x18]; 4129290650Shselasky 4130290650Shselasky u8 syndrome[0x20]; 4131290650Shselasky 4132290650Shselasky u8 reserved_1[0x40]; 4133290650Shselasky 4134290650Shselasky struct mlx5_ifc_srqc_bits srq_context_entry; 4135290650Shselasky 4136290650Shselasky u8 reserved_2[0x600]; 4137290650Shselasky 4138290650Shselasky u8 pas[0][0x40]; 4139290650Shselasky}; 4140290650Shselasky 4141290650Shselaskystruct mlx5_ifc_query_srq_in_bits { 4142290650Shselasky u8 opcode[0x10]; 4143290650Shselasky u8 reserved_0[0x10]; 4144290650Shselasky 4145290650Shselasky u8 reserved_1[0x10]; 4146290650Shselasky u8 op_mod[0x10]; 4147290650Shselasky 4148290650Shselasky u8 reserved_2[0x8]; 4149290650Shselasky u8 srqn[0x18]; 4150290650Shselasky 4151290650Shselasky u8 reserved_3[0x20]; 4152290650Shselasky}; 4153290650Shselasky 4154290650Shselaskystruct mlx5_ifc_query_sq_out_bits { 4155290650Shselasky u8 status[0x8]; 4156290650Shselasky u8 reserved_0[0x18]; 4157290650Shselasky 4158290650Shselasky u8 syndrome[0x20]; 4159290650Shselasky 4160290650Shselasky u8 reserved_1[0xc0]; 4161290650Shselasky 4162290650Shselasky struct mlx5_ifc_sqc_bits sq_context; 4163290650Shselasky}; 4164290650Shselasky 4165290650Shselaskystruct mlx5_ifc_query_sq_in_bits { 4166290650Shselasky u8 opcode[0x10]; 4167290650Shselasky u8 reserved_0[0x10]; 4168290650Shselasky 4169290650Shselasky u8 reserved_1[0x10]; 4170290650Shselasky u8 op_mod[0x10]; 4171290650Shselasky 4172290650Shselasky u8 reserved_2[0x8]; 4173290650Shselasky u8 sqn[0x18]; 4174290650Shselasky 4175290650Shselasky u8 reserved_3[0x20]; 4176290650Shselasky}; 4177290650Shselasky 4178290650Shselaskystruct mlx5_ifc_query_special_contexts_out_bits { 4179290650Shselasky u8 status[0x8]; 4180290650Shselasky u8 reserved_0[0x18]; 4181290650Shselasky 4182290650Shselasky u8 syndrome[0x20]; 4183290650Shselasky 4184331807Shselasky u8 dump_fill_mkey[0x20]; 4185290650Shselasky 4186290650Shselasky u8 resd_lkey[0x20]; 4187290650Shselasky}; 4188290650Shselasky 4189290650Shselaskystruct mlx5_ifc_query_special_contexts_in_bits { 4190290650Shselasky u8 opcode[0x10]; 4191290650Shselasky u8 reserved_0[0x10]; 4192290650Shselasky 4193290650Shselasky u8 reserved_1[0x10]; 4194290650Shselasky u8 op_mod[0x10]; 4195290650Shselasky 4196290650Shselasky u8 reserved_2[0x40]; 4197290650Shselasky}; 4198290650Shselasky 4199308678Shselaskystruct mlx5_ifc_query_scheduling_element_out_bits { 4200308678Shselasky u8 status[0x8]; 4201308678Shselasky u8 reserved_at_8[0x18]; 4202308678Shselasky 4203308678Shselasky u8 syndrome[0x20]; 4204308678Shselasky 4205308678Shselasky u8 reserved_at_40[0xc0]; 4206308678Shselasky 4207308678Shselasky struct mlx5_ifc_scheduling_context_bits scheduling_context; 4208308678Shselasky 4209308678Shselasky u8 reserved_at_300[0x100]; 4210308678Shselasky}; 4211308678Shselasky 4212308678Shselaskyenum { 4213308678Shselasky MLX5_SCHEDULING_ELEMENT_IN_HIERARCHY_E_SWITCH = 0x2, 4214308678Shselasky}; 4215308678Shselasky 4216308678Shselaskystruct mlx5_ifc_query_scheduling_element_in_bits { 4217308678Shselasky u8 opcode[0x10]; 4218308678Shselasky u8 reserved_at_10[0x10]; 4219308678Shselasky 4220308678Shselasky u8 reserved_at_20[0x10]; 4221308678Shselasky u8 op_mod[0x10]; 4222308678Shselasky 4223308678Shselasky u8 scheduling_hierarchy[0x8]; 4224308678Shselasky u8 reserved_at_48[0x18]; 4225308678Shselasky 4226308678Shselasky u8 scheduling_element_id[0x20]; 4227308678Shselasky 4228308678Shselasky u8 reserved_at_80[0x180]; 4229308678Shselasky}; 4230308678Shselasky 4231290650Shselaskystruct mlx5_ifc_query_rqt_out_bits { 4232290650Shselasky u8 status[0x8]; 4233290650Shselasky u8 reserved_0[0x18]; 4234290650Shselasky 4235290650Shselasky u8 syndrome[0x20]; 4236290650Shselasky 4237290650Shselasky u8 reserved_1[0xc0]; 4238290650Shselasky 4239290650Shselasky struct mlx5_ifc_rqtc_bits rqt_context; 4240290650Shselasky}; 4241290650Shselasky 4242290650Shselaskystruct mlx5_ifc_query_rqt_in_bits { 4243290650Shselasky u8 opcode[0x10]; 4244290650Shselasky u8 reserved_0[0x10]; 4245290650Shselasky 4246290650Shselasky u8 reserved_1[0x10]; 4247290650Shselasky u8 op_mod[0x10]; 4248290650Shselasky 4249290650Shselasky u8 reserved_2[0x8]; 4250290650Shselasky u8 rqtn[0x18]; 4251290650Shselasky 4252290650Shselasky u8 reserved_3[0x20]; 4253290650Shselasky}; 4254290650Shselasky 4255290650Shselaskystruct mlx5_ifc_query_rq_out_bits { 4256290650Shselasky u8 status[0x8]; 4257290650Shselasky u8 reserved_0[0x18]; 4258290650Shselasky 4259290650Shselasky u8 syndrome[0x20]; 4260290650Shselasky 4261290650Shselasky u8 reserved_1[0xc0]; 4262290650Shselasky 4263290650Shselasky struct mlx5_ifc_rqc_bits rq_context; 4264290650Shselasky}; 4265290650Shselasky 4266290650Shselaskystruct mlx5_ifc_query_rq_in_bits { 4267290650Shselasky u8 opcode[0x10]; 4268290650Shselasky u8 reserved_0[0x10]; 4269290650Shselasky 4270290650Shselasky u8 reserved_1[0x10]; 4271290650Shselasky u8 op_mod[0x10]; 4272290650Shselasky 4273290650Shselasky u8 reserved_2[0x8]; 4274290650Shselasky u8 rqn[0x18]; 4275290650Shselasky 4276290650Shselasky u8 reserved_3[0x20]; 4277290650Shselasky}; 4278290650Shselasky 4279290650Shselaskystruct mlx5_ifc_query_roce_address_out_bits { 4280290650Shselasky u8 status[0x8]; 4281290650Shselasky u8 reserved_0[0x18]; 4282290650Shselasky 4283290650Shselasky u8 syndrome[0x20]; 4284290650Shselasky 4285290650Shselasky u8 reserved_1[0x40]; 4286290650Shselasky 4287290650Shselasky struct mlx5_ifc_roce_addr_layout_bits roce_address; 4288290650Shselasky}; 4289290650Shselasky 4290290650Shselaskystruct mlx5_ifc_query_roce_address_in_bits { 4291290650Shselasky u8 opcode[0x10]; 4292290650Shselasky u8 reserved_0[0x10]; 4293290650Shselasky 4294290650Shselasky u8 reserved_1[0x10]; 4295290650Shselasky u8 op_mod[0x10]; 4296290650Shselasky 4297290650Shselasky u8 roce_address_index[0x10]; 4298290650Shselasky u8 reserved_2[0x10]; 4299290650Shselasky 4300290650Shselasky u8 reserved_3[0x20]; 4301290650Shselasky}; 4302290650Shselasky 4303290650Shselaskystruct mlx5_ifc_query_rmp_out_bits { 4304290650Shselasky u8 status[0x8]; 4305290650Shselasky u8 reserved_0[0x18]; 4306290650Shselasky 4307290650Shselasky u8 syndrome[0x20]; 4308290650Shselasky 4309290650Shselasky u8 reserved_1[0xc0]; 4310290650Shselasky 4311290650Shselasky struct mlx5_ifc_rmpc_bits rmp_context; 4312290650Shselasky}; 4313290650Shselasky 4314290650Shselaskystruct mlx5_ifc_query_rmp_in_bits { 4315290650Shselasky u8 opcode[0x10]; 4316290650Shselasky u8 reserved_0[0x10]; 4317290650Shselasky 4318290650Shselasky u8 reserved_1[0x10]; 4319290650Shselasky u8 op_mod[0x10]; 4320290650Shselasky 4321290650Shselasky u8 reserved_2[0x8]; 4322290650Shselasky u8 rmpn[0x18]; 4323290650Shselasky 4324290650Shselasky u8 reserved_3[0x20]; 4325290650Shselasky}; 4326290650Shselasky 4327290650Shselaskystruct mlx5_ifc_query_rdb_out_bits { 4328290650Shselasky u8 status[0x8]; 4329290650Shselasky u8 reserved_0[0x18]; 4330290650Shselasky 4331290650Shselasky u8 syndrome[0x20]; 4332290650Shselasky 4333290650Shselasky u8 reserved_1[0x20]; 4334290650Shselasky 4335290650Shselasky u8 reserved_2[0x18]; 4336290650Shselasky u8 rdb_list_size[0x8]; 4337290650Shselasky 4338290650Shselasky struct mlx5_ifc_rdbc_bits rdb_context[0]; 4339290650Shselasky}; 4340290650Shselasky 4341290650Shselaskystruct mlx5_ifc_query_rdb_in_bits { 4342290650Shselasky u8 opcode[0x10]; 4343290650Shselasky u8 reserved_0[0x10]; 4344290650Shselasky 4345290650Shselasky u8 reserved_1[0x10]; 4346290650Shselasky u8 op_mod[0x10]; 4347290650Shselasky 4348290650Shselasky u8 reserved_2[0x8]; 4349290650Shselasky u8 qpn[0x18]; 4350290650Shselasky 4351290650Shselasky u8 reserved_3[0x20]; 4352290650Shselasky}; 4353290650Shselasky 4354290650Shselaskystruct mlx5_ifc_query_qp_out_bits { 4355290650Shselasky u8 status[0x8]; 4356290650Shselasky u8 reserved_0[0x18]; 4357290650Shselasky 4358290650Shselasky u8 syndrome[0x20]; 4359290650Shselasky 4360290650Shselasky u8 reserved_1[0x40]; 4361290650Shselasky 4362290650Shselasky u8 opt_param_mask[0x20]; 4363290650Shselasky 4364290650Shselasky u8 reserved_2[0x20]; 4365290650Shselasky 4366290650Shselasky struct mlx5_ifc_qpc_bits qpc; 4367290650Shselasky 4368290650Shselasky u8 reserved_3[0x80]; 4369290650Shselasky 4370290650Shselasky u8 pas[0][0x40]; 4371290650Shselasky}; 4372290650Shselasky 4373290650Shselaskystruct mlx5_ifc_query_qp_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[0x8]; 4381290650Shselasky u8 qpn[0x18]; 4382290650Shselasky 4383290650Shselasky u8 reserved_3[0x20]; 4384290650Shselasky}; 4385290650Shselasky 4386290650Shselaskystruct mlx5_ifc_query_q_counter_out_bits { 4387290650Shselasky u8 status[0x8]; 4388290650Shselasky u8 reserved_0[0x18]; 4389290650Shselasky 4390290650Shselasky u8 syndrome[0x20]; 4391290650Shselasky 4392290650Shselasky u8 reserved_1[0x40]; 4393290650Shselasky 4394290650Shselasky u8 rx_write_requests[0x20]; 4395290650Shselasky 4396290650Shselasky u8 reserved_2[0x20]; 4397290650Shselasky 4398290650Shselasky u8 rx_read_requests[0x20]; 4399290650Shselasky 4400290650Shselasky u8 reserved_3[0x20]; 4401290650Shselasky 4402290650Shselasky u8 rx_atomic_requests[0x20]; 4403290650Shselasky 4404290650Shselasky u8 reserved_4[0x20]; 4405290650Shselasky 4406290650Shselasky u8 rx_dct_connect[0x20]; 4407290650Shselasky 4408290650Shselasky u8 reserved_5[0x20]; 4409290650Shselasky 4410290650Shselasky u8 out_of_buffer[0x20]; 4411290650Shselasky 4412321992Shselasky u8 reserved_7[0x20]; 4413290650Shselasky 4414290650Shselasky u8 out_of_sequence[0x20]; 4415290650Shselasky 4416321992Shselasky u8 reserved_8[0x20]; 4417306233Shselasky 4418321992Shselasky u8 duplicate_request[0x20]; 4419306233Shselasky 4420321992Shselasky u8 reserved_9[0x20]; 4421306233Shselasky 4422321992Shselasky u8 rnr_nak_retry_err[0x20]; 4423306233Shselasky 4424321992Shselasky u8 reserved_10[0x20]; 4425306233Shselasky 4426321992Shselasky u8 packet_seq_err[0x20]; 4427306233Shselasky 4428321992Shselasky u8 reserved_11[0x20]; 4429306233Shselasky 4430321992Shselasky u8 implied_nak_seq_err[0x20]; 4431306233Shselasky 4432321992Shselasky u8 reserved_12[0x20]; 4433306233Shselasky 4434321992Shselasky u8 local_ack_timeout_err[0x20]; 4435306233Shselasky 4436321992Shselasky u8 reserved_13[0x20]; 4437321992Shselasky 4438321992Shselasky u8 resp_rnr_nak[0x20]; 4439321992Shselasky 4440321992Shselasky u8 reserved_14[0x20]; 4441321992Shselasky 4442321992Shselasky u8 req_rnr_retries_exceeded[0x20]; 4443321992Shselasky 4444321992Shselasky u8 reserved_15[0x460]; 4445290650Shselasky}; 4446290650Shselasky 4447290650Shselaskystruct mlx5_ifc_query_q_counter_in_bits { 4448290650Shselasky u8 opcode[0x10]; 4449290650Shselasky u8 reserved_0[0x10]; 4450290650Shselasky 4451290650Shselasky u8 reserved_1[0x10]; 4452290650Shselasky u8 op_mod[0x10]; 4453290650Shselasky 4454290650Shselasky u8 reserved_2[0x80]; 4455290650Shselasky 4456290650Shselasky u8 clear[0x1]; 4457290650Shselasky u8 reserved_3[0x1f]; 4458290650Shselasky 4459290650Shselasky u8 reserved_4[0x18]; 4460290650Shselasky u8 counter_set_id[0x8]; 4461290650Shselasky}; 4462290650Shselasky 4463290650Shselaskystruct mlx5_ifc_query_pages_out_bits { 4464290650Shselasky u8 status[0x8]; 4465290650Shselasky u8 reserved_0[0x18]; 4466290650Shselasky 4467290650Shselasky u8 syndrome[0x20]; 4468290650Shselasky 4469290650Shselasky u8 reserved_1[0x10]; 4470290650Shselasky u8 function_id[0x10]; 4471290650Shselasky 4472290650Shselasky u8 num_pages[0x20]; 4473290650Shselasky}; 4474290650Shselasky 4475290650Shselaskyenum { 4476331807Shselasky MLX5_QUERY_PAGES_IN_OP_MOD_BOOT_PAGES = 0x1, 4477331807Shselasky MLX5_QUERY_PAGES_IN_OP_MOD_INIT_PAGES = 0x2, 4478331807Shselasky MLX5_QUERY_PAGES_IN_OP_MOD_REGULAR_PAGES = 0x3, 4479290650Shselasky}; 4480290650Shselasky 4481290650Shselaskystruct mlx5_ifc_query_pages_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 reserved_2[0x10]; 4489290650Shselasky u8 function_id[0x10]; 4490290650Shselasky 4491290650Shselasky u8 reserved_3[0x20]; 4492290650Shselasky}; 4493290650Shselasky 4494290650Shselaskystruct mlx5_ifc_query_nic_vport_context_out_bits { 4495290650Shselasky u8 status[0x8]; 4496290650Shselasky u8 reserved_0[0x18]; 4497290650Shselasky 4498290650Shselasky u8 syndrome[0x20]; 4499290650Shselasky 4500290650Shselasky u8 reserved_1[0x40]; 4501290650Shselasky 4502290650Shselasky struct mlx5_ifc_nic_vport_context_bits nic_vport_context; 4503290650Shselasky}; 4504290650Shselasky 4505290650Shselaskystruct mlx5_ifc_query_nic_vport_context_in_bits { 4506290650Shselasky u8 opcode[0x10]; 4507290650Shselasky u8 reserved_0[0x10]; 4508290650Shselasky 4509290650Shselasky u8 reserved_1[0x10]; 4510290650Shselasky u8 op_mod[0x10]; 4511290650Shselasky 4512290650Shselasky u8 other_vport[0x1]; 4513290650Shselasky u8 reserved_2[0xf]; 4514290650Shselasky u8 vport_number[0x10]; 4515290650Shselasky 4516290650Shselasky u8 reserved_3[0x5]; 4517290650Shselasky u8 allowed_list_type[0x3]; 4518290650Shselasky u8 reserved_4[0x18]; 4519290650Shselasky}; 4520290650Shselasky 4521290650Shselaskystruct mlx5_ifc_query_mkey_out_bits { 4522290650Shselasky u8 status[0x8]; 4523290650Shselasky u8 reserved_0[0x18]; 4524290650Shselasky 4525290650Shselasky u8 syndrome[0x20]; 4526290650Shselasky 4527290650Shselasky u8 reserved_1[0x40]; 4528290650Shselasky 4529290650Shselasky struct mlx5_ifc_mkc_bits memory_key_mkey_entry; 4530290650Shselasky 4531290650Shselasky u8 reserved_2[0x600]; 4532290650Shselasky 4533290650Shselasky u8 bsf0_klm0_pas_mtt0_1[16][0x8]; 4534290650Shselasky 4535290650Shselasky u8 bsf1_klm1_pas_mtt2_3[16][0x8]; 4536290650Shselasky}; 4537290650Shselasky 4538290650Shselaskystruct mlx5_ifc_query_mkey_in_bits { 4539290650Shselasky u8 opcode[0x10]; 4540290650Shselasky u8 reserved_0[0x10]; 4541290650Shselasky 4542290650Shselasky u8 reserved_1[0x10]; 4543290650Shselasky u8 op_mod[0x10]; 4544290650Shselasky 4545290650Shselasky u8 reserved_2[0x8]; 4546290650Shselasky u8 mkey_index[0x18]; 4547290650Shselasky 4548290650Shselasky u8 pg_access[0x1]; 4549290650Shselasky u8 reserved_3[0x1f]; 4550290650Shselasky}; 4551290650Shselasky 4552290650Shselaskystruct mlx5_ifc_query_mad_demux_out_bits { 4553290650Shselasky u8 status[0x8]; 4554290650Shselasky u8 reserved_0[0x18]; 4555290650Shselasky 4556290650Shselasky u8 syndrome[0x20]; 4557290650Shselasky 4558290650Shselasky u8 reserved_1[0x40]; 4559290650Shselasky 4560290650Shselasky u8 mad_dumux_parameters_block[0x20]; 4561290650Shselasky}; 4562290650Shselasky 4563290650Shselaskystruct mlx5_ifc_query_mad_demux_in_bits { 4564290650Shselasky u8 opcode[0x10]; 4565290650Shselasky u8 reserved_0[0x10]; 4566290650Shselasky 4567290650Shselasky u8 reserved_1[0x10]; 4568290650Shselasky u8 op_mod[0x10]; 4569290650Shselasky 4570290650Shselasky u8 reserved_2[0x40]; 4571290650Shselasky}; 4572290650Shselasky 4573290650Shselaskystruct mlx5_ifc_query_l2_table_entry_out_bits { 4574290650Shselasky u8 status[0x8]; 4575290650Shselasky u8 reserved_0[0x18]; 4576290650Shselasky 4577290650Shselasky u8 syndrome[0x20]; 4578290650Shselasky 4579290650Shselasky u8 reserved_1[0xa0]; 4580290650Shselasky 4581290650Shselasky u8 reserved_2[0x13]; 4582290650Shselasky u8 vlan_valid[0x1]; 4583290650Shselasky u8 vlan[0xc]; 4584290650Shselasky 4585290650Shselasky struct mlx5_ifc_mac_address_layout_bits mac_address; 4586290650Shselasky 4587290650Shselasky u8 reserved_3[0xc0]; 4588290650Shselasky}; 4589290650Shselasky 4590290650Shselaskystruct mlx5_ifc_query_l2_table_entry_in_bits { 4591290650Shselasky u8 opcode[0x10]; 4592290650Shselasky u8 reserved_0[0x10]; 4593290650Shselasky 4594290650Shselasky u8 reserved_1[0x10]; 4595290650Shselasky u8 op_mod[0x10]; 4596290650Shselasky 4597290650Shselasky u8 reserved_2[0x60]; 4598290650Shselasky 4599290650Shselasky u8 reserved_3[0x8]; 4600290650Shselasky u8 table_index[0x18]; 4601290650Shselasky 4602290650Shselasky u8 reserved_4[0x140]; 4603290650Shselasky}; 4604290650Shselasky 4605290650Shselaskystruct mlx5_ifc_query_issi_out_bits { 4606290650Shselasky u8 status[0x8]; 4607290650Shselasky u8 reserved_0[0x18]; 4608290650Shselasky 4609290650Shselasky u8 syndrome[0x20]; 4610290650Shselasky 4611290650Shselasky u8 reserved_1[0x10]; 4612290650Shselasky u8 current_issi[0x10]; 4613290650Shselasky 4614290650Shselasky u8 reserved_2[0xa0]; 4615290650Shselasky 4616290650Shselasky u8 supported_issi_reserved[76][0x8]; 4617290650Shselasky u8 supported_issi_dw0[0x20]; 4618290650Shselasky}; 4619290650Shselasky 4620290650Shselaskystruct mlx5_ifc_query_issi_in_bits { 4621290650Shselasky u8 opcode[0x10]; 4622290650Shselasky u8 reserved_0[0x10]; 4623290650Shselasky 4624290650Shselasky u8 reserved_1[0x10]; 4625290650Shselasky u8 op_mod[0x10]; 4626290650Shselasky 4627290650Shselasky u8 reserved_2[0x40]; 4628290650Shselasky}; 4629290650Shselasky 4630290650Shselaskystruct mlx5_ifc_query_hca_vport_pkey_out_bits { 4631290650Shselasky u8 status[0x8]; 4632290650Shselasky u8 reserved_0[0x18]; 4633290650Shselasky 4634290650Shselasky u8 syndrome[0x20]; 4635290650Shselasky 4636290650Shselasky u8 reserved_1[0x40]; 4637290650Shselasky 4638290650Shselasky struct mlx5_ifc_pkey_bits pkey[0]; 4639290650Shselasky}; 4640290650Shselasky 4641290650Shselaskystruct mlx5_ifc_query_hca_vport_pkey_in_bits { 4642290650Shselasky u8 opcode[0x10]; 4643290650Shselasky u8 reserved_0[0x10]; 4644290650Shselasky 4645290650Shselasky u8 reserved_1[0x10]; 4646290650Shselasky u8 op_mod[0x10]; 4647290650Shselasky 4648290650Shselasky u8 other_vport[0x1]; 4649290650Shselasky u8 reserved_2[0xb]; 4650290650Shselasky u8 port_num[0x4]; 4651290650Shselasky u8 vport_number[0x10]; 4652290650Shselasky 4653290650Shselasky u8 reserved_3[0x10]; 4654290650Shselasky u8 pkey_index[0x10]; 4655290650Shselasky}; 4656290650Shselasky 4657290650Shselaskystruct mlx5_ifc_query_hca_vport_gid_out_bits { 4658290650Shselasky u8 status[0x8]; 4659290650Shselasky u8 reserved_0[0x18]; 4660290650Shselasky 4661290650Shselasky u8 syndrome[0x20]; 4662290650Shselasky 4663290650Shselasky u8 reserved_1[0x20]; 4664290650Shselasky 4665290650Shselasky u8 gids_num[0x10]; 4666290650Shselasky u8 reserved_2[0x10]; 4667290650Shselasky 4668290650Shselasky struct mlx5_ifc_array128_auto_bits gid[0]; 4669290650Shselasky}; 4670290650Shselasky 4671290650Shselaskystruct mlx5_ifc_query_hca_vport_gid_in_bits { 4672290650Shselasky u8 opcode[0x10]; 4673290650Shselasky u8 reserved_0[0x10]; 4674290650Shselasky 4675290650Shselasky u8 reserved_1[0x10]; 4676290650Shselasky u8 op_mod[0x10]; 4677290650Shselasky 4678290650Shselasky u8 other_vport[0x1]; 4679290650Shselasky u8 reserved_2[0xb]; 4680290650Shselasky u8 port_num[0x4]; 4681290650Shselasky u8 vport_number[0x10]; 4682290650Shselasky 4683290650Shselasky u8 reserved_3[0x10]; 4684290650Shselasky u8 gid_index[0x10]; 4685290650Shselasky}; 4686290650Shselasky 4687290650Shselaskystruct mlx5_ifc_query_hca_vport_context_out_bits { 4688290650Shselasky u8 status[0x8]; 4689290650Shselasky u8 reserved_0[0x18]; 4690290650Shselasky 4691290650Shselasky u8 syndrome[0x20]; 4692290650Shselasky 4693290650Shselasky u8 reserved_1[0x40]; 4694290650Shselasky 4695290650Shselasky struct mlx5_ifc_hca_vport_context_bits hca_vport_context; 4696290650Shselasky}; 4697290650Shselasky 4698290650Shselaskystruct mlx5_ifc_query_hca_vport_context_in_bits { 4699290650Shselasky u8 opcode[0x10]; 4700290650Shselasky u8 reserved_0[0x10]; 4701290650Shselasky 4702290650Shselasky u8 reserved_1[0x10]; 4703290650Shselasky u8 op_mod[0x10]; 4704290650Shselasky 4705290650Shselasky u8 other_vport[0x1]; 4706290650Shselasky u8 reserved_2[0xb]; 4707290650Shselasky u8 port_num[0x4]; 4708290650Shselasky u8 vport_number[0x10]; 4709290650Shselasky 4710290650Shselasky u8 reserved_3[0x20]; 4711290650Shselasky}; 4712290650Shselasky 4713290650Shselaskystruct mlx5_ifc_query_hca_cap_out_bits { 4714290650Shselasky u8 status[0x8]; 4715290650Shselasky u8 reserved_0[0x18]; 4716290650Shselasky 4717290650Shselasky u8 syndrome[0x20]; 4718290650Shselasky 4719290650Shselasky u8 reserved_1[0x40]; 4720290650Shselasky 4721290650Shselasky union mlx5_ifc_hca_cap_union_bits capability; 4722290650Shselasky}; 4723290650Shselasky 4724290650Shselaskystruct mlx5_ifc_query_hca_cap_in_bits { 4725290650Shselasky u8 opcode[0x10]; 4726290650Shselasky u8 reserved_0[0x10]; 4727290650Shselasky 4728290650Shselasky u8 reserved_1[0x10]; 4729290650Shselasky u8 op_mod[0x10]; 4730290650Shselasky 4731290650Shselasky u8 reserved_2[0x40]; 4732290650Shselasky}; 4733290650Shselasky 4734290650Shselaskystruct mlx5_ifc_query_flow_table_out_bits { 4735290650Shselasky u8 status[0x8]; 4736329200Shselasky u8 reserved_at_8[0x18]; 4737290650Shselasky 4738290650Shselasky u8 syndrome[0x20]; 4739290650Shselasky 4740329200Shselasky u8 reserved_at_40[0x80]; 4741290650Shselasky 4742329200Shselasky struct mlx5_ifc_flow_table_context_bits flow_table_context; 4743290650Shselasky}; 4744290650Shselasky 4745290650Shselaskystruct mlx5_ifc_query_flow_table_in_bits { 4746290650Shselasky u8 opcode[0x10]; 4747290650Shselasky u8 reserved_0[0x10]; 4748290650Shselasky 4749290650Shselasky u8 reserved_1[0x10]; 4750290650Shselasky u8 op_mod[0x10]; 4751290650Shselasky 4752290650Shselasky u8 other_vport[0x1]; 4753290650Shselasky u8 reserved_2[0xf]; 4754290650Shselasky u8 vport_number[0x10]; 4755290650Shselasky 4756290650Shselasky u8 reserved_3[0x20]; 4757290650Shselasky 4758290650Shselasky u8 table_type[0x8]; 4759290650Shselasky u8 reserved_4[0x18]; 4760290650Shselasky 4761290650Shselasky u8 reserved_5[0x8]; 4762290650Shselasky u8 table_id[0x18]; 4763290650Shselasky 4764290650Shselasky u8 reserved_6[0x140]; 4765290650Shselasky}; 4766290650Shselasky 4767290650Shselaskystruct mlx5_ifc_query_fte_out_bits { 4768290650Shselasky u8 status[0x8]; 4769290650Shselasky u8 reserved_0[0x18]; 4770290650Shselasky 4771290650Shselasky u8 syndrome[0x20]; 4772290650Shselasky 4773290650Shselasky u8 reserved_1[0x1c0]; 4774290650Shselasky 4775290650Shselasky struct mlx5_ifc_flow_context_bits flow_context; 4776290650Shselasky}; 4777290650Shselasky 4778290650Shselaskystruct mlx5_ifc_query_fte_in_bits { 4779290650Shselasky u8 opcode[0x10]; 4780290650Shselasky u8 reserved_0[0x10]; 4781290650Shselasky 4782290650Shselasky u8 reserved_1[0x10]; 4783290650Shselasky u8 op_mod[0x10]; 4784290650Shselasky 4785290650Shselasky u8 other_vport[0x1]; 4786290650Shselasky u8 reserved_2[0xf]; 4787290650Shselasky u8 vport_number[0x10]; 4788290650Shselasky 4789290650Shselasky u8 reserved_3[0x20]; 4790290650Shselasky 4791290650Shselasky u8 table_type[0x8]; 4792290650Shselasky u8 reserved_4[0x18]; 4793290650Shselasky 4794290650Shselasky u8 reserved_5[0x8]; 4795290650Shselasky u8 table_id[0x18]; 4796290650Shselasky 4797290650Shselasky u8 reserved_6[0x40]; 4798290650Shselasky 4799290650Shselasky u8 flow_index[0x20]; 4800290650Shselasky 4801290650Shselasky u8 reserved_7[0xe0]; 4802290650Shselasky}; 4803290650Shselasky 4804290650Shselaskyenum { 4805290650Shselasky MLX5_QUERY_FLOW_GROUP_OUT_MATCH_CRITERIA_ENABLE_OUTER_HEADERS = 0x0, 4806290650Shselasky MLX5_QUERY_FLOW_GROUP_OUT_MATCH_CRITERIA_ENABLE_MISC_PARAMETERS = 0x1, 4807290650Shselasky MLX5_QUERY_FLOW_GROUP_OUT_MATCH_CRITERIA_ENABLE_INNER_HEADERS = 0x2, 4808290650Shselasky}; 4809290650Shselasky 4810290650Shselaskystruct mlx5_ifc_query_flow_group_out_bits { 4811290650Shselasky u8 status[0x8]; 4812290650Shselasky u8 reserved_0[0x18]; 4813290650Shselasky 4814290650Shselasky u8 syndrome[0x20]; 4815290650Shselasky 4816290650Shselasky u8 reserved_1[0xa0]; 4817290650Shselasky 4818290650Shselasky u8 start_flow_index[0x20]; 4819290650Shselasky 4820290650Shselasky u8 reserved_2[0x20]; 4821290650Shselasky 4822290650Shselasky u8 end_flow_index[0x20]; 4823290650Shselasky 4824290650Shselasky u8 reserved_3[0xa0]; 4825290650Shselasky 4826290650Shselasky u8 reserved_4[0x18]; 4827290650Shselasky u8 match_criteria_enable[0x8]; 4828290650Shselasky 4829290650Shselasky struct mlx5_ifc_fte_match_param_bits match_criteria; 4830290650Shselasky 4831290650Shselasky u8 reserved_5[0xe00]; 4832290650Shselasky}; 4833290650Shselasky 4834290650Shselaskystruct mlx5_ifc_query_flow_group_in_bits { 4835290650Shselasky u8 opcode[0x10]; 4836290650Shselasky u8 reserved_0[0x10]; 4837290650Shselasky 4838290650Shselasky u8 reserved_1[0x10]; 4839290650Shselasky u8 op_mod[0x10]; 4840290650Shselasky 4841290650Shselasky u8 other_vport[0x1]; 4842290650Shselasky u8 reserved_2[0xf]; 4843290650Shselasky u8 vport_number[0x10]; 4844290650Shselasky 4845290650Shselasky u8 reserved_3[0x20]; 4846290650Shselasky 4847290650Shselasky u8 table_type[0x8]; 4848290650Shselasky u8 reserved_4[0x18]; 4849290650Shselasky 4850290650Shselasky u8 reserved_5[0x8]; 4851290650Shselasky u8 table_id[0x18]; 4852290650Shselasky 4853290650Shselasky u8 group_id[0x20]; 4854290650Shselasky 4855290650Shselasky u8 reserved_6[0x120]; 4856290650Shselasky}; 4857290650Shselasky 4858290650Shselaskystruct mlx5_ifc_query_flow_counter_out_bits { 4859290650Shselasky u8 status[0x8]; 4860329204Shselasky u8 reserved_at_8[0x18]; 4861290650Shselasky 4862290650Shselasky u8 syndrome[0x20]; 4863290650Shselasky 4864329204Shselasky u8 reserved_at_40[0x40]; 4865290650Shselasky 4866329204Shselasky struct mlx5_ifc_traffic_counter_bits flow_statistics[0]; 4867290650Shselasky}; 4868290650Shselasky 4869290650Shselaskystruct mlx5_ifc_query_flow_counter_in_bits { 4870290650Shselasky u8 opcode[0x10]; 4871329204Shselasky u8 reserved_at_10[0x10]; 4872290650Shselasky 4873329204Shselasky u8 reserved_at_20[0x10]; 4874290650Shselasky u8 op_mod[0x10]; 4875290650Shselasky 4876329204Shselasky u8 reserved_at_40[0x80]; 4877290650Shselasky 4878290650Shselasky u8 clear[0x1]; 4879329204Shselasky u8 reserved_at_c1[0xf]; 4880329204Shselasky u8 num_of_counters[0x10]; 4881290650Shselasky 4882329204Shselasky u8 reserved_at_e0[0x10]; 4883290650Shselasky u8 flow_counter_id[0x10]; 4884290650Shselasky}; 4885290650Shselasky 4886290650Shselaskystruct mlx5_ifc_query_esw_vport_context_out_bits { 4887290650Shselasky u8 status[0x8]; 4888290650Shselasky u8 reserved_0[0x18]; 4889290650Shselasky 4890290650Shselasky u8 syndrome[0x20]; 4891290650Shselasky 4892290650Shselasky u8 reserved_1[0x40]; 4893290650Shselasky 4894290650Shselasky struct mlx5_ifc_esw_vport_context_bits esw_vport_context; 4895290650Shselasky}; 4896290650Shselasky 4897290650Shselaskystruct mlx5_ifc_query_esw_vport_context_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 other_vport[0x1]; 4905290650Shselasky u8 reserved_2[0xf]; 4906290650Shselasky u8 vport_number[0x10]; 4907290650Shselasky 4908290650Shselasky u8 reserved_3[0x20]; 4909290650Shselasky}; 4910290650Shselasky 4911290650Shselaskystruct mlx5_ifc_query_eq_out_bits { 4912290650Shselasky u8 status[0x8]; 4913290650Shselasky u8 reserved_0[0x18]; 4914290650Shselasky 4915290650Shselasky u8 syndrome[0x20]; 4916290650Shselasky 4917290650Shselasky u8 reserved_1[0x40]; 4918290650Shselasky 4919290650Shselasky struct mlx5_ifc_eqc_bits eq_context_entry; 4920290650Shselasky 4921290650Shselasky u8 reserved_2[0x40]; 4922290650Shselasky 4923290650Shselasky u8 event_bitmask[0x40]; 4924290650Shselasky 4925290650Shselasky u8 reserved_3[0x580]; 4926290650Shselasky 4927290650Shselasky u8 pas[0][0x40]; 4928290650Shselasky}; 4929290650Shselasky 4930290650Shselaskystruct mlx5_ifc_query_eq_in_bits { 4931290650Shselasky u8 opcode[0x10]; 4932290650Shselasky u8 reserved_0[0x10]; 4933290650Shselasky 4934290650Shselasky u8 reserved_1[0x10]; 4935290650Shselasky u8 op_mod[0x10]; 4936290650Shselasky 4937290650Shselasky u8 reserved_2[0x18]; 4938290650Shselasky u8 eq_number[0x8]; 4939290650Shselasky 4940290650Shselasky u8 reserved_3[0x20]; 4941290650Shselasky}; 4942290650Shselasky 4943290650Shselaskystruct mlx5_ifc_query_dct_out_bits { 4944290650Shselasky u8 status[0x8]; 4945290650Shselasky u8 reserved_0[0x18]; 4946290650Shselasky 4947290650Shselasky u8 syndrome[0x20]; 4948290650Shselasky 4949290650Shselasky u8 reserved_1[0x40]; 4950290650Shselasky 4951290650Shselasky struct mlx5_ifc_dctc_bits dct_context_entry; 4952290650Shselasky 4953290650Shselasky u8 reserved_2[0x180]; 4954290650Shselasky}; 4955290650Shselasky 4956290650Shselaskystruct mlx5_ifc_query_dct_in_bits { 4957290650Shselasky u8 opcode[0x10]; 4958290650Shselasky u8 reserved_0[0x10]; 4959290650Shselasky 4960290650Shselasky u8 reserved_1[0x10]; 4961290650Shselasky u8 op_mod[0x10]; 4962290650Shselasky 4963290650Shselasky u8 reserved_2[0x8]; 4964290650Shselasky u8 dctn[0x18]; 4965290650Shselasky 4966290650Shselasky u8 reserved_3[0x20]; 4967290650Shselasky}; 4968290650Shselasky 4969290650Shselaskystruct mlx5_ifc_query_dc_cnak_trace_out_bits { 4970290650Shselasky u8 status[0x8]; 4971290650Shselasky u8 reserved_0[0x18]; 4972290650Shselasky 4973290650Shselasky u8 syndrome[0x20]; 4974290650Shselasky 4975290650Shselasky u8 enable[0x1]; 4976290650Shselasky u8 reserved_1[0x1f]; 4977290650Shselasky 4978290650Shselasky u8 reserved_2[0x160]; 4979290650Shselasky 4980290650Shselasky struct mlx5_ifc_cmd_pas_bits pas; 4981290650Shselasky}; 4982290650Shselasky 4983290650Shselaskystruct mlx5_ifc_query_dc_cnak_trace_in_bits { 4984290650Shselasky u8 opcode[0x10]; 4985290650Shselasky u8 reserved_0[0x10]; 4986290650Shselasky 4987290650Shselasky u8 reserved_1[0x10]; 4988290650Shselasky u8 op_mod[0x10]; 4989290650Shselasky 4990290650Shselasky u8 reserved_2[0x40]; 4991290650Shselasky}; 4992290650Shselasky 4993290650Shselaskystruct mlx5_ifc_query_cq_out_bits { 4994290650Shselasky u8 status[0x8]; 4995290650Shselasky u8 reserved_0[0x18]; 4996290650Shselasky 4997290650Shselasky u8 syndrome[0x20]; 4998290650Shselasky 4999290650Shselasky u8 reserved_1[0x40]; 5000290650Shselasky 5001290650Shselasky struct mlx5_ifc_cqc_bits cq_context; 5002290650Shselasky 5003290650Shselasky u8 reserved_2[0x600]; 5004290650Shselasky 5005290650Shselasky u8 pas[0][0x40]; 5006290650Shselasky}; 5007290650Shselasky 5008290650Shselaskystruct mlx5_ifc_query_cq_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 cqn[0x18]; 5017290650Shselasky 5018290650Shselasky u8 reserved_3[0x20]; 5019290650Shselasky}; 5020290650Shselasky 5021290650Shselaskystruct mlx5_ifc_query_cong_status_out_bits { 5022290650Shselasky u8 status[0x8]; 5023290650Shselasky u8 reserved_0[0x18]; 5024290650Shselasky 5025290650Shselasky u8 syndrome[0x20]; 5026290650Shselasky 5027290650Shselasky u8 reserved_1[0x20]; 5028290650Shselasky 5029290650Shselasky u8 enable[0x1]; 5030290650Shselasky u8 tag_enable[0x1]; 5031290650Shselasky u8 reserved_2[0x1e]; 5032290650Shselasky}; 5033290650Shselasky 5034290650Shselaskystruct mlx5_ifc_query_cong_status_in_bits { 5035290650Shselasky u8 opcode[0x10]; 5036290650Shselasky u8 reserved_0[0x10]; 5037290650Shselasky 5038290650Shselasky u8 reserved_1[0x10]; 5039290650Shselasky u8 op_mod[0x10]; 5040290650Shselasky 5041290650Shselasky u8 reserved_2[0x18]; 5042290650Shselasky u8 priority[0x4]; 5043290650Shselasky u8 cong_protocol[0x4]; 5044290650Shselasky 5045290650Shselasky u8 reserved_3[0x20]; 5046290650Shselasky}; 5047290650Shselasky 5048290650Shselaskystruct mlx5_ifc_query_cong_statistics_out_bits { 5049290650Shselasky u8 status[0x8]; 5050290650Shselasky u8 reserved_0[0x18]; 5051290650Shselasky 5052290650Shselasky u8 syndrome[0x20]; 5053290650Shselasky 5054290650Shselasky u8 reserved_1[0x40]; 5055290650Shselasky 5056331808Shselasky u8 rp_cur_flows[0x20]; 5057290650Shselasky 5058290650Shselasky u8 sum_flows[0x20]; 5059290650Shselasky 5060331808Shselasky u8 rp_cnp_ignored_high[0x20]; 5061290650Shselasky 5062331808Shselasky u8 rp_cnp_ignored_low[0x20]; 5063290650Shselasky 5064331808Shselasky u8 rp_cnp_handled_high[0x20]; 5065290650Shselasky 5066331808Shselasky u8 rp_cnp_handled_low[0x20]; 5067290650Shselasky 5068290650Shselasky u8 reserved_2[0x100]; 5069290650Shselasky 5070290650Shselasky u8 time_stamp_high[0x20]; 5071290650Shselasky 5072290650Shselasky u8 time_stamp_low[0x20]; 5073290650Shselasky 5074290650Shselasky u8 accumulators_period[0x20]; 5075290650Shselasky 5076331808Shselasky u8 np_ecn_marked_roce_packets_high[0x20]; 5077290650Shselasky 5078331808Shselasky u8 np_ecn_marked_roce_packets_low[0x20]; 5079290650Shselasky 5080331808Shselasky u8 np_cnp_sent_high[0x20]; 5081290650Shselasky 5082331808Shselasky u8 np_cnp_sent_low[0x20]; 5083290650Shselasky 5084290650Shselasky u8 reserved_3[0x560]; 5085290650Shselasky}; 5086290650Shselasky 5087290650Shselaskystruct mlx5_ifc_query_cong_statistics_in_bits { 5088290650Shselasky u8 opcode[0x10]; 5089290650Shselasky u8 reserved_0[0x10]; 5090290650Shselasky 5091290650Shselasky u8 reserved_1[0x10]; 5092290650Shselasky u8 op_mod[0x10]; 5093290650Shselasky 5094290650Shselasky u8 clear[0x1]; 5095290650Shselasky u8 reserved_2[0x1f]; 5096290650Shselasky 5097290650Shselasky u8 reserved_3[0x20]; 5098290650Shselasky}; 5099290650Shselasky 5100290650Shselaskystruct mlx5_ifc_query_cong_params_out_bits { 5101290650Shselasky u8 status[0x8]; 5102290650Shselasky u8 reserved_0[0x18]; 5103290650Shselasky 5104290650Shselasky u8 syndrome[0x20]; 5105290650Shselasky 5106290650Shselasky u8 reserved_1[0x40]; 5107290650Shselasky 5108290650Shselasky union mlx5_ifc_cong_control_roce_ecn_auto_bits congestion_parameters; 5109290650Shselasky}; 5110290650Shselasky 5111290650Shselaskystruct mlx5_ifc_query_cong_params_in_bits { 5112290650Shselasky u8 opcode[0x10]; 5113290650Shselasky u8 reserved_0[0x10]; 5114290650Shselasky 5115290650Shselasky u8 reserved_1[0x10]; 5116290650Shselasky u8 op_mod[0x10]; 5117290650Shselasky 5118290650Shselasky u8 reserved_2[0x1c]; 5119290650Shselasky u8 cong_protocol[0x4]; 5120290650Shselasky 5121290650Shselasky u8 reserved_3[0x20]; 5122290650Shselasky}; 5123290650Shselasky 5124290650Shselaskystruct mlx5_ifc_query_burst_size_out_bits { 5125290650Shselasky u8 status[0x8]; 5126290650Shselasky u8 reserved_0[0x18]; 5127290650Shselasky 5128290650Shselasky u8 syndrome[0x20]; 5129290650Shselasky 5130290650Shselasky u8 reserved_1[0x20]; 5131290650Shselasky 5132290650Shselasky u8 reserved_2[0x9]; 5133290650Shselasky u8 device_burst_size[0x17]; 5134290650Shselasky}; 5135290650Shselasky 5136290650Shselaskystruct mlx5_ifc_query_burst_size_in_bits { 5137290650Shselasky u8 opcode[0x10]; 5138290650Shselasky u8 reserved_0[0x10]; 5139290650Shselasky 5140290650Shselasky u8 reserved_1[0x10]; 5141290650Shselasky u8 op_mod[0x10]; 5142290650Shselasky 5143290650Shselasky u8 reserved_2[0x40]; 5144290650Shselasky}; 5145290650Shselasky 5146290650Shselaskystruct mlx5_ifc_query_adapter_out_bits { 5147290650Shselasky u8 status[0x8]; 5148290650Shselasky u8 reserved_0[0x18]; 5149290650Shselasky 5150290650Shselasky u8 syndrome[0x20]; 5151290650Shselasky 5152290650Shselasky u8 reserved_1[0x40]; 5153290650Shselasky 5154290650Shselasky struct mlx5_ifc_query_adapter_param_block_bits query_adapter_struct; 5155290650Shselasky}; 5156290650Shselasky 5157290650Shselaskystruct mlx5_ifc_query_adapter_in_bits { 5158290650Shselasky u8 opcode[0x10]; 5159290650Shselasky u8 reserved_0[0x10]; 5160290650Shselasky 5161290650Shselasky u8 reserved_1[0x10]; 5162290650Shselasky u8 op_mod[0x10]; 5163290650Shselasky 5164290650Shselasky u8 reserved_2[0x40]; 5165290650Shselasky}; 5166290650Shselasky 5167290650Shselaskystruct mlx5_ifc_qp_2rst_out_bits { 5168290650Shselasky u8 status[0x8]; 5169290650Shselasky u8 reserved_0[0x18]; 5170290650Shselasky 5171290650Shselasky u8 syndrome[0x20]; 5172290650Shselasky 5173290650Shselasky u8 reserved_1[0x40]; 5174290650Shselasky}; 5175290650Shselasky 5176290650Shselaskystruct mlx5_ifc_qp_2rst_in_bits { 5177290650Shselasky u8 opcode[0x10]; 5178290650Shselasky u8 reserved_0[0x10]; 5179290650Shselasky 5180290650Shselasky u8 reserved_1[0x10]; 5181290650Shselasky u8 op_mod[0x10]; 5182290650Shselasky 5183290650Shselasky u8 reserved_2[0x8]; 5184290650Shselasky u8 qpn[0x18]; 5185290650Shselasky 5186290650Shselasky u8 reserved_3[0x20]; 5187290650Shselasky}; 5188290650Shselasky 5189290650Shselaskystruct mlx5_ifc_qp_2err_out_bits { 5190290650Shselasky u8 status[0x8]; 5191290650Shselasky u8 reserved_0[0x18]; 5192290650Shselasky 5193290650Shselasky u8 syndrome[0x20]; 5194290650Shselasky 5195290650Shselasky u8 reserved_1[0x40]; 5196290650Shselasky}; 5197290650Shselasky 5198290650Shselaskystruct mlx5_ifc_qp_2err_in_bits { 5199290650Shselasky u8 opcode[0x10]; 5200290650Shselasky u8 reserved_0[0x10]; 5201290650Shselasky 5202290650Shselasky u8 reserved_1[0x10]; 5203290650Shselasky u8 op_mod[0x10]; 5204290650Shselasky 5205290650Shselasky u8 reserved_2[0x8]; 5206290650Shselasky u8 qpn[0x18]; 5207290650Shselasky 5208290650Shselasky u8 reserved_3[0x20]; 5209290650Shselasky}; 5210290650Shselasky 5211308678Shselaskystruct mlx5_ifc_para_vport_element_bits { 5212308678Shselasky u8 reserved_at_0[0xc]; 5213308678Shselasky u8 traffic_class[0x4]; 5214308678Shselasky u8 qos_para_vport_number[0x10]; 5215308678Shselasky}; 5216308678Shselasky 5217290650Shselaskystruct mlx5_ifc_page_fault_resume_out_bits { 5218290650Shselasky u8 status[0x8]; 5219290650Shselasky u8 reserved_0[0x18]; 5220290650Shselasky 5221290650Shselasky u8 syndrome[0x20]; 5222290650Shselasky 5223290650Shselasky u8 reserved_1[0x40]; 5224290650Shselasky}; 5225290650Shselasky 5226290650Shselaskystruct mlx5_ifc_page_fault_resume_in_bits { 5227290650Shselasky u8 opcode[0x10]; 5228290650Shselasky u8 reserved_0[0x10]; 5229290650Shselasky 5230290650Shselasky u8 reserved_1[0x10]; 5231290650Shselasky u8 op_mod[0x10]; 5232290650Shselasky 5233290650Shselasky u8 error[0x1]; 5234290650Shselasky u8 reserved_2[0x4]; 5235290650Shselasky u8 rdma[0x1]; 5236290650Shselasky u8 read_write[0x1]; 5237290650Shselasky u8 req_res[0x1]; 5238290650Shselasky u8 qpn[0x18]; 5239290650Shselasky 5240290650Shselasky u8 reserved_3[0x20]; 5241290650Shselasky}; 5242290650Shselasky 5243290650Shselaskystruct mlx5_ifc_nop_out_bits { 5244290650Shselasky u8 status[0x8]; 5245290650Shselasky u8 reserved_0[0x18]; 5246290650Shselasky 5247290650Shselasky u8 syndrome[0x20]; 5248290650Shselasky 5249290650Shselasky u8 reserved_1[0x40]; 5250290650Shselasky}; 5251290650Shselasky 5252290650Shselaskystruct mlx5_ifc_nop_in_bits { 5253290650Shselasky u8 opcode[0x10]; 5254290650Shselasky u8 reserved_0[0x10]; 5255290650Shselasky 5256290650Shselasky u8 reserved_1[0x10]; 5257290650Shselasky u8 op_mod[0x10]; 5258290650Shselasky 5259290650Shselasky u8 reserved_2[0x40]; 5260290650Shselasky}; 5261290650Shselasky 5262290650Shselaskystruct mlx5_ifc_modify_vport_state_out_bits { 5263290650Shselasky u8 status[0x8]; 5264290650Shselasky u8 reserved_0[0x18]; 5265290650Shselasky 5266290650Shselasky u8 syndrome[0x20]; 5267290650Shselasky 5268290650Shselasky u8 reserved_1[0x40]; 5269290650Shselasky}; 5270290650Shselasky 5271290650Shselaskyenum { 5272290650Shselasky MLX5_MODIFY_VPORT_STATE_IN_OP_MOD_NIC_VPORT = 0x0, 5273290650Shselasky MLX5_MODIFY_VPORT_STATE_IN_OP_MOD_ESW_VPORT = 0x1, 5274290650Shselasky MLX5_MODIFY_VPORT_STATE_IN_OP_MOD_UPLINK = 0x2, 5275290650Shselasky}; 5276290650Shselasky 5277290650Shselaskyenum { 5278290650Shselasky MLX5_MODIFY_VPORT_STATE_IN_ADMIN_STATE_DOWN = 0x0, 5279290650Shselasky MLX5_MODIFY_VPORT_STATE_IN_ADMIN_STATE_UP = 0x1, 5280290650Shselasky MLX5_MODIFY_VPORT_STATE_IN_ADMIN_STATE_FOLLOW = 0x2, 5281290650Shselasky}; 5282290650Shselasky 5283290650Shselaskystruct mlx5_ifc_modify_vport_state_in_bits { 5284290650Shselasky u8 opcode[0x10]; 5285290650Shselasky u8 reserved_0[0x10]; 5286290650Shselasky 5287290650Shselasky u8 reserved_1[0x10]; 5288290650Shselasky u8 op_mod[0x10]; 5289290650Shselasky 5290290650Shselasky u8 other_vport[0x1]; 5291290650Shselasky u8 reserved_2[0xf]; 5292290650Shselasky u8 vport_number[0x10]; 5293290650Shselasky 5294290650Shselasky u8 reserved_3[0x18]; 5295290650Shselasky u8 admin_state[0x4]; 5296290650Shselasky u8 reserved_4[0x4]; 5297290650Shselasky}; 5298290650Shselasky 5299290650Shselaskystruct mlx5_ifc_modify_tis_out_bits { 5300290650Shselasky u8 status[0x8]; 5301290650Shselasky u8 reserved_0[0x18]; 5302290650Shselasky 5303290650Shselasky u8 syndrome[0x20]; 5304290650Shselasky 5305290650Shselasky u8 reserved_1[0x40]; 5306290650Shselasky}; 5307290650Shselasky 5308329204Shselaskystruct mlx5_ifc_modify_tis_bitmask_bits { 5309329204Shselasky u8 reserved_at_0[0x20]; 5310329204Shselasky 5311329204Shselasky u8 reserved_at_20[0x1d]; 5312329204Shselasky u8 lag_tx_port_affinity[0x1]; 5313329204Shselasky u8 strict_lag_tx_port_affinity[0x1]; 5314329204Shselasky u8 prio[0x1]; 5315329204Shselasky}; 5316329204Shselasky 5317290650Shselaskystruct mlx5_ifc_modify_tis_in_bits { 5318290650Shselasky u8 opcode[0x10]; 5319290650Shselasky u8 reserved_0[0x10]; 5320290650Shselasky 5321290650Shselasky u8 reserved_1[0x10]; 5322290650Shselasky u8 op_mod[0x10]; 5323290650Shselasky 5324290650Shselasky u8 reserved_2[0x8]; 5325290650Shselasky u8 tisn[0x18]; 5326290650Shselasky 5327290650Shselasky u8 reserved_3[0x20]; 5328290650Shselasky 5329329204Shselasky struct mlx5_ifc_modify_tis_bitmask_bits bitmask; 5330290650Shselasky 5331290650Shselasky u8 reserved_4[0x40]; 5332290650Shselasky 5333290650Shselasky struct mlx5_ifc_tisc_bits ctx; 5334290650Shselasky}; 5335290650Shselasky 5336290650Shselaskystruct mlx5_ifc_modify_tir_out_bits { 5337290650Shselasky u8 status[0x8]; 5338290650Shselasky u8 reserved_0[0x18]; 5339290650Shselasky 5340290650Shselasky u8 syndrome[0x20]; 5341290650Shselasky 5342290650Shselasky u8 reserved_1[0x40]; 5343290650Shselasky}; 5344290650Shselasky 5345308678Shselaskyenum 5346308678Shselasky{ 5347308678Shselasky MLX5_MODIFY_SQ_BITMASK_PACKET_PACING_RATE_LIMIT_INDEX = 0x1 << 0, 5348308678Shselasky MLX5_MODIFY_SQ_BITMASK_QOS_PARA_VPORT_NUMBER = 0x1 << 1 5349308678Shselasky}; 5350308678Shselasky 5351290650Shselaskystruct mlx5_ifc_modify_tir_in_bits { 5352290650Shselasky u8 opcode[0x10]; 5353290650Shselasky u8 reserved_0[0x10]; 5354290650Shselasky 5355290650Shselasky u8 reserved_1[0x10]; 5356290650Shselasky u8 op_mod[0x10]; 5357290650Shselasky 5358290650Shselasky u8 reserved_2[0x8]; 5359290650Shselasky u8 tirn[0x18]; 5360290650Shselasky 5361290650Shselasky u8 reserved_3[0x20]; 5362290650Shselasky 5363290650Shselasky u8 modify_bitmask[0x40]; 5364290650Shselasky 5365290650Shselasky u8 reserved_4[0x40]; 5366290650Shselasky 5367290650Shselasky struct mlx5_ifc_tirc_bits tir_context; 5368290650Shselasky}; 5369290650Shselasky 5370290650Shselaskystruct mlx5_ifc_modify_sq_out_bits { 5371290650Shselasky u8 status[0x8]; 5372290650Shselasky u8 reserved_0[0x18]; 5373290650Shselasky 5374290650Shselasky u8 syndrome[0x20]; 5375290650Shselasky 5376290650Shselasky u8 reserved_1[0x40]; 5377290650Shselasky}; 5378290650Shselasky 5379290650Shselaskystruct mlx5_ifc_modify_sq_in_bits { 5380290650Shselasky u8 opcode[0x10]; 5381290650Shselasky u8 reserved_0[0x10]; 5382290650Shselasky 5383290650Shselasky u8 reserved_1[0x10]; 5384290650Shselasky u8 op_mod[0x10]; 5385290650Shselasky 5386290650Shselasky u8 sq_state[0x4]; 5387290650Shselasky u8 reserved_2[0x4]; 5388290650Shselasky u8 sqn[0x18]; 5389290650Shselasky 5390290650Shselasky u8 reserved_3[0x20]; 5391290650Shselasky 5392290650Shselasky u8 modify_bitmask[0x40]; 5393290650Shselasky 5394290650Shselasky u8 reserved_4[0x40]; 5395290650Shselasky 5396290650Shselasky struct mlx5_ifc_sqc_bits ctx; 5397290650Shselasky}; 5398290650Shselasky 5399308678Shselaskystruct mlx5_ifc_modify_scheduling_element_out_bits { 5400308678Shselasky u8 status[0x8]; 5401308678Shselasky u8 reserved_at_8[0x18]; 5402308678Shselasky 5403308678Shselasky u8 syndrome[0x20]; 5404308678Shselasky 5405308678Shselasky u8 reserved_at_40[0x1c0]; 5406308678Shselasky}; 5407308678Shselasky 5408308678Shselaskyenum { 5409308678Shselasky MLX5_MODIFY_SCHEDULING_ELEMENT_IN_SCHEDULING_HIERARCHY_E_SWITCH = 0x2, 5410308678Shselasky}; 5411308678Shselasky 5412308678Shselaskyenum { 5413308678Shselasky MLX5_MODIFY_SCHEDULING_ELEMENT_BITMASK_BW_SHARE = 0x1, 5414308678Shselasky MLX5_MODIFY_SCHEDULING_ELEMENT_BITMASK_MAX_AVERAGE_BW = 0x2, 5415308678Shselasky}; 5416308678Shselasky 5417308678Shselaskystruct mlx5_ifc_modify_scheduling_element_in_bits { 5418308678Shselasky u8 opcode[0x10]; 5419308678Shselasky u8 reserved_at_10[0x10]; 5420308678Shselasky 5421308678Shselasky u8 reserved_at_20[0x10]; 5422308678Shselasky u8 op_mod[0x10]; 5423308678Shselasky 5424308678Shselasky u8 scheduling_hierarchy[0x8]; 5425308678Shselasky u8 reserved_at_48[0x18]; 5426308678Shselasky 5427308678Shselasky u8 scheduling_element_id[0x20]; 5428308678Shselasky 5429308678Shselasky u8 reserved_at_80[0x20]; 5430308678Shselasky 5431308678Shselasky u8 modify_bitmask[0x20]; 5432308678Shselasky 5433308678Shselasky u8 reserved_at_c0[0x40]; 5434308678Shselasky 5435308678Shselasky struct mlx5_ifc_scheduling_context_bits scheduling_context; 5436308678Shselasky 5437308678Shselasky u8 reserved_at_300[0x100]; 5438308678Shselasky}; 5439308678Shselasky 5440290650Shselaskystruct mlx5_ifc_modify_rqt_out_bits { 5441290650Shselasky u8 status[0x8]; 5442290650Shselasky u8 reserved_0[0x18]; 5443290650Shselasky 5444290650Shselasky u8 syndrome[0x20]; 5445290650Shselasky 5446290650Shselasky u8 reserved_1[0x40]; 5447290650Shselasky}; 5448290650Shselasky 5449290650Shselaskystruct mlx5_ifc_modify_rqt_in_bits { 5450290650Shselasky u8 opcode[0x10]; 5451290650Shselasky u8 reserved_0[0x10]; 5452290650Shselasky 5453290650Shselasky u8 reserved_1[0x10]; 5454290650Shselasky u8 op_mod[0x10]; 5455290650Shselasky 5456290650Shselasky u8 reserved_2[0x8]; 5457290650Shselasky u8 rqtn[0x18]; 5458290650Shselasky 5459290650Shselasky u8 reserved_3[0x20]; 5460290650Shselasky 5461290650Shselasky u8 modify_bitmask[0x40]; 5462290650Shselasky 5463290650Shselasky u8 reserved_4[0x40]; 5464290650Shselasky 5465290650Shselasky struct mlx5_ifc_rqtc_bits ctx; 5466290650Shselasky}; 5467290650Shselasky 5468290650Shselaskystruct mlx5_ifc_modify_rq_out_bits { 5469290650Shselasky u8 status[0x8]; 5470290650Shselasky u8 reserved_0[0x18]; 5471290650Shselasky 5472290650Shselasky u8 syndrome[0x20]; 5473290650Shselasky 5474290650Shselasky u8 reserved_1[0x40]; 5475290650Shselasky}; 5476290650Shselasky 5477329204Shselaskyenum { 5478329204Shselasky MLX5_MODIFY_RQ_IN_MODIFY_BITMASK_VSD = 1ULL << 1, 5479329204Shselasky MLX5_MODIFY_RQ_IN_MODIFY_BITMASK_MODIFY_RQ_COUNTER_SET_ID = 1ULL << 3, 5480306233Shselasky}; 5481306233Shselasky 5482290650Shselaskystruct mlx5_ifc_modify_rq_in_bits { 5483290650Shselasky u8 opcode[0x10]; 5484290650Shselasky u8 reserved_0[0x10]; 5485290650Shselasky 5486290650Shselasky u8 reserved_1[0x10]; 5487290650Shselasky u8 op_mod[0x10]; 5488290650Shselasky 5489290650Shselasky u8 rq_state[0x4]; 5490290650Shselasky u8 reserved_2[0x4]; 5491290650Shselasky u8 rqn[0x18]; 5492290650Shselasky 5493290650Shselasky u8 reserved_3[0x20]; 5494290650Shselasky 5495329204Shselasky u8 modify_bitmask[0x40]; 5496290650Shselasky 5497290650Shselasky u8 reserved_4[0x40]; 5498290650Shselasky 5499290650Shselasky struct mlx5_ifc_rqc_bits ctx; 5500290650Shselasky}; 5501290650Shselasky 5502290650Shselaskystruct mlx5_ifc_modify_rmp_out_bits { 5503290650Shselasky u8 status[0x8]; 5504290650Shselasky u8 reserved_0[0x18]; 5505290650Shselasky 5506290650Shselasky u8 syndrome[0x20]; 5507290650Shselasky 5508290650Shselasky u8 reserved_1[0x40]; 5509290650Shselasky}; 5510290650Shselasky 5511290650Shselaskystruct mlx5_ifc_rmp_bitmask_bits { 5512290650Shselasky u8 reserved[0x20]; 5513290650Shselasky 5514290650Shselasky u8 reserved1[0x1f]; 5515290650Shselasky u8 lwm[0x1]; 5516290650Shselasky}; 5517290650Shselasky 5518290650Shselaskystruct mlx5_ifc_modify_rmp_in_bits { 5519290650Shselasky u8 opcode[0x10]; 5520290650Shselasky u8 reserved_0[0x10]; 5521290650Shselasky 5522290650Shselasky u8 reserved_1[0x10]; 5523290650Shselasky u8 op_mod[0x10]; 5524290650Shselasky 5525290650Shselasky u8 rmp_state[0x4]; 5526290650Shselasky u8 reserved_2[0x4]; 5527290650Shselasky u8 rmpn[0x18]; 5528290650Shselasky 5529290650Shselasky u8 reserved_3[0x20]; 5530290650Shselasky 5531290650Shselasky struct mlx5_ifc_rmp_bitmask_bits bitmask; 5532290650Shselasky 5533290650Shselasky u8 reserved_4[0x40]; 5534290650Shselasky 5535290650Shselasky struct mlx5_ifc_rmpc_bits ctx; 5536290650Shselasky}; 5537290650Shselasky 5538290650Shselaskystruct mlx5_ifc_modify_nic_vport_context_out_bits { 5539290650Shselasky u8 status[0x8]; 5540290650Shselasky u8 reserved_0[0x18]; 5541290650Shselasky 5542290650Shselasky u8 syndrome[0x20]; 5543290650Shselasky 5544290650Shselasky u8 reserved_1[0x40]; 5545290650Shselasky}; 5546290650Shselasky 5547290650Shselaskystruct mlx5_ifc_modify_nic_vport_field_select_bits { 5548321992Shselasky u8 reserved_0[0x14]; 5549321992Shselasky u8 disable_uc_local_lb[0x1]; 5550321992Shselasky u8 disable_mc_local_lb[0x1]; 5551306233Shselasky u8 node_guid[0x1]; 5552306233Shselasky u8 port_guid[0x1]; 5553290650Shselasky u8 min_wqe_inline_mode[0x1]; 5554290650Shselasky u8 mtu[0x1]; 5555290650Shselasky u8 change_event[0x1]; 5556290650Shselasky u8 promisc[0x1]; 5557290650Shselasky u8 permanent_address[0x1]; 5558290650Shselasky u8 addresses_list[0x1]; 5559290650Shselasky u8 roce_en[0x1]; 5560290650Shselasky u8 reserved_1[0x1]; 5561290650Shselasky}; 5562290650Shselasky 5563290650Shselaskystruct mlx5_ifc_modify_nic_vport_context_in_bits { 5564290650Shselasky u8 opcode[0x10]; 5565290650Shselasky u8 reserved_0[0x10]; 5566290650Shselasky 5567290650Shselasky u8 reserved_1[0x10]; 5568290650Shselasky u8 op_mod[0x10]; 5569290650Shselasky 5570290650Shselasky u8 other_vport[0x1]; 5571290650Shselasky u8 reserved_2[0xf]; 5572290650Shselasky u8 vport_number[0x10]; 5573290650Shselasky 5574290650Shselasky struct mlx5_ifc_modify_nic_vport_field_select_bits field_select; 5575290650Shselasky 5576290650Shselasky u8 reserved_3[0x780]; 5577290650Shselasky 5578290650Shselasky struct mlx5_ifc_nic_vport_context_bits nic_vport_context; 5579290650Shselasky}; 5580290650Shselasky 5581290650Shselaskystruct mlx5_ifc_modify_hca_vport_context_out_bits { 5582290650Shselasky u8 status[0x8]; 5583290650Shselasky u8 reserved_0[0x18]; 5584290650Shselasky 5585290650Shselasky u8 syndrome[0x20]; 5586290650Shselasky 5587290650Shselasky u8 reserved_1[0x40]; 5588290650Shselasky}; 5589290650Shselasky 5590306233Shselaskystruct mlx5_ifc_grh_bits { 5591306233Shselasky u8 ip_version[4]; 5592306233Shselasky u8 traffic_class[8]; 5593306233Shselasky u8 flow_label[20]; 5594306233Shselasky u8 payload_length[16]; 5595306233Shselasky u8 next_header[8]; 5596306233Shselasky u8 hop_limit[8]; 5597306233Shselasky u8 sgid[128]; 5598306233Shselasky u8 dgid[128]; 5599306233Shselasky}; 5600306233Shselasky 5601306233Shselaskystruct mlx5_ifc_bth_bits { 5602306233Shselasky u8 opcode[8]; 5603306233Shselasky u8 se[1]; 5604306233Shselasky u8 migreq[1]; 5605306233Shselasky u8 pad_count[2]; 5606306233Shselasky u8 tver[4]; 5607306233Shselasky u8 p_key[16]; 5608306233Shselasky u8 reserved8[8]; 5609306233Shselasky u8 dest_qp[24]; 5610306233Shselasky u8 ack_req[1]; 5611306233Shselasky u8 reserved7[7]; 5612306233Shselasky u8 psn[24]; 5613306233Shselasky}; 5614306233Shselasky 5615306233Shselaskystruct mlx5_ifc_aeth_bits { 5616306233Shselasky u8 syndrome[8]; 5617306233Shselasky u8 msn[24]; 5618306233Shselasky}; 5619306233Shselasky 5620306233Shselaskystruct mlx5_ifc_dceth_bits { 5621306233Shselasky u8 reserved0[8]; 5622306233Shselasky u8 session_id[24]; 5623306233Shselasky u8 reserved1[8]; 5624306233Shselasky u8 dci_dct[24]; 5625306233Shselasky}; 5626306233Shselasky 5627290650Shselaskystruct mlx5_ifc_modify_hca_vport_context_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 other_vport[0x1]; 5635290650Shselasky u8 reserved_2[0xb]; 5636290650Shselasky u8 port_num[0x4]; 5637290650Shselasky u8 vport_number[0x10]; 5638290650Shselasky 5639290650Shselasky u8 reserved_3[0x20]; 5640290650Shselasky 5641290650Shselasky struct mlx5_ifc_hca_vport_context_bits hca_vport_context; 5642290650Shselasky}; 5643290650Shselasky 5644329200Shselaskystruct mlx5_ifc_modify_flow_table_out_bits { 5645329200Shselasky u8 status[0x8]; 5646329200Shselasky u8 reserved_at_8[0x18]; 5647329200Shselasky 5648329200Shselasky u8 syndrome[0x20]; 5649329200Shselasky 5650329200Shselasky u8 reserved_at_40[0x40]; 5651329200Shselasky}; 5652329200Shselasky 5653329200Shselaskyenum { 5654329200Shselasky MLX5_MODIFY_FLOW_TABLE_SELECT_MISS_ACTION_AND_ID = 0x1, 5655329200Shselasky MLX5_MODIFY_FLOW_TABLE_SELECT_LAG_MASTER_NEXT_TABLE_ID = 0x8000, 5656329200Shselasky}; 5657329200Shselasky 5658329200Shselaskystruct mlx5_ifc_modify_flow_table_in_bits { 5659329200Shselasky u8 opcode[0x10]; 5660329200Shselasky u8 reserved_at_10[0x10]; 5661329200Shselasky 5662329200Shselasky u8 reserved_at_20[0x10]; 5663329200Shselasky u8 op_mod[0x10]; 5664329200Shselasky 5665329200Shselasky u8 other_vport[0x1]; 5666329200Shselasky u8 reserved_at_41[0xf]; 5667329200Shselasky u8 vport_number[0x10]; 5668329200Shselasky 5669329200Shselasky u8 reserved_at_60[0x10]; 5670329200Shselasky u8 modify_field_select[0x10]; 5671329200Shselasky 5672329200Shselasky u8 table_type[0x8]; 5673329200Shselasky u8 reserved_at_88[0x18]; 5674329200Shselasky 5675329200Shselasky u8 reserved_at_a0[0x8]; 5676329200Shselasky u8 table_id[0x18]; 5677329200Shselasky 5678329200Shselasky struct mlx5_ifc_flow_table_context_bits flow_table_context; 5679329200Shselasky}; 5680329200Shselasky 5681290650Shselaskystruct mlx5_ifc_modify_esw_vport_context_out_bits { 5682290650Shselasky u8 status[0x8]; 5683290650Shselasky u8 reserved_0[0x18]; 5684290650Shselasky 5685290650Shselasky u8 syndrome[0x20]; 5686290650Shselasky 5687290650Shselasky u8 reserved_1[0x40]; 5688290650Shselasky}; 5689290650Shselasky 5690306233Shselaskystruct mlx5_ifc_esw_vport_context_fields_select_bits { 5691306233Shselasky u8 reserved[0x1c]; 5692306233Shselasky u8 vport_cvlan_insert[0x1]; 5693306233Shselasky u8 vport_svlan_insert[0x1]; 5694306233Shselasky u8 vport_cvlan_strip[0x1]; 5695306233Shselasky u8 vport_svlan_strip[0x1]; 5696306233Shselasky}; 5697306233Shselasky 5698290650Shselaskystruct mlx5_ifc_modify_esw_vport_context_in_bits { 5699290650Shselasky u8 opcode[0x10]; 5700290650Shselasky u8 reserved_0[0x10]; 5701290650Shselasky 5702290650Shselasky u8 reserved_1[0x10]; 5703290650Shselasky u8 op_mod[0x10]; 5704290650Shselasky 5705290650Shselasky u8 other_vport[0x1]; 5706290650Shselasky u8 reserved_2[0xf]; 5707290650Shselasky u8 vport_number[0x10]; 5708290650Shselasky 5709306233Shselasky struct mlx5_ifc_esw_vport_context_fields_select_bits field_select; 5710290650Shselasky 5711290650Shselasky struct mlx5_ifc_esw_vport_context_bits esw_vport_context; 5712290650Shselasky}; 5713290650Shselasky 5714290650Shselaskystruct mlx5_ifc_modify_cq_out_bits { 5715290650Shselasky u8 status[0x8]; 5716290650Shselasky u8 reserved_0[0x18]; 5717290650Shselasky 5718290650Shselasky u8 syndrome[0x20]; 5719290650Shselasky 5720290650Shselasky u8 reserved_1[0x40]; 5721290650Shselasky}; 5722290650Shselasky 5723290650Shselaskyenum { 5724290650Shselasky MLX5_MODIFY_CQ_IN_OP_MOD_MODIFY_CQ = 0x0, 5725290650Shselasky MLX5_MODIFY_CQ_IN_OP_MOD_RESIZE_CQ = 0x1, 5726290650Shselasky}; 5727290650Shselasky 5728290650Shselaskystruct mlx5_ifc_modify_cq_in_bits { 5729290650Shselasky u8 opcode[0x10]; 5730290650Shselasky u8 reserved_0[0x10]; 5731290650Shselasky 5732290650Shselasky u8 reserved_1[0x10]; 5733290650Shselasky u8 op_mod[0x10]; 5734290650Shselasky 5735290650Shselasky u8 reserved_2[0x8]; 5736290650Shselasky u8 cqn[0x18]; 5737290650Shselasky 5738290650Shselasky union mlx5_ifc_modify_field_select_resize_field_select_auto_bits modify_field_select_resize_field_select; 5739290650Shselasky 5740290650Shselasky struct mlx5_ifc_cqc_bits cq_context; 5741290650Shselasky 5742290650Shselasky u8 reserved_3[0x600]; 5743290650Shselasky 5744290650Shselasky u8 pas[0][0x40]; 5745290650Shselasky}; 5746290650Shselasky 5747290650Shselaskystruct mlx5_ifc_modify_cong_status_out_bits { 5748290650Shselasky u8 status[0x8]; 5749290650Shselasky u8 reserved_0[0x18]; 5750290650Shselasky 5751290650Shselasky u8 syndrome[0x20]; 5752290650Shselasky 5753290650Shselasky u8 reserved_1[0x40]; 5754290650Shselasky}; 5755290650Shselasky 5756290650Shselaskystruct mlx5_ifc_modify_cong_status_in_bits { 5757290650Shselasky u8 opcode[0x10]; 5758290650Shselasky u8 reserved_0[0x10]; 5759290650Shselasky 5760290650Shselasky u8 reserved_1[0x10]; 5761290650Shselasky u8 op_mod[0x10]; 5762290650Shselasky 5763290650Shselasky u8 reserved_2[0x18]; 5764290650Shselasky u8 priority[0x4]; 5765290650Shselasky u8 cong_protocol[0x4]; 5766290650Shselasky 5767290650Shselasky u8 enable[0x1]; 5768290650Shselasky u8 tag_enable[0x1]; 5769290650Shselasky u8 reserved_3[0x1e]; 5770290650Shselasky}; 5771290650Shselasky 5772290650Shselaskystruct mlx5_ifc_modify_cong_params_out_bits { 5773290650Shselasky u8 status[0x8]; 5774290650Shselasky u8 reserved_0[0x18]; 5775290650Shselasky 5776290650Shselasky u8 syndrome[0x20]; 5777290650Shselasky 5778290650Shselasky u8 reserved_1[0x40]; 5779290650Shselasky}; 5780290650Shselasky 5781290650Shselaskystruct mlx5_ifc_modify_cong_params_in_bits { 5782290650Shselasky u8 opcode[0x10]; 5783290650Shselasky u8 reserved_0[0x10]; 5784290650Shselasky 5785290650Shselasky u8 reserved_1[0x10]; 5786290650Shselasky u8 op_mod[0x10]; 5787290650Shselasky 5788290650Shselasky u8 reserved_2[0x1c]; 5789290650Shselasky u8 cong_protocol[0x4]; 5790290650Shselasky 5791290650Shselasky union mlx5_ifc_field_select_802_1_r_roce_auto_bits field_select; 5792290650Shselasky 5793290650Shselasky u8 reserved_3[0x80]; 5794290650Shselasky 5795290650Shselasky union mlx5_ifc_cong_control_roce_ecn_auto_bits congestion_parameters; 5796290650Shselasky}; 5797290650Shselasky 5798290650Shselaskystruct mlx5_ifc_manage_pages_out_bits { 5799290650Shselasky u8 status[0x8]; 5800290650Shselasky u8 reserved_0[0x18]; 5801290650Shselasky 5802290650Shselasky u8 syndrome[0x20]; 5803290650Shselasky 5804290650Shselasky u8 output_num_entries[0x20]; 5805290650Shselasky 5806290650Shselasky u8 reserved_1[0x20]; 5807290650Shselasky 5808290650Shselasky u8 pas[0][0x40]; 5809290650Shselasky}; 5810290650Shselasky 5811290650Shselaskyenum { 5812290650Shselasky MLX5_PAGES_CANT_GIVE = 0x0, 5813290650Shselasky MLX5_PAGES_GIVE = 0x1, 5814290650Shselasky MLX5_PAGES_TAKE = 0x2, 5815290650Shselasky}; 5816290650Shselasky 5817290650Shselaskystruct mlx5_ifc_manage_pages_in_bits { 5818290650Shselasky u8 opcode[0x10]; 5819290650Shselasky u8 reserved_0[0x10]; 5820290650Shselasky 5821290650Shselasky u8 reserved_1[0x10]; 5822290650Shselasky u8 op_mod[0x10]; 5823290650Shselasky 5824290650Shselasky u8 reserved_2[0x10]; 5825290650Shselasky u8 function_id[0x10]; 5826290650Shselasky 5827290650Shselasky u8 input_num_entries[0x20]; 5828290650Shselasky 5829290650Shselasky u8 pas[0][0x40]; 5830290650Shselasky}; 5831290650Shselasky 5832290650Shselaskystruct mlx5_ifc_mad_ifc_out_bits { 5833290650Shselasky u8 status[0x8]; 5834290650Shselasky u8 reserved_0[0x18]; 5835290650Shselasky 5836290650Shselasky u8 syndrome[0x20]; 5837290650Shselasky 5838290650Shselasky u8 reserved_1[0x40]; 5839290650Shselasky 5840290650Shselasky u8 response_mad_packet[256][0x8]; 5841290650Shselasky}; 5842290650Shselasky 5843290650Shselaskystruct mlx5_ifc_mad_ifc_in_bits { 5844290650Shselasky u8 opcode[0x10]; 5845290650Shselasky u8 reserved_0[0x10]; 5846290650Shselasky 5847290650Shselasky u8 reserved_1[0x10]; 5848290650Shselasky u8 op_mod[0x10]; 5849290650Shselasky 5850290650Shselasky u8 remote_lid[0x10]; 5851290650Shselasky u8 reserved_2[0x8]; 5852290650Shselasky u8 port[0x8]; 5853290650Shselasky 5854290650Shselasky u8 reserved_3[0x20]; 5855290650Shselasky 5856290650Shselasky u8 mad[256][0x8]; 5857290650Shselasky}; 5858290650Shselasky 5859290650Shselaskystruct mlx5_ifc_init_hca_out_bits { 5860290650Shselasky u8 status[0x8]; 5861290650Shselasky u8 reserved_0[0x18]; 5862290650Shselasky 5863290650Shselasky u8 syndrome[0x20]; 5864290650Shselasky 5865290650Shselasky u8 reserved_1[0x40]; 5866290650Shselasky}; 5867290650Shselasky 5868290650Shselaskyenum { 5869290650Shselasky MLX5_INIT_HCA_IN_OP_MOD_INIT = 0x0, 5870290650Shselasky MLX5_INIT_HCA_IN_OP_MOD_PRE_INIT = 0x1, 5871290650Shselasky}; 5872290650Shselasky 5873290650Shselaskystruct mlx5_ifc_init_hca_in_bits { 5874290650Shselasky u8 opcode[0x10]; 5875290650Shselasky u8 reserved_0[0x10]; 5876290650Shselasky 5877290650Shselasky u8 reserved_1[0x10]; 5878290650Shselasky u8 op_mod[0x10]; 5879290650Shselasky 5880290650Shselasky u8 reserved_2[0x40]; 5881290650Shselasky}; 5882290650Shselasky 5883290650Shselaskystruct mlx5_ifc_init2rtr_qp_out_bits { 5884290650Shselasky u8 status[0x8]; 5885290650Shselasky u8 reserved_0[0x18]; 5886290650Shselasky 5887290650Shselasky u8 syndrome[0x20]; 5888290650Shselasky 5889290650Shselasky u8 reserved_1[0x40]; 5890290650Shselasky}; 5891290650Shselasky 5892290650Shselaskystruct mlx5_ifc_init2rtr_qp_in_bits { 5893290650Shselasky u8 opcode[0x10]; 5894290650Shselasky u8 reserved_0[0x10]; 5895290650Shselasky 5896290650Shselasky u8 reserved_1[0x10]; 5897290650Shselasky u8 op_mod[0x10]; 5898290650Shselasky 5899290650Shselasky u8 reserved_2[0x8]; 5900290650Shselasky u8 qpn[0x18]; 5901290650Shselasky 5902290650Shselasky u8 reserved_3[0x20]; 5903290650Shselasky 5904290650Shselasky u8 opt_param_mask[0x20]; 5905290650Shselasky 5906290650Shselasky u8 reserved_4[0x20]; 5907290650Shselasky 5908290650Shselasky struct mlx5_ifc_qpc_bits qpc; 5909290650Shselasky 5910290650Shselasky u8 reserved_5[0x80]; 5911290650Shselasky}; 5912290650Shselasky 5913290650Shselaskystruct mlx5_ifc_init2init_qp_out_bits { 5914290650Shselasky u8 status[0x8]; 5915290650Shselasky u8 reserved_0[0x18]; 5916290650Shselasky 5917290650Shselasky u8 syndrome[0x20]; 5918290650Shselasky 5919290650Shselasky u8 reserved_1[0x40]; 5920290650Shselasky}; 5921290650Shselasky 5922290650Shselaskystruct mlx5_ifc_init2init_qp_in_bits { 5923290650Shselasky u8 opcode[0x10]; 5924290650Shselasky u8 reserved_0[0x10]; 5925290650Shselasky 5926290650Shselasky u8 reserved_1[0x10]; 5927290650Shselasky u8 op_mod[0x10]; 5928290650Shselasky 5929290650Shselasky u8 reserved_2[0x8]; 5930290650Shselasky u8 qpn[0x18]; 5931290650Shselasky 5932290650Shselasky u8 reserved_3[0x20]; 5933290650Shselasky 5934290650Shselasky u8 opt_param_mask[0x20]; 5935290650Shselasky 5936290650Shselasky u8 reserved_4[0x20]; 5937290650Shselasky 5938290650Shselasky struct mlx5_ifc_qpc_bits qpc; 5939290650Shselasky 5940290650Shselasky u8 reserved_5[0x80]; 5941290650Shselasky}; 5942290650Shselasky 5943290650Shselaskystruct mlx5_ifc_get_dropped_packet_log_out_bits { 5944290650Shselasky u8 status[0x8]; 5945290650Shselasky u8 reserved_0[0x18]; 5946290650Shselasky 5947290650Shselasky u8 syndrome[0x20]; 5948290650Shselasky 5949290650Shselasky u8 reserved_1[0x40]; 5950290650Shselasky 5951290650Shselasky u8 packet_headers_log[128][0x8]; 5952290650Shselasky 5953290650Shselasky u8 packet_syndrome[64][0x8]; 5954290650Shselasky}; 5955290650Shselasky 5956290650Shselaskystruct mlx5_ifc_get_dropped_packet_log_in_bits { 5957290650Shselasky u8 opcode[0x10]; 5958290650Shselasky u8 reserved_0[0x10]; 5959290650Shselasky 5960290650Shselasky u8 reserved_1[0x10]; 5961290650Shselasky u8 op_mod[0x10]; 5962290650Shselasky 5963290650Shselasky u8 reserved_2[0x40]; 5964290650Shselasky}; 5965290650Shselasky 5966290650Shselaskystruct mlx5_ifc_gen_eqe_in_bits { 5967290650Shselasky u8 opcode[0x10]; 5968290650Shselasky u8 reserved_0[0x10]; 5969290650Shselasky 5970290650Shselasky u8 reserved_1[0x10]; 5971290650Shselasky u8 op_mod[0x10]; 5972290650Shselasky 5973290650Shselasky u8 reserved_2[0x18]; 5974290650Shselasky u8 eq_number[0x8]; 5975290650Shselasky 5976290650Shselasky u8 reserved_3[0x20]; 5977290650Shselasky 5978290650Shselasky u8 eqe[64][0x8]; 5979290650Shselasky}; 5980290650Shselasky 5981290650Shselaskystruct mlx5_ifc_gen_eq_out_bits { 5982290650Shselasky u8 status[0x8]; 5983290650Shselasky u8 reserved_0[0x18]; 5984290650Shselasky 5985290650Shselasky u8 syndrome[0x20]; 5986290650Shselasky 5987290650Shselasky u8 reserved_1[0x40]; 5988290650Shselasky}; 5989290650Shselasky 5990290650Shselaskystruct mlx5_ifc_enable_hca_out_bits { 5991290650Shselasky u8 status[0x8]; 5992290650Shselasky u8 reserved_0[0x18]; 5993290650Shselasky 5994290650Shselasky u8 syndrome[0x20]; 5995290650Shselasky 5996290650Shselasky u8 reserved_1[0x20]; 5997290650Shselasky}; 5998290650Shselasky 5999290650Shselaskystruct mlx5_ifc_enable_hca_in_bits { 6000290650Shselasky u8 opcode[0x10]; 6001290650Shselasky u8 reserved_0[0x10]; 6002290650Shselasky 6003290650Shselasky u8 reserved_1[0x10]; 6004290650Shselasky u8 op_mod[0x10]; 6005290650Shselasky 6006290650Shselasky u8 reserved_2[0x10]; 6007290650Shselasky u8 function_id[0x10]; 6008290650Shselasky 6009290650Shselasky u8 reserved_3[0x20]; 6010290650Shselasky}; 6011290650Shselasky 6012290650Shselaskystruct mlx5_ifc_drain_dct_out_bits { 6013290650Shselasky u8 status[0x8]; 6014290650Shselasky u8 reserved_0[0x18]; 6015290650Shselasky 6016290650Shselasky u8 syndrome[0x20]; 6017290650Shselasky 6018290650Shselasky u8 reserved_1[0x40]; 6019290650Shselasky}; 6020290650Shselasky 6021290650Shselaskystruct mlx5_ifc_drain_dct_in_bits { 6022290650Shselasky u8 opcode[0x10]; 6023290650Shselasky u8 reserved_0[0x10]; 6024290650Shselasky 6025290650Shselasky u8 reserved_1[0x10]; 6026290650Shselasky u8 op_mod[0x10]; 6027290650Shselasky 6028290650Shselasky u8 reserved_2[0x8]; 6029290650Shselasky u8 dctn[0x18]; 6030290650Shselasky 6031290650Shselasky u8 reserved_3[0x20]; 6032290650Shselasky}; 6033290650Shselasky 6034290650Shselaskystruct mlx5_ifc_disable_hca_out_bits { 6035290650Shselasky u8 status[0x8]; 6036290650Shselasky u8 reserved_0[0x18]; 6037290650Shselasky 6038290650Shselasky u8 syndrome[0x20]; 6039290650Shselasky 6040290650Shselasky u8 reserved_1[0x20]; 6041290650Shselasky}; 6042290650Shselasky 6043290650Shselaskystruct mlx5_ifc_disable_hca_in_bits { 6044290650Shselasky u8 opcode[0x10]; 6045290650Shselasky u8 reserved_0[0x10]; 6046290650Shselasky 6047290650Shselasky u8 reserved_1[0x10]; 6048290650Shselasky u8 op_mod[0x10]; 6049290650Shselasky 6050290650Shselasky u8 reserved_2[0x10]; 6051290650Shselasky u8 function_id[0x10]; 6052290650Shselasky 6053290650Shselasky u8 reserved_3[0x20]; 6054290650Shselasky}; 6055290650Shselasky 6056290650Shselaskystruct mlx5_ifc_detach_from_mcg_out_bits { 6057290650Shselasky u8 status[0x8]; 6058290650Shselasky u8 reserved_0[0x18]; 6059290650Shselasky 6060290650Shselasky u8 syndrome[0x20]; 6061290650Shselasky 6062290650Shselasky u8 reserved_1[0x40]; 6063290650Shselasky}; 6064290650Shselasky 6065290650Shselaskystruct mlx5_ifc_detach_from_mcg_in_bits { 6066290650Shselasky u8 opcode[0x10]; 6067290650Shselasky u8 reserved_0[0x10]; 6068290650Shselasky 6069290650Shselasky u8 reserved_1[0x10]; 6070290650Shselasky u8 op_mod[0x10]; 6071290650Shselasky 6072290650Shselasky u8 reserved_2[0x8]; 6073290650Shselasky u8 qpn[0x18]; 6074290650Shselasky 6075290650Shselasky u8 reserved_3[0x20]; 6076290650Shselasky 6077290650Shselasky u8 multicast_gid[16][0x8]; 6078290650Shselasky}; 6079290650Shselasky 6080290650Shselaskystruct mlx5_ifc_destroy_xrc_srq_out_bits { 6081290650Shselasky u8 status[0x8]; 6082290650Shselasky u8 reserved_0[0x18]; 6083290650Shselasky 6084290650Shselasky u8 syndrome[0x20]; 6085290650Shselasky 6086290650Shselasky u8 reserved_1[0x40]; 6087290650Shselasky}; 6088290650Shselasky 6089290650Shselaskystruct mlx5_ifc_destroy_xrc_srq_in_bits { 6090290650Shselasky u8 opcode[0x10]; 6091290650Shselasky u8 reserved_0[0x10]; 6092290650Shselasky 6093290650Shselasky u8 reserved_1[0x10]; 6094290650Shselasky u8 op_mod[0x10]; 6095290650Shselasky 6096290650Shselasky u8 reserved_2[0x8]; 6097290650Shselasky u8 xrc_srqn[0x18]; 6098290650Shselasky 6099290650Shselasky u8 reserved_3[0x20]; 6100290650Shselasky}; 6101290650Shselasky 6102290650Shselaskystruct mlx5_ifc_destroy_tis_out_bits { 6103290650Shselasky u8 status[0x8]; 6104290650Shselasky u8 reserved_0[0x18]; 6105290650Shselasky 6106290650Shselasky u8 syndrome[0x20]; 6107290650Shselasky 6108290650Shselasky u8 reserved_1[0x40]; 6109290650Shselasky}; 6110290650Shselasky 6111290650Shselaskystruct mlx5_ifc_destroy_tis_in_bits { 6112290650Shselasky u8 opcode[0x10]; 6113290650Shselasky u8 reserved_0[0x10]; 6114290650Shselasky 6115290650Shselasky u8 reserved_1[0x10]; 6116290650Shselasky u8 op_mod[0x10]; 6117290650Shselasky 6118290650Shselasky u8 reserved_2[0x8]; 6119290650Shselasky u8 tisn[0x18]; 6120290650Shselasky 6121290650Shselasky u8 reserved_3[0x20]; 6122290650Shselasky}; 6123290650Shselasky 6124290650Shselaskystruct mlx5_ifc_destroy_tir_out_bits { 6125290650Shselasky u8 status[0x8]; 6126290650Shselasky u8 reserved_0[0x18]; 6127290650Shselasky 6128290650Shselasky u8 syndrome[0x20]; 6129290650Shselasky 6130290650Shselasky u8 reserved_1[0x40]; 6131290650Shselasky}; 6132290650Shselasky 6133290650Shselaskystruct mlx5_ifc_destroy_tir_in_bits { 6134290650Shselasky u8 opcode[0x10]; 6135290650Shselasky u8 reserved_0[0x10]; 6136290650Shselasky 6137290650Shselasky u8 reserved_1[0x10]; 6138290650Shselasky u8 op_mod[0x10]; 6139290650Shselasky 6140290650Shselasky u8 reserved_2[0x8]; 6141290650Shselasky u8 tirn[0x18]; 6142290650Shselasky 6143290650Shselasky u8 reserved_3[0x20]; 6144290650Shselasky}; 6145290650Shselasky 6146290650Shselaskystruct mlx5_ifc_destroy_srq_out_bits { 6147290650Shselasky u8 status[0x8]; 6148290650Shselasky u8 reserved_0[0x18]; 6149290650Shselasky 6150290650Shselasky u8 syndrome[0x20]; 6151290650Shselasky 6152290650Shselasky u8 reserved_1[0x40]; 6153290650Shselasky}; 6154290650Shselasky 6155290650Shselaskystruct mlx5_ifc_destroy_srq_in_bits { 6156290650Shselasky u8 opcode[0x10]; 6157290650Shselasky u8 reserved_0[0x10]; 6158290650Shselasky 6159290650Shselasky u8 reserved_1[0x10]; 6160290650Shselasky u8 op_mod[0x10]; 6161290650Shselasky 6162290650Shselasky u8 reserved_2[0x8]; 6163290650Shselasky u8 srqn[0x18]; 6164290650Shselasky 6165290650Shselasky u8 reserved_3[0x20]; 6166290650Shselasky}; 6167290650Shselasky 6168290650Shselaskystruct mlx5_ifc_destroy_sq_out_bits { 6169290650Shselasky u8 status[0x8]; 6170290650Shselasky u8 reserved_0[0x18]; 6171290650Shselasky 6172290650Shselasky u8 syndrome[0x20]; 6173290650Shselasky 6174290650Shselasky u8 reserved_1[0x40]; 6175290650Shselasky}; 6176290650Shselasky 6177290650Shselaskystruct mlx5_ifc_destroy_sq_in_bits { 6178290650Shselasky u8 opcode[0x10]; 6179290650Shselasky u8 reserved_0[0x10]; 6180290650Shselasky 6181290650Shselasky u8 reserved_1[0x10]; 6182290650Shselasky u8 op_mod[0x10]; 6183290650Shselasky 6184290650Shselasky u8 reserved_2[0x8]; 6185290650Shselasky u8 sqn[0x18]; 6186290650Shselasky 6187290650Shselasky u8 reserved_3[0x20]; 6188290650Shselasky}; 6189290650Shselasky 6190308678Shselaskystruct mlx5_ifc_destroy_scheduling_element_out_bits { 6191308678Shselasky u8 status[0x8]; 6192308678Shselasky u8 reserved_at_8[0x18]; 6193308678Shselasky 6194308678Shselasky u8 syndrome[0x20]; 6195308678Shselasky 6196308678Shselasky u8 reserved_at_40[0x1c0]; 6197308678Shselasky}; 6198308678Shselasky 6199308678Shselaskyenum { 6200308678Shselasky MLX5_DESTROY_SCHEDULING_ELEMENT_IN_SCHEDULING_HIERARCHY_E_SWITCH = 0x2, 6201308678Shselasky}; 6202308678Shselasky 6203308678Shselaskystruct mlx5_ifc_destroy_scheduling_element_in_bits { 6204308678Shselasky u8 opcode[0x10]; 6205308678Shselasky u8 reserved_at_10[0x10]; 6206308678Shselasky 6207308678Shselasky u8 reserved_at_20[0x10]; 6208308678Shselasky u8 op_mod[0x10]; 6209308678Shselasky 6210308678Shselasky u8 scheduling_hierarchy[0x8]; 6211308678Shselasky u8 reserved_at_48[0x18]; 6212308678Shselasky 6213308678Shselasky u8 scheduling_element_id[0x20]; 6214308678Shselasky 6215308678Shselasky u8 reserved_at_80[0x180]; 6216308678Shselasky}; 6217308678Shselasky 6218290650Shselaskystruct mlx5_ifc_destroy_rqt_out_bits { 6219290650Shselasky u8 status[0x8]; 6220290650Shselasky u8 reserved_0[0x18]; 6221290650Shselasky 6222290650Shselasky u8 syndrome[0x20]; 6223290650Shselasky 6224290650Shselasky u8 reserved_1[0x40]; 6225290650Shselasky}; 6226290650Shselasky 6227290650Shselaskystruct mlx5_ifc_destroy_rqt_in_bits { 6228290650Shselasky u8 opcode[0x10]; 6229290650Shselasky u8 reserved_0[0x10]; 6230290650Shselasky 6231290650Shselasky u8 reserved_1[0x10]; 6232290650Shselasky u8 op_mod[0x10]; 6233290650Shselasky 6234290650Shselasky u8 reserved_2[0x8]; 6235290650Shselasky u8 rqtn[0x18]; 6236290650Shselasky 6237290650Shselasky u8 reserved_3[0x20]; 6238290650Shselasky}; 6239290650Shselasky 6240290650Shselaskystruct mlx5_ifc_destroy_rq_out_bits { 6241290650Shselasky u8 status[0x8]; 6242290650Shselasky u8 reserved_0[0x18]; 6243290650Shselasky 6244290650Shselasky u8 syndrome[0x20]; 6245290650Shselasky 6246290650Shselasky u8 reserved_1[0x40]; 6247290650Shselasky}; 6248290650Shselasky 6249290650Shselaskystruct mlx5_ifc_destroy_rq_in_bits { 6250290650Shselasky u8 opcode[0x10]; 6251290650Shselasky u8 reserved_0[0x10]; 6252290650Shselasky 6253290650Shselasky u8 reserved_1[0x10]; 6254290650Shselasky u8 op_mod[0x10]; 6255290650Shselasky 6256290650Shselasky u8 reserved_2[0x8]; 6257290650Shselasky u8 rqn[0x18]; 6258290650Shselasky 6259290650Shselasky u8 reserved_3[0x20]; 6260290650Shselasky}; 6261290650Shselasky 6262290650Shselaskystruct mlx5_ifc_destroy_rmp_out_bits { 6263290650Shselasky u8 status[0x8]; 6264290650Shselasky u8 reserved_0[0x18]; 6265290650Shselasky 6266290650Shselasky u8 syndrome[0x20]; 6267290650Shselasky 6268290650Shselasky u8 reserved_1[0x40]; 6269290650Shselasky}; 6270290650Shselasky 6271290650Shselaskystruct mlx5_ifc_destroy_rmp_in_bits { 6272290650Shselasky u8 opcode[0x10]; 6273290650Shselasky u8 reserved_0[0x10]; 6274290650Shselasky 6275290650Shselasky u8 reserved_1[0x10]; 6276290650Shselasky u8 op_mod[0x10]; 6277290650Shselasky 6278290650Shselasky u8 reserved_2[0x8]; 6279290650Shselasky u8 rmpn[0x18]; 6280290650Shselasky 6281290650Shselasky u8 reserved_3[0x20]; 6282290650Shselasky}; 6283290650Shselasky 6284290650Shselaskystruct mlx5_ifc_destroy_qp_out_bits { 6285290650Shselasky u8 status[0x8]; 6286290650Shselasky u8 reserved_0[0x18]; 6287290650Shselasky 6288290650Shselasky u8 syndrome[0x20]; 6289290650Shselasky 6290290650Shselasky u8 reserved_1[0x40]; 6291290650Shselasky}; 6292290650Shselasky 6293290650Shselaskystruct mlx5_ifc_destroy_qp_in_bits { 6294290650Shselasky u8 opcode[0x10]; 6295290650Shselasky u8 reserved_0[0x10]; 6296290650Shselasky 6297290650Shselasky u8 reserved_1[0x10]; 6298290650Shselasky u8 op_mod[0x10]; 6299290650Shselasky 6300290650Shselasky u8 reserved_2[0x8]; 6301290650Shselasky u8 qpn[0x18]; 6302290650Shselasky 6303290650Shselasky u8 reserved_3[0x20]; 6304290650Shselasky}; 6305290650Shselasky 6306308678Shselaskystruct mlx5_ifc_destroy_qos_para_vport_out_bits { 6307308678Shselasky u8 status[0x8]; 6308308678Shselasky u8 reserved_at_8[0x18]; 6309308678Shselasky 6310308678Shselasky u8 syndrome[0x20]; 6311308678Shselasky 6312308678Shselasky u8 reserved_at_40[0x1c0]; 6313308678Shselasky}; 6314308678Shselasky 6315308678Shselaskystruct mlx5_ifc_destroy_qos_para_vport_in_bits { 6316308678Shselasky u8 opcode[0x10]; 6317308678Shselasky u8 reserved_at_10[0x10]; 6318308678Shselasky 6319308678Shselasky u8 reserved_at_20[0x10]; 6320308678Shselasky u8 op_mod[0x10]; 6321308678Shselasky 6322308678Shselasky u8 reserved_at_40[0x20]; 6323308678Shselasky 6324308678Shselasky u8 reserved_at_60[0x10]; 6325308678Shselasky u8 qos_para_vport_number[0x10]; 6326308678Shselasky 6327308678Shselasky u8 reserved_at_80[0x180]; 6328308678Shselasky}; 6329308678Shselasky 6330290650Shselaskystruct mlx5_ifc_destroy_psv_out_bits { 6331290650Shselasky u8 status[0x8]; 6332290650Shselasky u8 reserved_0[0x18]; 6333290650Shselasky 6334290650Shselasky u8 syndrome[0x20]; 6335290650Shselasky 6336290650Shselasky u8 reserved_1[0x40]; 6337290650Shselasky}; 6338290650Shselasky 6339290650Shselaskystruct mlx5_ifc_destroy_psv_in_bits { 6340290650Shselasky u8 opcode[0x10]; 6341290650Shselasky u8 reserved_0[0x10]; 6342290650Shselasky 6343290650Shselasky u8 reserved_1[0x10]; 6344290650Shselasky u8 op_mod[0x10]; 6345290650Shselasky 6346290650Shselasky u8 reserved_2[0x8]; 6347290650Shselasky u8 psvn[0x18]; 6348290650Shselasky 6349290650Shselasky u8 reserved_3[0x20]; 6350290650Shselasky}; 6351290650Shselasky 6352290650Shselaskystruct mlx5_ifc_destroy_mkey_out_bits { 6353290650Shselasky u8 status[0x8]; 6354290650Shselasky u8 reserved_0[0x18]; 6355290650Shselasky 6356290650Shselasky u8 syndrome[0x20]; 6357290650Shselasky 6358290650Shselasky u8 reserved_1[0x40]; 6359290650Shselasky}; 6360290650Shselasky 6361290650Shselaskystruct mlx5_ifc_destroy_mkey_in_bits { 6362290650Shselasky u8 opcode[0x10]; 6363290650Shselasky u8 reserved_0[0x10]; 6364290650Shselasky 6365290650Shselasky u8 reserved_1[0x10]; 6366290650Shselasky u8 op_mod[0x10]; 6367290650Shselasky 6368290650Shselasky u8 reserved_2[0x8]; 6369290650Shselasky u8 mkey_index[0x18]; 6370290650Shselasky 6371290650Shselasky u8 reserved_3[0x20]; 6372290650Shselasky}; 6373290650Shselasky 6374290650Shselaskystruct mlx5_ifc_destroy_flow_table_out_bits { 6375290650Shselasky u8 status[0x8]; 6376290650Shselasky u8 reserved_0[0x18]; 6377290650Shselasky 6378290650Shselasky u8 syndrome[0x20]; 6379290650Shselasky 6380290650Shselasky u8 reserved_1[0x40]; 6381290650Shselasky}; 6382290650Shselasky 6383290650Shselaskystruct mlx5_ifc_destroy_flow_table_in_bits { 6384290650Shselasky u8 opcode[0x10]; 6385290650Shselasky u8 reserved_0[0x10]; 6386290650Shselasky 6387290650Shselasky u8 reserved_1[0x10]; 6388290650Shselasky u8 op_mod[0x10]; 6389290650Shselasky 6390290650Shselasky u8 other_vport[0x1]; 6391290650Shselasky u8 reserved_2[0xf]; 6392290650Shselasky u8 vport_number[0x10]; 6393290650Shselasky 6394290650Shselasky u8 reserved_3[0x20]; 6395290650Shselasky 6396290650Shselasky u8 table_type[0x8]; 6397290650Shselasky u8 reserved_4[0x18]; 6398290650Shselasky 6399290650Shselasky u8 reserved_5[0x8]; 6400290650Shselasky u8 table_id[0x18]; 6401290650Shselasky 6402290650Shselasky u8 reserved_6[0x140]; 6403290650Shselasky}; 6404290650Shselasky 6405290650Shselaskystruct mlx5_ifc_destroy_flow_group_out_bits { 6406290650Shselasky u8 status[0x8]; 6407290650Shselasky u8 reserved_0[0x18]; 6408290650Shselasky 6409290650Shselasky u8 syndrome[0x20]; 6410290650Shselasky 6411290650Shselasky u8 reserved_1[0x40]; 6412290650Shselasky}; 6413290650Shselasky 6414290650Shselaskystruct mlx5_ifc_destroy_flow_group_in_bits { 6415290650Shselasky u8 opcode[0x10]; 6416290650Shselasky u8 reserved_0[0x10]; 6417290650Shselasky 6418290650Shselasky u8 reserved_1[0x10]; 6419290650Shselasky u8 op_mod[0x10]; 6420290650Shselasky 6421290650Shselasky u8 other_vport[0x1]; 6422290650Shselasky u8 reserved_2[0xf]; 6423290650Shselasky u8 vport_number[0x10]; 6424290650Shselasky 6425290650Shselasky u8 reserved_3[0x20]; 6426290650Shselasky 6427290650Shselasky u8 table_type[0x8]; 6428290650Shselasky u8 reserved_4[0x18]; 6429290650Shselasky 6430290650Shselasky u8 reserved_5[0x8]; 6431290650Shselasky u8 table_id[0x18]; 6432290650Shselasky 6433290650Shselasky u8 group_id[0x20]; 6434290650Shselasky 6435290650Shselasky u8 reserved_6[0x120]; 6436290650Shselasky}; 6437290650Shselasky 6438290650Shselaskystruct mlx5_ifc_destroy_eq_out_bits { 6439290650Shselasky u8 status[0x8]; 6440290650Shselasky u8 reserved_0[0x18]; 6441290650Shselasky 6442290650Shselasky u8 syndrome[0x20]; 6443290650Shselasky 6444290650Shselasky u8 reserved_1[0x40]; 6445290650Shselasky}; 6446290650Shselasky 6447290650Shselaskystruct mlx5_ifc_destroy_eq_in_bits { 6448290650Shselasky u8 opcode[0x10]; 6449290650Shselasky u8 reserved_0[0x10]; 6450290650Shselasky 6451290650Shselasky u8 reserved_1[0x10]; 6452290650Shselasky u8 op_mod[0x10]; 6453290650Shselasky 6454290650Shselasky u8 reserved_2[0x18]; 6455290650Shselasky u8 eq_number[0x8]; 6456290650Shselasky 6457290650Shselasky u8 reserved_3[0x20]; 6458290650Shselasky}; 6459290650Shselasky 6460290650Shselaskystruct mlx5_ifc_destroy_dct_out_bits { 6461290650Shselasky u8 status[0x8]; 6462290650Shselasky u8 reserved_0[0x18]; 6463290650Shselasky 6464290650Shselasky u8 syndrome[0x20]; 6465290650Shselasky 6466290650Shselasky u8 reserved_1[0x40]; 6467290650Shselasky}; 6468290650Shselasky 6469290650Shselaskystruct mlx5_ifc_destroy_dct_in_bits { 6470290650Shselasky u8 opcode[0x10]; 6471290650Shselasky u8 reserved_0[0x10]; 6472290650Shselasky 6473290650Shselasky u8 reserved_1[0x10]; 6474290650Shselasky u8 op_mod[0x10]; 6475290650Shselasky 6476290650Shselasky u8 reserved_2[0x8]; 6477290650Shselasky u8 dctn[0x18]; 6478290650Shselasky 6479290650Shselasky u8 reserved_3[0x20]; 6480290650Shselasky}; 6481290650Shselasky 6482290650Shselaskystruct mlx5_ifc_destroy_cq_out_bits { 6483290650Shselasky u8 status[0x8]; 6484290650Shselasky u8 reserved_0[0x18]; 6485290650Shselasky 6486290650Shselasky u8 syndrome[0x20]; 6487290650Shselasky 6488290650Shselasky u8 reserved_1[0x40]; 6489290650Shselasky}; 6490290650Shselasky 6491290650Shselaskystruct mlx5_ifc_destroy_cq_in_bits { 6492290650Shselasky u8 opcode[0x10]; 6493290650Shselasky u8 reserved_0[0x10]; 6494290650Shselasky 6495290650Shselasky u8 reserved_1[0x10]; 6496290650Shselasky u8 op_mod[0x10]; 6497290650Shselasky 6498290650Shselasky u8 reserved_2[0x8]; 6499290650Shselasky u8 cqn[0x18]; 6500290650Shselasky 6501290650Shselasky u8 reserved_3[0x20]; 6502290650Shselasky}; 6503290650Shselasky 6504290650Shselaskystruct mlx5_ifc_delete_vxlan_udp_dport_out_bits { 6505290650Shselasky u8 status[0x8]; 6506290650Shselasky u8 reserved_0[0x18]; 6507290650Shselasky 6508290650Shselasky u8 syndrome[0x20]; 6509290650Shselasky 6510290650Shselasky u8 reserved_1[0x40]; 6511290650Shselasky}; 6512290650Shselasky 6513290650Shselaskystruct mlx5_ifc_delete_vxlan_udp_dport_in_bits { 6514290650Shselasky u8 opcode[0x10]; 6515290650Shselasky u8 reserved_0[0x10]; 6516290650Shselasky 6517290650Shselasky u8 reserved_1[0x10]; 6518290650Shselasky u8 op_mod[0x10]; 6519290650Shselasky 6520290650Shselasky u8 reserved_2[0x20]; 6521290650Shselasky 6522290650Shselasky u8 reserved_3[0x10]; 6523290650Shselasky u8 vxlan_udp_port[0x10]; 6524290650Shselasky}; 6525290650Shselasky 6526290650Shselaskystruct mlx5_ifc_delete_l2_table_entry_out_bits { 6527290650Shselasky u8 status[0x8]; 6528290650Shselasky u8 reserved_0[0x18]; 6529290650Shselasky 6530290650Shselasky u8 syndrome[0x20]; 6531290650Shselasky 6532290650Shselasky u8 reserved_1[0x40]; 6533290650Shselasky}; 6534290650Shselasky 6535290650Shselaskystruct mlx5_ifc_delete_l2_table_entry_in_bits { 6536290650Shselasky u8 opcode[0x10]; 6537290650Shselasky u8 reserved_0[0x10]; 6538290650Shselasky 6539290650Shselasky u8 reserved_1[0x10]; 6540290650Shselasky u8 op_mod[0x10]; 6541290650Shselasky 6542290650Shselasky u8 reserved_2[0x60]; 6543290650Shselasky 6544290650Shselasky u8 reserved_3[0x8]; 6545290650Shselasky u8 table_index[0x18]; 6546290650Shselasky 6547290650Shselasky u8 reserved_4[0x140]; 6548290650Shselasky}; 6549290650Shselasky 6550290650Shselaskystruct mlx5_ifc_delete_fte_out_bits { 6551290650Shselasky u8 status[0x8]; 6552290650Shselasky u8 reserved_0[0x18]; 6553290650Shselasky 6554290650Shselasky u8 syndrome[0x20]; 6555290650Shselasky 6556290650Shselasky u8 reserved_1[0x40]; 6557290650Shselasky}; 6558290650Shselasky 6559290650Shselaskystruct mlx5_ifc_delete_fte_in_bits { 6560290650Shselasky u8 opcode[0x10]; 6561290650Shselasky u8 reserved_0[0x10]; 6562290650Shselasky 6563290650Shselasky u8 reserved_1[0x10]; 6564290650Shselasky u8 op_mod[0x10]; 6565290650Shselasky 6566290650Shselasky u8 other_vport[0x1]; 6567290650Shselasky u8 reserved_2[0xf]; 6568290650Shselasky u8 vport_number[0x10]; 6569290650Shselasky 6570290650Shselasky u8 reserved_3[0x20]; 6571290650Shselasky 6572290650Shselasky u8 table_type[0x8]; 6573290650Shselasky u8 reserved_4[0x18]; 6574290650Shselasky 6575290650Shselasky u8 reserved_5[0x8]; 6576290650Shselasky u8 table_id[0x18]; 6577290650Shselasky 6578290650Shselasky u8 reserved_6[0x40]; 6579290650Shselasky 6580290650Shselasky u8 flow_index[0x20]; 6581290650Shselasky 6582290650Shselasky u8 reserved_7[0xe0]; 6583290650Shselasky}; 6584290650Shselasky 6585290650Shselaskystruct mlx5_ifc_dealloc_xrcd_out_bits { 6586290650Shselasky u8 status[0x8]; 6587290650Shselasky u8 reserved_0[0x18]; 6588290650Shselasky 6589290650Shselasky u8 syndrome[0x20]; 6590290650Shselasky 6591290650Shselasky u8 reserved_1[0x40]; 6592290650Shselasky}; 6593290650Shselasky 6594290650Shselaskystruct mlx5_ifc_dealloc_xrcd_in_bits { 6595290650Shselasky u8 opcode[0x10]; 6596290650Shselasky u8 reserved_0[0x10]; 6597290650Shselasky 6598290650Shselasky u8 reserved_1[0x10]; 6599290650Shselasky u8 op_mod[0x10]; 6600290650Shselasky 6601290650Shselasky u8 reserved_2[0x8]; 6602290650Shselasky u8 xrcd[0x18]; 6603290650Shselasky 6604290650Shselasky u8 reserved_3[0x20]; 6605290650Shselasky}; 6606290650Shselasky 6607290650Shselaskystruct mlx5_ifc_dealloc_uar_out_bits { 6608290650Shselasky u8 status[0x8]; 6609290650Shselasky u8 reserved_0[0x18]; 6610290650Shselasky 6611290650Shselasky u8 syndrome[0x20]; 6612290650Shselasky 6613290650Shselasky u8 reserved_1[0x40]; 6614290650Shselasky}; 6615290650Shselasky 6616290650Shselaskystruct mlx5_ifc_dealloc_uar_in_bits { 6617290650Shselasky u8 opcode[0x10]; 6618290650Shselasky u8 reserved_0[0x10]; 6619290650Shselasky 6620290650Shselasky u8 reserved_1[0x10]; 6621290650Shselasky u8 op_mod[0x10]; 6622290650Shselasky 6623290650Shselasky u8 reserved_2[0x8]; 6624290650Shselasky u8 uar[0x18]; 6625290650Shselasky 6626290650Shselasky u8 reserved_3[0x20]; 6627290650Shselasky}; 6628290650Shselasky 6629290650Shselaskystruct mlx5_ifc_dealloc_transport_domain_out_bits { 6630290650Shselasky u8 status[0x8]; 6631290650Shselasky u8 reserved_0[0x18]; 6632290650Shselasky 6633290650Shselasky u8 syndrome[0x20]; 6634290650Shselasky 6635290650Shselasky u8 reserved_1[0x40]; 6636290650Shselasky}; 6637290650Shselasky 6638290650Shselaskystruct mlx5_ifc_dealloc_transport_domain_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[0x8]; 6646290650Shselasky u8 transport_domain[0x18]; 6647290650Shselasky 6648290650Shselasky u8 reserved_3[0x20]; 6649290650Shselasky}; 6650290650Shselasky 6651290650Shselaskystruct mlx5_ifc_dealloc_q_counter_out_bits { 6652290650Shselasky u8 status[0x8]; 6653290650Shselasky u8 reserved_0[0x18]; 6654290650Shselasky 6655290650Shselasky u8 syndrome[0x20]; 6656290650Shselasky 6657290650Shselasky u8 reserved_1[0x40]; 6658290650Shselasky}; 6659290650Shselasky 6660306233Shselaskystruct mlx5_ifc_counter_id_bits { 6661306233Shselasky u8 reserved[0x10]; 6662306233Shselasky u8 counter_id[0x10]; 6663306233Shselasky}; 6664306233Shselasky 6665308678Shselaskystruct mlx5_ifc_diagnostic_params_context_bits { 6666306233Shselasky u8 num_of_counters[0x10]; 6667306233Shselasky u8 reserved_2[0x8]; 6668306233Shselasky u8 log_num_of_samples[0x8]; 6669306233Shselasky 6670306233Shselasky u8 single[0x1]; 6671306233Shselasky u8 repetitive[0x1]; 6672306233Shselasky u8 sync[0x1]; 6673306233Shselasky u8 clear[0x1]; 6674306233Shselasky u8 on_demand[0x1]; 6675306233Shselasky u8 enable[0x1]; 6676306233Shselasky u8 reserved_3[0x12]; 6677306233Shselasky u8 log_sample_period[0x8]; 6678306233Shselasky 6679306233Shselasky u8 reserved_4[0x80]; 6680306233Shselasky 6681306233Shselasky struct mlx5_ifc_counter_id_bits counter_id[0]; 6682306233Shselasky}; 6683306233Shselasky 6684308678Shselaskystruct mlx5_ifc_set_diagnostic_params_in_bits { 6685308678Shselasky u8 opcode[0x10]; 6686308678Shselasky u8 reserved_0[0x10]; 6687308678Shselasky 6688308678Shselasky u8 reserved_1[0x10]; 6689308678Shselasky u8 op_mod[0x10]; 6690308678Shselasky 6691308678Shselasky struct mlx5_ifc_diagnostic_params_context_bits diagnostic_params_ctx; 6692308678Shselasky}; 6693308678Shselasky 6694308678Shselaskystruct mlx5_ifc_set_diagnostic_params_out_bits { 6695306233Shselasky u8 status[0x8]; 6696306233Shselasky u8 reserved_0[0x18]; 6697306233Shselasky 6698306233Shselasky u8 syndrome[0x20]; 6699306233Shselasky 6700306233Shselasky u8 reserved_1[0x40]; 6701306233Shselasky}; 6702306233Shselasky 6703308678Shselaskystruct mlx5_ifc_query_diagnostic_counters_in_bits { 6704306233Shselasky u8 opcode[0x10]; 6705306233Shselasky u8 reserved_0[0x10]; 6706306233Shselasky 6707306233Shselasky u8 reserved_1[0x10]; 6708306233Shselasky u8 op_mod[0x10]; 6709306233Shselasky 6710306233Shselasky u8 num_of_samples[0x10]; 6711306233Shselasky u8 sample_index[0x10]; 6712306233Shselasky 6713306233Shselasky u8 reserved_2[0x20]; 6714306233Shselasky}; 6715306233Shselasky 6716306233Shselaskystruct mlx5_ifc_diagnostic_counter_bits { 6717306233Shselasky u8 counter_id[0x10]; 6718306233Shselasky u8 sample_id[0x10]; 6719306233Shselasky 6720306233Shselasky u8 time_stamp_31_0[0x20]; 6721306233Shselasky 6722306233Shselasky u8 counter_value_h[0x20]; 6723306233Shselasky 6724306233Shselasky u8 counter_value_l[0x20]; 6725306233Shselasky}; 6726306233Shselasky 6727308678Shselaskystruct mlx5_ifc_query_diagnostic_counters_out_bits { 6728306233Shselasky u8 status[0x8]; 6729306233Shselasky u8 reserved_0[0x18]; 6730306233Shselasky 6731306233Shselasky u8 syndrome[0x20]; 6732306233Shselasky 6733306233Shselasky u8 reserved_1[0x40]; 6734306233Shselasky 6735306233Shselasky struct mlx5_ifc_diagnostic_counter_bits diag_counter[0]; 6736306233Shselasky}; 6737306233Shselasky 6738290650Shselaskystruct mlx5_ifc_dealloc_q_counter_in_bits { 6739290650Shselasky u8 opcode[0x10]; 6740290650Shselasky u8 reserved_0[0x10]; 6741290650Shselasky 6742290650Shselasky u8 reserved_1[0x10]; 6743290650Shselasky u8 op_mod[0x10]; 6744290650Shselasky 6745290650Shselasky u8 reserved_2[0x18]; 6746290650Shselasky u8 counter_set_id[0x8]; 6747290650Shselasky 6748290650Shselasky u8 reserved_3[0x20]; 6749290650Shselasky}; 6750290650Shselasky 6751290650Shselaskystruct mlx5_ifc_dealloc_pd_out_bits { 6752290650Shselasky u8 status[0x8]; 6753290650Shselasky u8 reserved_0[0x18]; 6754290650Shselasky 6755290650Shselasky u8 syndrome[0x20]; 6756290650Shselasky 6757290650Shselasky u8 reserved_1[0x40]; 6758290650Shselasky}; 6759290650Shselasky 6760290650Shselaskystruct mlx5_ifc_dealloc_pd_in_bits { 6761290650Shselasky u8 opcode[0x10]; 6762290650Shselasky u8 reserved_0[0x10]; 6763290650Shselasky 6764290650Shselasky u8 reserved_1[0x10]; 6765290650Shselasky u8 op_mod[0x10]; 6766290650Shselasky 6767290650Shselasky u8 reserved_2[0x8]; 6768290650Shselasky u8 pd[0x18]; 6769290650Shselasky 6770290650Shselasky u8 reserved_3[0x20]; 6771290650Shselasky}; 6772290650Shselasky 6773290650Shselaskystruct mlx5_ifc_dealloc_flow_counter_out_bits { 6774290650Shselasky u8 status[0x8]; 6775290650Shselasky u8 reserved_0[0x18]; 6776290650Shselasky 6777290650Shselasky u8 syndrome[0x20]; 6778290650Shselasky 6779290650Shselasky u8 reserved_1[0x40]; 6780290650Shselasky}; 6781290650Shselasky 6782290650Shselaskystruct mlx5_ifc_dealloc_flow_counter_in_bits { 6783290650Shselasky u8 opcode[0x10]; 6784290650Shselasky u8 reserved_0[0x10]; 6785290650Shselasky 6786290650Shselasky u8 reserved_1[0x10]; 6787290650Shselasky u8 op_mod[0x10]; 6788290650Shselasky 6789290650Shselasky u8 reserved_2[0x10]; 6790290650Shselasky u8 flow_counter_id[0x10]; 6791290650Shselasky 6792290650Shselasky u8 reserved_3[0x20]; 6793290650Shselasky}; 6794290650Shselasky 6795290650Shselaskystruct mlx5_ifc_deactivate_tracer_out_bits { 6796290650Shselasky u8 status[0x8]; 6797290650Shselasky u8 reserved_0[0x18]; 6798290650Shselasky 6799290650Shselasky u8 syndrome[0x20]; 6800290650Shselasky 6801290650Shselasky u8 reserved_1[0x40]; 6802290650Shselasky}; 6803290650Shselasky 6804290650Shselaskystruct mlx5_ifc_deactivate_tracer_in_bits { 6805290650Shselasky u8 opcode[0x10]; 6806290650Shselasky u8 reserved_0[0x10]; 6807290650Shselasky 6808290650Shselasky u8 reserved_1[0x10]; 6809290650Shselasky u8 op_mod[0x10]; 6810290650Shselasky 6811290650Shselasky u8 mkey[0x20]; 6812290650Shselasky 6813290650Shselasky u8 reserved_2[0x20]; 6814290650Shselasky}; 6815290650Shselasky 6816290650Shselaskystruct mlx5_ifc_create_xrc_srq_out_bits { 6817290650Shselasky u8 status[0x8]; 6818290650Shselasky u8 reserved_0[0x18]; 6819290650Shselasky 6820290650Shselasky u8 syndrome[0x20]; 6821290650Shselasky 6822290650Shselasky u8 reserved_1[0x8]; 6823290650Shselasky u8 xrc_srqn[0x18]; 6824290650Shselasky 6825290650Shselasky u8 reserved_2[0x20]; 6826290650Shselasky}; 6827290650Shselasky 6828290650Shselaskystruct mlx5_ifc_create_xrc_srq_in_bits { 6829290650Shselasky u8 opcode[0x10]; 6830290650Shselasky u8 reserved_0[0x10]; 6831290650Shselasky 6832290650Shselasky u8 reserved_1[0x10]; 6833290650Shselasky u8 op_mod[0x10]; 6834290650Shselasky 6835290650Shselasky u8 reserved_2[0x40]; 6836290650Shselasky 6837290650Shselasky struct mlx5_ifc_xrc_srqc_bits xrc_srq_context_entry; 6838290650Shselasky 6839290650Shselasky u8 reserved_3[0x600]; 6840290650Shselasky 6841290650Shselasky u8 pas[0][0x40]; 6842290650Shselasky}; 6843290650Shselasky 6844290650Shselaskystruct mlx5_ifc_create_tis_out_bits { 6845290650Shselasky u8 status[0x8]; 6846290650Shselasky u8 reserved_0[0x18]; 6847290650Shselasky 6848290650Shselasky u8 syndrome[0x20]; 6849290650Shselasky 6850290650Shselasky u8 reserved_1[0x8]; 6851290650Shselasky u8 tisn[0x18]; 6852290650Shselasky 6853290650Shselasky u8 reserved_2[0x20]; 6854290650Shselasky}; 6855290650Shselasky 6856290650Shselaskystruct mlx5_ifc_create_tis_in_bits { 6857290650Shselasky u8 opcode[0x10]; 6858290650Shselasky u8 reserved_0[0x10]; 6859290650Shselasky 6860290650Shselasky u8 reserved_1[0x10]; 6861290650Shselasky u8 op_mod[0x10]; 6862290650Shselasky 6863290650Shselasky u8 reserved_2[0xc0]; 6864290650Shselasky 6865290650Shselasky struct mlx5_ifc_tisc_bits ctx; 6866290650Shselasky}; 6867290650Shselasky 6868290650Shselaskystruct mlx5_ifc_create_tir_out_bits { 6869290650Shselasky u8 status[0x8]; 6870290650Shselasky u8 reserved_0[0x18]; 6871290650Shselasky 6872290650Shselasky u8 syndrome[0x20]; 6873290650Shselasky 6874290650Shselasky u8 reserved_1[0x8]; 6875290650Shselasky u8 tirn[0x18]; 6876290650Shselasky 6877290650Shselasky u8 reserved_2[0x20]; 6878290650Shselasky}; 6879290650Shselasky 6880290650Shselaskystruct mlx5_ifc_create_tir_in_bits { 6881290650Shselasky u8 opcode[0x10]; 6882290650Shselasky u8 reserved_0[0x10]; 6883290650Shselasky 6884290650Shselasky u8 reserved_1[0x10]; 6885290650Shselasky u8 op_mod[0x10]; 6886290650Shselasky 6887290650Shselasky u8 reserved_2[0xc0]; 6888290650Shselasky 6889290650Shselasky struct mlx5_ifc_tirc_bits tir_context; 6890290650Shselasky}; 6891290650Shselasky 6892290650Shselaskystruct mlx5_ifc_create_srq_out_bits { 6893290650Shselasky u8 status[0x8]; 6894290650Shselasky u8 reserved_0[0x18]; 6895290650Shselasky 6896290650Shselasky u8 syndrome[0x20]; 6897290650Shselasky 6898290650Shselasky u8 reserved_1[0x8]; 6899290650Shselasky u8 srqn[0x18]; 6900290650Shselasky 6901290650Shselasky u8 reserved_2[0x20]; 6902290650Shselasky}; 6903290650Shselasky 6904290650Shselaskystruct mlx5_ifc_create_srq_in_bits { 6905290650Shselasky u8 opcode[0x10]; 6906290650Shselasky u8 reserved_0[0x10]; 6907290650Shselasky 6908290650Shselasky u8 reserved_1[0x10]; 6909290650Shselasky u8 op_mod[0x10]; 6910290650Shselasky 6911290650Shselasky u8 reserved_2[0x40]; 6912290650Shselasky 6913290650Shselasky struct mlx5_ifc_srqc_bits srq_context_entry; 6914290650Shselasky 6915290650Shselasky u8 reserved_3[0x600]; 6916290650Shselasky 6917290650Shselasky u8 pas[0][0x40]; 6918290650Shselasky}; 6919290650Shselasky 6920290650Shselaskystruct mlx5_ifc_create_sq_out_bits { 6921290650Shselasky u8 status[0x8]; 6922290650Shselasky u8 reserved_0[0x18]; 6923290650Shselasky 6924290650Shselasky u8 syndrome[0x20]; 6925290650Shselasky 6926290650Shselasky u8 reserved_1[0x8]; 6927290650Shselasky u8 sqn[0x18]; 6928290650Shselasky 6929290650Shselasky u8 reserved_2[0x20]; 6930290650Shselasky}; 6931290650Shselasky 6932290650Shselaskystruct mlx5_ifc_create_sq_in_bits { 6933290650Shselasky u8 opcode[0x10]; 6934290650Shselasky u8 reserved_0[0x10]; 6935290650Shselasky 6936290650Shselasky u8 reserved_1[0x10]; 6937290650Shselasky u8 op_mod[0x10]; 6938290650Shselasky 6939290650Shselasky u8 reserved_2[0xc0]; 6940290650Shselasky 6941290650Shselasky struct mlx5_ifc_sqc_bits ctx; 6942290650Shselasky}; 6943290650Shselasky 6944308678Shselaskystruct mlx5_ifc_create_scheduling_element_out_bits { 6945308678Shselasky u8 status[0x8]; 6946308678Shselasky u8 reserved_at_8[0x18]; 6947308678Shselasky 6948308678Shselasky u8 syndrome[0x20]; 6949308678Shselasky 6950308678Shselasky u8 reserved_at_40[0x40]; 6951308678Shselasky 6952308678Shselasky u8 scheduling_element_id[0x20]; 6953308678Shselasky 6954308678Shselasky u8 reserved_at_a0[0x160]; 6955308678Shselasky}; 6956308678Shselasky 6957308678Shselaskyenum { 6958308678Shselasky MLX5_CREATE_SCHEDULING_ELEMENT_IN_SCHEDULING_HIERARCHY_E_SWITCH = 0x2, 6959308678Shselasky}; 6960308678Shselasky 6961308678Shselaskystruct mlx5_ifc_create_scheduling_element_in_bits { 6962308678Shselasky u8 opcode[0x10]; 6963308678Shselasky u8 reserved_at_10[0x10]; 6964308678Shselasky 6965308678Shselasky u8 reserved_at_20[0x10]; 6966308678Shselasky u8 op_mod[0x10]; 6967308678Shselasky 6968308678Shselasky u8 scheduling_hierarchy[0x8]; 6969308678Shselasky u8 reserved_at_48[0x18]; 6970308678Shselasky 6971308678Shselasky u8 reserved_at_60[0xa0]; 6972308678Shselasky 6973308678Shselasky struct mlx5_ifc_scheduling_context_bits scheduling_context; 6974308678Shselasky 6975308678Shselasky u8 reserved_at_300[0x100]; 6976308678Shselasky}; 6977308678Shselasky 6978290650Shselaskystruct mlx5_ifc_create_rqt_out_bits { 6979290650Shselasky u8 status[0x8]; 6980290650Shselasky u8 reserved_0[0x18]; 6981290650Shselasky 6982290650Shselasky u8 syndrome[0x20]; 6983290650Shselasky 6984290650Shselasky u8 reserved_1[0x8]; 6985290650Shselasky u8 rqtn[0x18]; 6986290650Shselasky 6987290650Shselasky u8 reserved_2[0x20]; 6988290650Shselasky}; 6989290650Shselasky 6990290650Shselaskystruct mlx5_ifc_create_rqt_in_bits { 6991290650Shselasky u8 opcode[0x10]; 6992290650Shselasky u8 reserved_0[0x10]; 6993290650Shselasky 6994290650Shselasky u8 reserved_1[0x10]; 6995290650Shselasky u8 op_mod[0x10]; 6996290650Shselasky 6997290650Shselasky u8 reserved_2[0xc0]; 6998290650Shselasky 6999290650Shselasky struct mlx5_ifc_rqtc_bits rqt_context; 7000290650Shselasky}; 7001290650Shselasky 7002290650Shselaskystruct mlx5_ifc_create_rq_out_bits { 7003290650Shselasky u8 status[0x8]; 7004290650Shselasky u8 reserved_0[0x18]; 7005290650Shselasky 7006290650Shselasky u8 syndrome[0x20]; 7007290650Shselasky 7008290650Shselasky u8 reserved_1[0x8]; 7009290650Shselasky u8 rqn[0x18]; 7010290650Shselasky 7011290650Shselasky u8 reserved_2[0x20]; 7012290650Shselasky}; 7013290650Shselasky 7014290650Shselaskystruct mlx5_ifc_create_rq_in_bits { 7015290650Shselasky u8 opcode[0x10]; 7016290650Shselasky u8 reserved_0[0x10]; 7017290650Shselasky 7018290650Shselasky u8 reserved_1[0x10]; 7019290650Shselasky u8 op_mod[0x10]; 7020290650Shselasky 7021290650Shselasky u8 reserved_2[0xc0]; 7022290650Shselasky 7023290650Shselasky struct mlx5_ifc_rqc_bits ctx; 7024290650Shselasky}; 7025290650Shselasky 7026290650Shselaskystruct mlx5_ifc_create_rmp_out_bits { 7027290650Shselasky u8 status[0x8]; 7028290650Shselasky u8 reserved_0[0x18]; 7029290650Shselasky 7030290650Shselasky u8 syndrome[0x20]; 7031290650Shselasky 7032290650Shselasky u8 reserved_1[0x8]; 7033290650Shselasky u8 rmpn[0x18]; 7034290650Shselasky 7035290650Shselasky u8 reserved_2[0x20]; 7036290650Shselasky}; 7037290650Shselasky 7038290650Shselaskystruct mlx5_ifc_create_rmp_in_bits { 7039290650Shselasky u8 opcode[0x10]; 7040290650Shselasky u8 reserved_0[0x10]; 7041290650Shselasky 7042290650Shselasky u8 reserved_1[0x10]; 7043290650Shselasky u8 op_mod[0x10]; 7044290650Shselasky 7045290650Shselasky u8 reserved_2[0xc0]; 7046290650Shselasky 7047290650Shselasky struct mlx5_ifc_rmpc_bits ctx; 7048290650Shselasky}; 7049290650Shselasky 7050290650Shselaskystruct mlx5_ifc_create_qp_out_bits { 7051290650Shselasky u8 status[0x8]; 7052290650Shselasky u8 reserved_0[0x18]; 7053290650Shselasky 7054290650Shselasky u8 syndrome[0x20]; 7055290650Shselasky 7056290650Shselasky u8 reserved_1[0x8]; 7057290650Shselasky u8 qpn[0x18]; 7058290650Shselasky 7059290650Shselasky u8 reserved_2[0x20]; 7060290650Shselasky}; 7061290650Shselasky 7062290650Shselaskystruct mlx5_ifc_create_qp_in_bits { 7063290650Shselasky u8 opcode[0x10]; 7064290650Shselasky u8 reserved_0[0x10]; 7065290650Shselasky 7066290650Shselasky u8 reserved_1[0x10]; 7067290650Shselasky u8 op_mod[0x10]; 7068290650Shselasky 7069306233Shselasky u8 reserved_2[0x8]; 7070306233Shselasky u8 input_qpn[0x18]; 7071290650Shselasky 7072306233Shselasky u8 reserved_3[0x20]; 7073306233Shselasky 7074290650Shselasky u8 opt_param_mask[0x20]; 7075290650Shselasky 7076306233Shselasky u8 reserved_4[0x20]; 7077290650Shselasky 7078290650Shselasky struct mlx5_ifc_qpc_bits qpc; 7079290650Shselasky 7080306233Shselasky u8 reserved_5[0x80]; 7081290650Shselasky 7082290650Shselasky u8 pas[0][0x40]; 7083290650Shselasky}; 7084290650Shselasky 7085308678Shselaskystruct mlx5_ifc_create_qos_para_vport_out_bits { 7086308678Shselasky u8 status[0x8]; 7087308678Shselasky u8 reserved_at_8[0x18]; 7088308678Shselasky 7089308678Shselasky u8 syndrome[0x20]; 7090308678Shselasky 7091308678Shselasky u8 reserved_at_40[0x20]; 7092308678Shselasky 7093308678Shselasky u8 reserved_at_60[0x10]; 7094308678Shselasky u8 qos_para_vport_number[0x10]; 7095308678Shselasky 7096308678Shselasky u8 reserved_at_80[0x180]; 7097308678Shselasky}; 7098308678Shselasky 7099308678Shselaskystruct mlx5_ifc_create_qos_para_vport_in_bits { 7100308678Shselasky u8 opcode[0x10]; 7101308678Shselasky u8 reserved_at_10[0x10]; 7102308678Shselasky 7103308678Shselasky u8 reserved_at_20[0x10]; 7104308678Shselasky u8 op_mod[0x10]; 7105308678Shselasky 7106308678Shselasky u8 reserved_at_40[0x1c0]; 7107308678Shselasky}; 7108308678Shselasky 7109290650Shselaskystruct mlx5_ifc_create_psv_out_bits { 7110290650Shselasky u8 status[0x8]; 7111290650Shselasky u8 reserved_0[0x18]; 7112290650Shselasky 7113290650Shselasky u8 syndrome[0x20]; 7114290650Shselasky 7115290650Shselasky u8 reserved_1[0x40]; 7116290650Shselasky 7117290650Shselasky u8 reserved_2[0x8]; 7118290650Shselasky u8 psv0_index[0x18]; 7119290650Shselasky 7120290650Shselasky u8 reserved_3[0x8]; 7121290650Shselasky u8 psv1_index[0x18]; 7122290650Shselasky 7123290650Shselasky u8 reserved_4[0x8]; 7124290650Shselasky u8 psv2_index[0x18]; 7125290650Shselasky 7126290650Shselasky u8 reserved_5[0x8]; 7127290650Shselasky u8 psv3_index[0x18]; 7128290650Shselasky}; 7129290650Shselasky 7130290650Shselaskystruct mlx5_ifc_create_psv_in_bits { 7131290650Shselasky u8 opcode[0x10]; 7132290650Shselasky u8 reserved_0[0x10]; 7133290650Shselasky 7134290650Shselasky u8 reserved_1[0x10]; 7135290650Shselasky u8 op_mod[0x10]; 7136290650Shselasky 7137290650Shselasky u8 num_psv[0x4]; 7138290650Shselasky u8 reserved_2[0x4]; 7139290650Shselasky u8 pd[0x18]; 7140290650Shselasky 7141290650Shselasky u8 reserved_3[0x20]; 7142290650Shselasky}; 7143290650Shselasky 7144290650Shselaskystruct mlx5_ifc_create_mkey_out_bits { 7145290650Shselasky u8 status[0x8]; 7146290650Shselasky u8 reserved_0[0x18]; 7147290650Shselasky 7148290650Shselasky u8 syndrome[0x20]; 7149290650Shselasky 7150290650Shselasky u8 reserved_1[0x8]; 7151290650Shselasky u8 mkey_index[0x18]; 7152290650Shselasky 7153290650Shselasky u8 reserved_2[0x20]; 7154290650Shselasky}; 7155290650Shselasky 7156290650Shselaskystruct mlx5_ifc_create_mkey_in_bits { 7157290650Shselasky u8 opcode[0x10]; 7158290650Shselasky u8 reserved_0[0x10]; 7159290650Shselasky 7160290650Shselasky u8 reserved_1[0x10]; 7161290650Shselasky u8 op_mod[0x10]; 7162290650Shselasky 7163290650Shselasky u8 reserved_2[0x20]; 7164290650Shselasky 7165290650Shselasky u8 pg_access[0x1]; 7166290650Shselasky u8 reserved_3[0x1f]; 7167290650Shselasky 7168290650Shselasky struct mlx5_ifc_mkc_bits memory_key_mkey_entry; 7169290650Shselasky 7170290650Shselasky u8 reserved_4[0x80]; 7171290650Shselasky 7172290650Shselasky u8 translations_octword_actual_size[0x20]; 7173290650Shselasky 7174290650Shselasky u8 reserved_5[0x560]; 7175290650Shselasky 7176290650Shselasky u8 klm_pas_mtt[0][0x20]; 7177290650Shselasky}; 7178290650Shselasky 7179290650Shselaskystruct mlx5_ifc_create_flow_table_out_bits { 7180290650Shselasky u8 status[0x8]; 7181290650Shselasky u8 reserved_0[0x18]; 7182290650Shselasky 7183290650Shselasky u8 syndrome[0x20]; 7184290650Shselasky 7185290650Shselasky u8 reserved_1[0x8]; 7186290650Shselasky u8 table_id[0x18]; 7187290650Shselasky 7188290650Shselasky u8 reserved_2[0x20]; 7189290650Shselasky}; 7190290650Shselasky 7191290650Shselaskystruct mlx5_ifc_create_flow_table_in_bits { 7192290650Shselasky u8 opcode[0x10]; 7193329200Shselasky u8 reserved_at_10[0x10]; 7194290650Shselasky 7195329200Shselasky u8 reserved_at_20[0x10]; 7196290650Shselasky u8 op_mod[0x10]; 7197290650Shselasky 7198290650Shselasky u8 other_vport[0x1]; 7199329200Shselasky u8 reserved_at_41[0xf]; 7200290650Shselasky u8 vport_number[0x10]; 7201290650Shselasky 7202329200Shselasky u8 reserved_at_60[0x20]; 7203290650Shselasky 7204290650Shselasky u8 table_type[0x8]; 7205329200Shselasky u8 reserved_at_88[0x18]; 7206290650Shselasky 7207329200Shselasky u8 reserved_at_a0[0x20]; 7208290650Shselasky 7209329200Shselasky struct mlx5_ifc_flow_table_context_bits flow_table_context; 7210290650Shselasky}; 7211290650Shselasky 7212290650Shselaskystruct mlx5_ifc_create_flow_group_out_bits { 7213290650Shselasky u8 status[0x8]; 7214290650Shselasky u8 reserved_0[0x18]; 7215290650Shselasky 7216290650Shselasky u8 syndrome[0x20]; 7217290650Shselasky 7218290650Shselasky u8 reserved_1[0x8]; 7219290650Shselasky u8 group_id[0x18]; 7220290650Shselasky 7221290650Shselasky u8 reserved_2[0x20]; 7222290650Shselasky}; 7223290650Shselasky 7224290650Shselaskyenum { 7225290650Shselasky MLX5_CREATE_FLOW_GROUP_IN_MATCH_CRITERIA_ENABLE_OUTER_HEADERS = 0x0, 7226290650Shselasky MLX5_CREATE_FLOW_GROUP_IN_MATCH_CRITERIA_ENABLE_MISC_PARAMETERS = 0x1, 7227290650Shselasky MLX5_CREATE_FLOW_GROUP_IN_MATCH_CRITERIA_ENABLE_INNER_HEADERS = 0x2, 7228290650Shselasky}; 7229290650Shselasky 7230290650Shselaskystruct mlx5_ifc_create_flow_group_in_bits { 7231290650Shselasky u8 opcode[0x10]; 7232290650Shselasky u8 reserved_0[0x10]; 7233290650Shselasky 7234290650Shselasky u8 reserved_1[0x10]; 7235290650Shselasky u8 op_mod[0x10]; 7236290650Shselasky 7237290650Shselasky u8 other_vport[0x1]; 7238290650Shselasky u8 reserved_2[0xf]; 7239290650Shselasky u8 vport_number[0x10]; 7240290650Shselasky 7241290650Shselasky u8 reserved_3[0x20]; 7242290650Shselasky 7243290650Shselasky u8 table_type[0x8]; 7244290650Shselasky u8 reserved_4[0x18]; 7245290650Shselasky 7246290650Shselasky u8 reserved_5[0x8]; 7247290650Shselasky u8 table_id[0x18]; 7248290650Shselasky 7249290650Shselasky u8 reserved_6[0x20]; 7250290650Shselasky 7251290650Shselasky u8 start_flow_index[0x20]; 7252290650Shselasky 7253290650Shselasky u8 reserved_7[0x20]; 7254290650Shselasky 7255290650Shselasky u8 end_flow_index[0x20]; 7256290650Shselasky 7257290650Shselasky u8 reserved_8[0xa0]; 7258290650Shselasky 7259290650Shselasky u8 reserved_9[0x18]; 7260290650Shselasky u8 match_criteria_enable[0x8]; 7261290650Shselasky 7262290650Shselasky struct mlx5_ifc_fte_match_param_bits match_criteria; 7263290650Shselasky 7264290650Shselasky u8 reserved_10[0xe00]; 7265290650Shselasky}; 7266290650Shselasky 7267290650Shselaskystruct mlx5_ifc_create_eq_out_bits { 7268290650Shselasky u8 status[0x8]; 7269290650Shselasky u8 reserved_0[0x18]; 7270290650Shselasky 7271290650Shselasky u8 syndrome[0x20]; 7272290650Shselasky 7273290650Shselasky u8 reserved_1[0x18]; 7274290650Shselasky u8 eq_number[0x8]; 7275290650Shselasky 7276290650Shselasky u8 reserved_2[0x20]; 7277290650Shselasky}; 7278290650Shselasky 7279290650Shselaskystruct mlx5_ifc_create_eq_in_bits { 7280290650Shselasky u8 opcode[0x10]; 7281290650Shselasky u8 reserved_0[0x10]; 7282290650Shselasky 7283290650Shselasky u8 reserved_1[0x10]; 7284290650Shselasky u8 op_mod[0x10]; 7285290650Shselasky 7286290650Shselasky u8 reserved_2[0x40]; 7287290650Shselasky 7288290650Shselasky struct mlx5_ifc_eqc_bits eq_context_entry; 7289290650Shselasky 7290290650Shselasky u8 reserved_3[0x40]; 7291290650Shselasky 7292290650Shselasky u8 event_bitmask[0x40]; 7293290650Shselasky 7294290650Shselasky u8 reserved_4[0x580]; 7295290650Shselasky 7296290650Shselasky u8 pas[0][0x40]; 7297290650Shselasky}; 7298290650Shselasky 7299290650Shselaskystruct mlx5_ifc_create_dct_out_bits { 7300290650Shselasky u8 status[0x8]; 7301290650Shselasky u8 reserved_0[0x18]; 7302290650Shselasky 7303290650Shselasky u8 syndrome[0x20]; 7304290650Shselasky 7305290650Shselasky u8 reserved_1[0x8]; 7306290650Shselasky u8 dctn[0x18]; 7307290650Shselasky 7308290650Shselasky u8 reserved_2[0x20]; 7309290650Shselasky}; 7310290650Shselasky 7311290650Shselaskystruct mlx5_ifc_create_dct_in_bits { 7312290650Shselasky u8 opcode[0x10]; 7313290650Shselasky u8 reserved_0[0x10]; 7314290650Shselasky 7315290650Shselasky u8 reserved_1[0x10]; 7316290650Shselasky u8 op_mod[0x10]; 7317290650Shselasky 7318290650Shselasky u8 reserved_2[0x40]; 7319290650Shselasky 7320290650Shselasky struct mlx5_ifc_dctc_bits dct_context_entry; 7321290650Shselasky 7322290650Shselasky u8 reserved_3[0x180]; 7323290650Shselasky}; 7324290650Shselasky 7325290650Shselaskystruct mlx5_ifc_create_cq_out_bits { 7326290650Shselasky u8 status[0x8]; 7327290650Shselasky u8 reserved_0[0x18]; 7328290650Shselasky 7329290650Shselasky u8 syndrome[0x20]; 7330290650Shselasky 7331290650Shselasky u8 reserved_1[0x8]; 7332290650Shselasky u8 cqn[0x18]; 7333290650Shselasky 7334290650Shselasky u8 reserved_2[0x20]; 7335290650Shselasky}; 7336290650Shselasky 7337290650Shselaskystruct mlx5_ifc_create_cq_in_bits { 7338290650Shselasky u8 opcode[0x10]; 7339290650Shselasky u8 reserved_0[0x10]; 7340290650Shselasky 7341290650Shselasky u8 reserved_1[0x10]; 7342290650Shselasky u8 op_mod[0x10]; 7343290650Shselasky 7344290650Shselasky u8 reserved_2[0x40]; 7345290650Shselasky 7346290650Shselasky struct mlx5_ifc_cqc_bits cq_context; 7347290650Shselasky 7348290650Shselasky u8 reserved_3[0x600]; 7349290650Shselasky 7350290650Shselasky u8 pas[0][0x40]; 7351290650Shselasky}; 7352290650Shselasky 7353290650Shselaskystruct mlx5_ifc_config_int_moderation_out_bits { 7354290650Shselasky u8 status[0x8]; 7355290650Shselasky u8 reserved_0[0x18]; 7356290650Shselasky 7357290650Shselasky u8 syndrome[0x20]; 7358290650Shselasky 7359290650Shselasky u8 reserved_1[0x4]; 7360290650Shselasky u8 min_delay[0xc]; 7361290650Shselasky u8 int_vector[0x10]; 7362290650Shselasky 7363290650Shselasky u8 reserved_2[0x20]; 7364290650Shselasky}; 7365290650Shselasky 7366290650Shselaskyenum { 7367290650Shselasky MLX5_CONFIG_INT_MODERATION_IN_OP_MOD_WRITE = 0x0, 7368290650Shselasky MLX5_CONFIG_INT_MODERATION_IN_OP_MOD_READ = 0x1, 7369290650Shselasky}; 7370290650Shselasky 7371290650Shselaskystruct mlx5_ifc_config_int_moderation_in_bits { 7372290650Shselasky u8 opcode[0x10]; 7373290650Shselasky u8 reserved_0[0x10]; 7374290650Shselasky 7375290650Shselasky u8 reserved_1[0x10]; 7376290650Shselasky u8 op_mod[0x10]; 7377290650Shselasky 7378290650Shselasky u8 reserved_2[0x4]; 7379290650Shselasky u8 min_delay[0xc]; 7380290650Shselasky u8 int_vector[0x10]; 7381290650Shselasky 7382290650Shselasky u8 reserved_3[0x20]; 7383290650Shselasky}; 7384290650Shselasky 7385290650Shselaskystruct mlx5_ifc_attach_to_mcg_out_bits { 7386290650Shselasky u8 status[0x8]; 7387290650Shselasky u8 reserved_0[0x18]; 7388290650Shselasky 7389290650Shselasky u8 syndrome[0x20]; 7390290650Shselasky 7391290650Shselasky u8 reserved_1[0x40]; 7392290650Shselasky}; 7393290650Shselasky 7394290650Shselaskystruct mlx5_ifc_attach_to_mcg_in_bits { 7395290650Shselasky u8 opcode[0x10]; 7396290650Shselasky u8 reserved_0[0x10]; 7397290650Shselasky 7398290650Shselasky u8 reserved_1[0x10]; 7399290650Shselasky u8 op_mod[0x10]; 7400290650Shselasky 7401290650Shselasky u8 reserved_2[0x8]; 7402290650Shselasky u8 qpn[0x18]; 7403290650Shselasky 7404290650Shselasky u8 reserved_3[0x20]; 7405290650Shselasky 7406290650Shselasky u8 multicast_gid[16][0x8]; 7407290650Shselasky}; 7408290650Shselasky 7409290650Shselaskystruct mlx5_ifc_arm_xrc_srq_out_bits { 7410290650Shselasky u8 status[0x8]; 7411290650Shselasky u8 reserved_0[0x18]; 7412290650Shselasky 7413290650Shselasky u8 syndrome[0x20]; 7414290650Shselasky 7415290650Shselasky u8 reserved_1[0x40]; 7416290650Shselasky}; 7417290650Shselasky 7418290650Shselaskyenum { 7419290650Shselasky MLX5_ARM_XRC_SRQ_IN_OP_MOD_XRC_SRQ = 0x1, 7420290650Shselasky}; 7421290650Shselasky 7422290650Shselaskystruct mlx5_ifc_arm_xrc_srq_in_bits { 7423290650Shselasky u8 opcode[0x10]; 7424290650Shselasky u8 reserved_0[0x10]; 7425290650Shselasky 7426290650Shselasky u8 reserved_1[0x10]; 7427290650Shselasky u8 op_mod[0x10]; 7428290650Shselasky 7429290650Shselasky u8 reserved_2[0x8]; 7430290650Shselasky u8 xrc_srqn[0x18]; 7431290650Shselasky 7432290650Shselasky u8 reserved_3[0x10]; 7433290650Shselasky u8 lwm[0x10]; 7434290650Shselasky}; 7435290650Shselasky 7436290650Shselaskystruct mlx5_ifc_arm_rq_out_bits { 7437290650Shselasky u8 status[0x8]; 7438290650Shselasky u8 reserved_0[0x18]; 7439290650Shselasky 7440290650Shselasky u8 syndrome[0x20]; 7441290650Shselasky 7442290650Shselasky u8 reserved_1[0x40]; 7443290650Shselasky}; 7444290650Shselasky 7445290650Shselaskyenum { 7446290650Shselasky MLX5_ARM_RQ_IN_OP_MOD_SRQ = 0x1, 7447290650Shselasky}; 7448290650Shselasky 7449290650Shselaskystruct mlx5_ifc_arm_rq_in_bits { 7450290650Shselasky u8 opcode[0x10]; 7451290650Shselasky u8 reserved_0[0x10]; 7452290650Shselasky 7453290650Shselasky u8 reserved_1[0x10]; 7454290650Shselasky u8 op_mod[0x10]; 7455290650Shselasky 7456290650Shselasky u8 reserved_2[0x8]; 7457290650Shselasky u8 srq_number[0x18]; 7458290650Shselasky 7459290650Shselasky u8 reserved_3[0x10]; 7460290650Shselasky u8 lwm[0x10]; 7461290650Shselasky}; 7462290650Shselasky 7463290650Shselaskystruct mlx5_ifc_arm_dct_out_bits { 7464290650Shselasky u8 status[0x8]; 7465290650Shselasky u8 reserved_0[0x18]; 7466290650Shselasky 7467290650Shselasky u8 syndrome[0x20]; 7468290650Shselasky 7469290650Shselasky u8 reserved_1[0x40]; 7470290650Shselasky}; 7471290650Shselasky 7472290650Shselaskystruct mlx5_ifc_arm_dct_in_bits { 7473290650Shselasky u8 opcode[0x10]; 7474290650Shselasky u8 reserved_0[0x10]; 7475290650Shselasky 7476290650Shselasky u8 reserved_1[0x10]; 7477290650Shselasky u8 op_mod[0x10]; 7478290650Shselasky 7479290650Shselasky u8 reserved_2[0x8]; 7480290650Shselasky u8 dctn[0x18]; 7481290650Shselasky 7482290650Shselasky u8 reserved_3[0x20]; 7483290650Shselasky}; 7484290650Shselasky 7485290650Shselaskystruct mlx5_ifc_alloc_xrcd_out_bits { 7486290650Shselasky u8 status[0x8]; 7487290650Shselasky u8 reserved_0[0x18]; 7488290650Shselasky 7489290650Shselasky u8 syndrome[0x20]; 7490290650Shselasky 7491290650Shselasky u8 reserved_1[0x8]; 7492290650Shselasky u8 xrcd[0x18]; 7493290650Shselasky 7494290650Shselasky u8 reserved_2[0x20]; 7495290650Shselasky}; 7496290650Shselasky 7497290650Shselaskystruct mlx5_ifc_alloc_xrcd_in_bits { 7498290650Shselasky u8 opcode[0x10]; 7499290650Shselasky u8 reserved_0[0x10]; 7500290650Shselasky 7501290650Shselasky u8 reserved_1[0x10]; 7502290650Shselasky u8 op_mod[0x10]; 7503290650Shselasky 7504290650Shselasky u8 reserved_2[0x40]; 7505290650Shselasky}; 7506290650Shselasky 7507290650Shselaskystruct mlx5_ifc_alloc_uar_out_bits { 7508290650Shselasky u8 status[0x8]; 7509290650Shselasky u8 reserved_0[0x18]; 7510290650Shselasky 7511290650Shselasky u8 syndrome[0x20]; 7512290650Shselasky 7513290650Shselasky u8 reserved_1[0x8]; 7514290650Shselasky u8 uar[0x18]; 7515290650Shselasky 7516290650Shselasky u8 reserved_2[0x20]; 7517290650Shselasky}; 7518290650Shselasky 7519290650Shselaskystruct mlx5_ifc_alloc_uar_in_bits { 7520290650Shselasky u8 opcode[0x10]; 7521290650Shselasky u8 reserved_0[0x10]; 7522290650Shselasky 7523290650Shselasky u8 reserved_1[0x10]; 7524290650Shselasky u8 op_mod[0x10]; 7525290650Shselasky 7526290650Shselasky u8 reserved_2[0x40]; 7527290650Shselasky}; 7528290650Shselasky 7529290650Shselaskystruct mlx5_ifc_alloc_transport_domain_out_bits { 7530290650Shselasky u8 status[0x8]; 7531290650Shselasky u8 reserved_0[0x18]; 7532290650Shselasky 7533290650Shselasky u8 syndrome[0x20]; 7534290650Shselasky 7535290650Shselasky u8 reserved_1[0x8]; 7536290650Shselasky u8 transport_domain[0x18]; 7537290650Shselasky 7538290650Shselasky u8 reserved_2[0x20]; 7539290650Shselasky}; 7540290650Shselasky 7541290650Shselaskystruct mlx5_ifc_alloc_transport_domain_in_bits { 7542290650Shselasky u8 opcode[0x10]; 7543290650Shselasky u8 reserved_0[0x10]; 7544290650Shselasky 7545290650Shselasky u8 reserved_1[0x10]; 7546290650Shselasky u8 op_mod[0x10]; 7547290650Shselasky 7548290650Shselasky u8 reserved_2[0x40]; 7549290650Shselasky}; 7550290650Shselasky 7551290650Shselaskystruct mlx5_ifc_alloc_q_counter_out_bits { 7552290650Shselasky u8 status[0x8]; 7553290650Shselasky u8 reserved_0[0x18]; 7554290650Shselasky 7555290650Shselasky u8 syndrome[0x20]; 7556290650Shselasky 7557290650Shselasky u8 reserved_1[0x18]; 7558290650Shselasky u8 counter_set_id[0x8]; 7559290650Shselasky 7560290650Shselasky u8 reserved_2[0x20]; 7561290650Shselasky}; 7562290650Shselasky 7563290650Shselaskystruct mlx5_ifc_alloc_q_counter_in_bits { 7564290650Shselasky u8 opcode[0x10]; 7565290650Shselasky u8 reserved_0[0x10]; 7566290650Shselasky 7567290650Shselasky u8 reserved_1[0x10]; 7568290650Shselasky u8 op_mod[0x10]; 7569290650Shselasky 7570290650Shselasky u8 reserved_2[0x40]; 7571290650Shselasky}; 7572290650Shselasky 7573290650Shselaskystruct mlx5_ifc_alloc_pd_out_bits { 7574290650Shselasky u8 status[0x8]; 7575290650Shselasky u8 reserved_0[0x18]; 7576290650Shselasky 7577290650Shselasky u8 syndrome[0x20]; 7578290650Shselasky 7579290650Shselasky u8 reserved_1[0x8]; 7580290650Shselasky u8 pd[0x18]; 7581290650Shselasky 7582290650Shselasky u8 reserved_2[0x20]; 7583290650Shselasky}; 7584290650Shselasky 7585290650Shselaskystruct mlx5_ifc_alloc_pd_in_bits { 7586290650Shselasky u8 opcode[0x10]; 7587290650Shselasky u8 reserved_0[0x10]; 7588290650Shselasky 7589290650Shselasky u8 reserved_1[0x10]; 7590290650Shselasky u8 op_mod[0x10]; 7591290650Shselasky 7592290650Shselasky u8 reserved_2[0x40]; 7593290650Shselasky}; 7594290650Shselasky 7595290650Shselaskystruct mlx5_ifc_alloc_flow_counter_out_bits { 7596290650Shselasky u8 status[0x8]; 7597290650Shselasky u8 reserved_0[0x18]; 7598290650Shselasky 7599290650Shselasky u8 syndrome[0x20]; 7600290650Shselasky 7601290650Shselasky u8 reserved_1[0x10]; 7602290650Shselasky u8 flow_counter_id[0x10]; 7603290650Shselasky 7604290650Shselasky u8 reserved_2[0x20]; 7605290650Shselasky}; 7606290650Shselasky 7607290650Shselaskystruct mlx5_ifc_alloc_flow_counter_in_bits { 7608290650Shselasky u8 opcode[0x10]; 7609290650Shselasky u8 reserved_0[0x10]; 7610290650Shselasky 7611290650Shselasky u8 reserved_1[0x10]; 7612290650Shselasky u8 op_mod[0x10]; 7613290650Shselasky 7614290650Shselasky u8 reserved_2[0x40]; 7615290650Shselasky}; 7616290650Shselasky 7617290650Shselaskystruct mlx5_ifc_add_vxlan_udp_dport_out_bits { 7618290650Shselasky u8 status[0x8]; 7619290650Shselasky u8 reserved_0[0x18]; 7620290650Shselasky 7621290650Shselasky u8 syndrome[0x20]; 7622290650Shselasky 7623290650Shselasky u8 reserved_1[0x40]; 7624290650Shselasky}; 7625290650Shselasky 7626290650Shselaskystruct mlx5_ifc_add_vxlan_udp_dport_in_bits { 7627290650Shselasky u8 opcode[0x10]; 7628290650Shselasky u8 reserved_0[0x10]; 7629290650Shselasky 7630290650Shselasky u8 reserved_1[0x10]; 7631290650Shselasky u8 op_mod[0x10]; 7632290650Shselasky 7633290650Shselasky u8 reserved_2[0x20]; 7634290650Shselasky 7635290650Shselasky u8 reserved_3[0x10]; 7636290650Shselasky u8 vxlan_udp_port[0x10]; 7637290650Shselasky}; 7638290650Shselasky 7639290650Shselaskystruct mlx5_ifc_activate_tracer_out_bits { 7640290650Shselasky u8 status[0x8]; 7641290650Shselasky u8 reserved_0[0x18]; 7642290650Shselasky 7643290650Shselasky u8 syndrome[0x20]; 7644290650Shselasky 7645290650Shselasky u8 reserved_1[0x40]; 7646290650Shselasky}; 7647290650Shselasky 7648290650Shselaskystruct mlx5_ifc_activate_tracer_in_bits { 7649290650Shselasky u8 opcode[0x10]; 7650290650Shselasky u8 reserved_0[0x10]; 7651290650Shselasky 7652290650Shselasky u8 reserved_1[0x10]; 7653290650Shselasky u8 op_mod[0x10]; 7654290650Shselasky 7655290650Shselasky u8 mkey[0x20]; 7656290650Shselasky 7657290650Shselasky u8 reserved_2[0x20]; 7658290650Shselasky}; 7659290650Shselasky 7660306233Shselaskystruct mlx5_ifc_set_rate_limit_out_bits { 7661306233Shselasky u8 status[0x8]; 7662306233Shselasky u8 reserved_at_8[0x18]; 7663306233Shselasky 7664306233Shselasky u8 syndrome[0x20]; 7665306233Shselasky 7666306233Shselasky u8 reserved_at_40[0x40]; 7667306233Shselasky}; 7668306233Shselasky 7669306233Shselaskystruct mlx5_ifc_set_rate_limit_in_bits { 7670306233Shselasky u8 opcode[0x10]; 7671306233Shselasky u8 reserved_at_10[0x10]; 7672306233Shselasky 7673306233Shselasky u8 reserved_at_20[0x10]; 7674306233Shselasky u8 op_mod[0x10]; 7675306233Shselasky 7676306233Shselasky u8 reserved_at_40[0x10]; 7677306233Shselasky u8 rate_limit_index[0x10]; 7678306233Shselasky 7679306233Shselasky u8 reserved_at_60[0x20]; 7680306233Shselasky 7681306233Shselasky u8 rate_limit[0x20]; 7682308678Shselasky u8 burst_upper_bound[0x20]; 7683306233Shselasky}; 7684306233Shselasky 7685290650Shselaskystruct mlx5_ifc_access_register_out_bits { 7686290650Shselasky u8 status[0x8]; 7687290650Shselasky u8 reserved_0[0x18]; 7688290650Shselasky 7689290650Shselasky u8 syndrome[0x20]; 7690290650Shselasky 7691290650Shselasky u8 reserved_1[0x40]; 7692290650Shselasky 7693290650Shselasky u8 register_data[0][0x20]; 7694290650Shselasky}; 7695290650Shselasky 7696290650Shselaskyenum { 7697290650Shselasky MLX5_ACCESS_REGISTER_IN_OP_MOD_WRITE = 0x0, 7698290650Shselasky MLX5_ACCESS_REGISTER_IN_OP_MOD_READ = 0x1, 7699290650Shselasky}; 7700290650Shselasky 7701290650Shselaskystruct mlx5_ifc_access_register_in_bits { 7702290650Shselasky u8 opcode[0x10]; 7703290650Shselasky u8 reserved_0[0x10]; 7704290650Shselasky 7705290650Shselasky u8 reserved_1[0x10]; 7706290650Shselasky u8 op_mod[0x10]; 7707290650Shselasky 7708290650Shselasky u8 reserved_2[0x10]; 7709290650Shselasky u8 register_id[0x10]; 7710290650Shselasky 7711290650Shselasky u8 argument[0x20]; 7712290650Shselasky 7713290650Shselasky u8 register_data[0][0x20]; 7714290650Shselasky}; 7715290650Shselasky 7716290650Shselaskystruct mlx5_ifc_sltp_reg_bits { 7717290650Shselasky u8 status[0x4]; 7718290650Shselasky u8 version[0x4]; 7719290650Shselasky u8 local_port[0x8]; 7720290650Shselasky u8 pnat[0x2]; 7721290650Shselasky u8 reserved_0[0x2]; 7722290650Shselasky u8 lane[0x4]; 7723290650Shselasky u8 reserved_1[0x8]; 7724290650Shselasky 7725290650Shselasky u8 reserved_2[0x20]; 7726290650Shselasky 7727290650Shselasky u8 reserved_3[0x7]; 7728290650Shselasky u8 polarity[0x1]; 7729290650Shselasky u8 ob_tap0[0x8]; 7730290650Shselasky u8 ob_tap1[0x8]; 7731290650Shselasky u8 ob_tap2[0x8]; 7732290650Shselasky 7733290650Shselasky u8 reserved_4[0xc]; 7734290650Shselasky u8 ob_preemp_mode[0x4]; 7735290650Shselasky u8 ob_reg[0x8]; 7736290650Shselasky u8 ob_bias[0x8]; 7737290650Shselasky 7738290650Shselasky u8 reserved_5[0x20]; 7739290650Shselasky}; 7740290650Shselasky 7741290650Shselaskystruct mlx5_ifc_slrp_reg_bits { 7742290650Shselasky u8 status[0x4]; 7743290650Shselasky u8 version[0x4]; 7744290650Shselasky u8 local_port[0x8]; 7745290650Shselasky u8 pnat[0x2]; 7746290650Shselasky u8 reserved_0[0x2]; 7747290650Shselasky u8 lane[0x4]; 7748290650Shselasky u8 reserved_1[0x8]; 7749290650Shselasky 7750290650Shselasky u8 ib_sel[0x2]; 7751290650Shselasky u8 reserved_2[0x11]; 7752290650Shselasky u8 dp_sel[0x1]; 7753290650Shselasky u8 dp90sel[0x4]; 7754290650Shselasky u8 mix90phase[0x8]; 7755290650Shselasky 7756290650Shselasky u8 ffe_tap0[0x8]; 7757290650Shselasky u8 ffe_tap1[0x8]; 7758290650Shselasky u8 ffe_tap2[0x8]; 7759290650Shselasky u8 ffe_tap3[0x8]; 7760290650Shselasky 7761290650Shselasky u8 ffe_tap4[0x8]; 7762290650Shselasky u8 ffe_tap5[0x8]; 7763290650Shselasky u8 ffe_tap6[0x8]; 7764290650Shselasky u8 ffe_tap7[0x8]; 7765290650Shselasky 7766290650Shselasky u8 ffe_tap8[0x8]; 7767290650Shselasky u8 mixerbias_tap_amp[0x8]; 7768290650Shselasky u8 reserved_3[0x7]; 7769290650Shselasky u8 ffe_tap_en[0x9]; 7770290650Shselasky 7771290650Shselasky u8 ffe_tap_offset0[0x8]; 7772290650Shselasky u8 ffe_tap_offset1[0x8]; 7773290650Shselasky u8 slicer_offset0[0x10]; 7774290650Shselasky 7775290650Shselasky u8 mixer_offset0[0x10]; 7776290650Shselasky u8 mixer_offset1[0x10]; 7777290650Shselasky 7778290650Shselasky u8 mixerbgn_inp[0x8]; 7779290650Shselasky u8 mixerbgn_inn[0x8]; 7780290650Shselasky u8 mixerbgn_refp[0x8]; 7781290650Shselasky u8 mixerbgn_refn[0x8]; 7782290650Shselasky 7783290650Shselasky u8 sel_slicer_lctrl_h[0x1]; 7784290650Shselasky u8 sel_slicer_lctrl_l[0x1]; 7785290650Shselasky u8 reserved_4[0x1]; 7786290650Shselasky u8 ref_mixer_vreg[0x5]; 7787290650Shselasky u8 slicer_gctrl[0x8]; 7788290650Shselasky u8 lctrl_input[0x8]; 7789290650Shselasky u8 mixer_offset_cm1[0x8]; 7790290650Shselasky 7791290650Shselasky u8 common_mode[0x6]; 7792290650Shselasky u8 reserved_5[0x1]; 7793290650Shselasky u8 mixer_offset_cm0[0x9]; 7794290650Shselasky u8 reserved_6[0x7]; 7795290650Shselasky u8 slicer_offset_cm[0x9]; 7796290650Shselasky}; 7797290650Shselasky 7798290650Shselaskystruct mlx5_ifc_slrg_reg_bits { 7799290650Shselasky u8 status[0x4]; 7800290650Shselasky u8 version[0x4]; 7801290650Shselasky u8 local_port[0x8]; 7802290650Shselasky u8 pnat[0x2]; 7803290650Shselasky u8 reserved_0[0x2]; 7804290650Shselasky u8 lane[0x4]; 7805290650Shselasky u8 reserved_1[0x8]; 7806290650Shselasky 7807290650Shselasky u8 time_to_link_up[0x10]; 7808290650Shselasky u8 reserved_2[0xc]; 7809290650Shselasky u8 grade_lane_speed[0x4]; 7810290650Shselasky 7811290650Shselasky u8 grade_version[0x8]; 7812290650Shselasky u8 grade[0x18]; 7813290650Shselasky 7814290650Shselasky u8 reserved_3[0x4]; 7815290650Shselasky u8 height_grade_type[0x4]; 7816290650Shselasky u8 height_grade[0x18]; 7817290650Shselasky 7818290650Shselasky u8 height_dz[0x10]; 7819290650Shselasky u8 height_dv[0x10]; 7820290650Shselasky 7821290650Shselasky u8 reserved_4[0x10]; 7822290650Shselasky u8 height_sigma[0x10]; 7823290650Shselasky 7824290650Shselasky u8 reserved_5[0x20]; 7825290650Shselasky 7826290650Shselasky u8 reserved_6[0x4]; 7827290650Shselasky u8 phase_grade_type[0x4]; 7828290650Shselasky u8 phase_grade[0x18]; 7829290650Shselasky 7830290650Shselasky u8 reserved_7[0x8]; 7831290650Shselasky u8 phase_eo_pos[0x8]; 7832290650Shselasky u8 reserved_8[0x8]; 7833290650Shselasky u8 phase_eo_neg[0x8]; 7834290650Shselasky 7835290650Shselasky u8 ffe_set_tested[0x10]; 7836290650Shselasky u8 test_errors_per_lane[0x10]; 7837290650Shselasky}; 7838290650Shselasky 7839290650Shselaskystruct mlx5_ifc_pvlc_reg_bits { 7840290650Shselasky u8 reserved_0[0x8]; 7841290650Shselasky u8 local_port[0x8]; 7842290650Shselasky u8 reserved_1[0x10]; 7843290650Shselasky 7844290650Shselasky u8 reserved_2[0x1c]; 7845290650Shselasky u8 vl_hw_cap[0x4]; 7846290650Shselasky 7847290650Shselasky u8 reserved_3[0x1c]; 7848290650Shselasky u8 vl_admin[0x4]; 7849290650Shselasky 7850290650Shselasky u8 reserved_4[0x1c]; 7851290650Shselasky u8 vl_operational[0x4]; 7852290650Shselasky}; 7853290650Shselasky 7854290650Shselaskystruct mlx5_ifc_pude_reg_bits { 7855290650Shselasky u8 swid[0x8]; 7856290650Shselasky u8 local_port[0x8]; 7857290650Shselasky u8 reserved_0[0x4]; 7858290650Shselasky u8 admin_status[0x4]; 7859290650Shselasky u8 reserved_1[0x4]; 7860290650Shselasky u8 oper_status[0x4]; 7861290650Shselasky 7862290650Shselasky u8 reserved_2[0x60]; 7863290650Shselasky}; 7864290650Shselasky 7865290650Shselaskyenum { 7866290650Shselasky MLX5_PTYS_REG_PROTO_MASK_INFINIBAND = 0x1, 7867290650Shselasky MLX5_PTYS_REG_PROTO_MASK_ETHERNET = 0x4, 7868290650Shselasky}; 7869290650Shselasky 7870290650Shselaskystruct mlx5_ifc_ptys_reg_bits { 7871306233Shselasky u8 reserved_0[0x1]; 7872306233Shselasky u8 an_disable_admin[0x1]; 7873306233Shselasky u8 an_disable_cap[0x1]; 7874306233Shselasky u8 reserved_1[0x4]; 7875306233Shselasky u8 force_tx_aba_param[0x1]; 7876290650Shselasky u8 local_port[0x8]; 7877306233Shselasky u8 reserved_2[0xd]; 7878290650Shselasky u8 proto_mask[0x3]; 7879290650Shselasky 7880306233Shselasky u8 an_status[0x4]; 7881306233Shselasky u8 reserved_3[0xc]; 7882306233Shselasky u8 data_rate_oper[0x10]; 7883290650Shselasky 7884347855Shselasky u8 ext_eth_proto_capability[0x20]; 7885306233Shselasky 7886290650Shselasky u8 eth_proto_capability[0x20]; 7887290650Shselasky 7888290650Shselasky u8 ib_link_width_capability[0x10]; 7889290650Shselasky u8 ib_proto_capability[0x10]; 7890290650Shselasky 7891347855Shselasky u8 ext_eth_proto_admin[0x20]; 7892290650Shselasky 7893290650Shselasky u8 eth_proto_admin[0x20]; 7894290650Shselasky 7895290650Shselasky u8 ib_link_width_admin[0x10]; 7896290650Shselasky u8 ib_proto_admin[0x10]; 7897290650Shselasky 7898347855Shselasky u8 ext_eth_proto_oper[0x20]; 7899290650Shselasky 7900290650Shselasky u8 eth_proto_oper[0x20]; 7901290650Shselasky 7902290650Shselasky u8 ib_link_width_oper[0x10]; 7903290650Shselasky u8 ib_proto_oper[0x10]; 7904290650Shselasky 7905347855Shselasky u8 reserved_4[0x1c]; 7906347855Shselasky u8 connector_type[0x4]; 7907290650Shselasky 7908290650Shselasky u8 eth_proto_lp_advertise[0x20]; 7909290650Shselasky 7910306233Shselasky u8 reserved_5[0x60]; 7911290650Shselasky}; 7912290650Shselasky 7913290650Shselaskystruct mlx5_ifc_ptas_reg_bits { 7914290650Shselasky u8 reserved_0[0x20]; 7915290650Shselasky 7916290650Shselasky u8 algorithm_options[0x10]; 7917290650Shselasky u8 reserved_1[0x4]; 7918290650Shselasky u8 repetitions_mode[0x4]; 7919290650Shselasky u8 num_of_repetitions[0x8]; 7920290650Shselasky 7921290650Shselasky u8 grade_version[0x8]; 7922290650Shselasky u8 height_grade_type[0x4]; 7923290650Shselasky u8 phase_grade_type[0x4]; 7924290650Shselasky u8 height_grade_weight[0x8]; 7925290650Shselasky u8 phase_grade_weight[0x8]; 7926290650Shselasky 7927290650Shselasky u8 gisim_measure_bits[0x10]; 7928290650Shselasky u8 adaptive_tap_measure_bits[0x10]; 7929290650Shselasky 7930290650Shselasky u8 ber_bath_high_error_threshold[0x10]; 7931290650Shselasky u8 ber_bath_mid_error_threshold[0x10]; 7932290650Shselasky 7933290650Shselasky u8 ber_bath_low_error_threshold[0x10]; 7934290650Shselasky u8 one_ratio_high_threshold[0x10]; 7935290650Shselasky 7936290650Shselasky u8 one_ratio_high_mid_threshold[0x10]; 7937290650Shselasky u8 one_ratio_low_mid_threshold[0x10]; 7938290650Shselasky 7939290650Shselasky u8 one_ratio_low_threshold[0x10]; 7940290650Shselasky u8 ndeo_error_threshold[0x10]; 7941290650Shselasky 7942290650Shselasky u8 mixer_offset_step_size[0x10]; 7943290650Shselasky u8 reserved_2[0x8]; 7944290650Shselasky u8 mix90_phase_for_voltage_bath[0x8]; 7945290650Shselasky 7946290650Shselasky u8 mixer_offset_start[0x10]; 7947290650Shselasky u8 mixer_offset_end[0x10]; 7948290650Shselasky 7949290650Shselasky u8 reserved_3[0x15]; 7950290650Shselasky u8 ber_test_time[0xb]; 7951290650Shselasky}; 7952290650Shselasky 7953290650Shselaskystruct mlx5_ifc_pspa_reg_bits { 7954290650Shselasky u8 swid[0x8]; 7955290650Shselasky u8 local_port[0x8]; 7956290650Shselasky u8 sub_port[0x8]; 7957290650Shselasky u8 reserved_0[0x8]; 7958290650Shselasky 7959290650Shselasky u8 reserved_1[0x20]; 7960290650Shselasky}; 7961290650Shselasky 7962290650Shselaskystruct mlx5_ifc_ppsc_reg_bits { 7963290650Shselasky u8 reserved_0[0x8]; 7964290650Shselasky u8 local_port[0x8]; 7965290650Shselasky u8 reserved_1[0x10]; 7966290650Shselasky 7967290650Shselasky u8 reserved_2[0x60]; 7968290650Shselasky 7969290650Shselasky u8 reserved_3[0x1c]; 7970290650Shselasky u8 wrps_admin[0x4]; 7971290650Shselasky 7972290650Shselasky u8 reserved_4[0x1c]; 7973290650Shselasky u8 wrps_status[0x4]; 7974290650Shselasky 7975290650Shselasky u8 up_th_vld[0x1]; 7976290650Shselasky u8 down_th_vld[0x1]; 7977290650Shselasky u8 reserved_5[0x6]; 7978290650Shselasky u8 up_threshold[0x8]; 7979290650Shselasky u8 reserved_6[0x8]; 7980290650Shselasky u8 down_threshold[0x8]; 7981290650Shselasky 7982290650Shselasky u8 reserved_7[0x20]; 7983290650Shselasky 7984290650Shselasky u8 reserved_8[0x1c]; 7985290650Shselasky u8 srps_admin[0x4]; 7986290650Shselasky 7987290650Shselasky u8 reserved_9[0x60]; 7988290650Shselasky}; 7989290650Shselasky 7990290650Shselaskystruct mlx5_ifc_pplr_reg_bits { 7991290650Shselasky u8 reserved_0[0x8]; 7992290650Shselasky u8 local_port[0x8]; 7993290650Shselasky u8 reserved_1[0x10]; 7994290650Shselasky 7995290650Shselasky u8 reserved_2[0x8]; 7996290650Shselasky u8 lb_cap[0x8]; 7997290650Shselasky u8 reserved_3[0x8]; 7998290650Shselasky u8 lb_en[0x8]; 7999290650Shselasky}; 8000290650Shselasky 8001290650Shselaskystruct mlx5_ifc_pplm_reg_bits { 8002290650Shselasky u8 reserved_0[0x8]; 8003290650Shselasky u8 local_port[0x8]; 8004290650Shselasky u8 reserved_1[0x10]; 8005290650Shselasky 8006290650Shselasky u8 reserved_2[0x20]; 8007290650Shselasky 8008290650Shselasky u8 port_profile_mode[0x8]; 8009290650Shselasky u8 static_port_profile[0x8]; 8010290650Shselasky u8 active_port_profile[0x8]; 8011290650Shselasky u8 reserved_3[0x8]; 8012290650Shselasky 8013290650Shselasky u8 retransmission_active[0x8]; 8014290650Shselasky u8 fec_mode_active[0x18]; 8015290650Shselasky 8016290650Shselasky u8 reserved_4[0x10]; 8017290650Shselasky u8 v_100g_fec_override_cap[0x4]; 8018290650Shselasky u8 v_50g_fec_override_cap[0x4]; 8019290650Shselasky u8 v_25g_fec_override_cap[0x4]; 8020290650Shselasky u8 v_10g_40g_fec_override_cap[0x4]; 8021290650Shselasky 8022290650Shselasky u8 reserved_5[0x10]; 8023290650Shselasky u8 v_100g_fec_override_admin[0x4]; 8024290650Shselasky u8 v_50g_fec_override_admin[0x4]; 8025290650Shselasky u8 v_25g_fec_override_admin[0x4]; 8026290650Shselasky u8 v_10g_40g_fec_override_admin[0x4]; 8027290650Shselasky}; 8028290650Shselasky 8029290650Shselaskystruct mlx5_ifc_ppll_reg_bits { 8030290650Shselasky u8 num_pll_groups[0x8]; 8031290650Shselasky u8 pll_group[0x8]; 8032290650Shselasky u8 reserved_0[0x4]; 8033290650Shselasky u8 num_plls[0x4]; 8034290650Shselasky u8 reserved_1[0x8]; 8035290650Shselasky 8036290650Shselasky u8 reserved_2[0x1f]; 8037290650Shselasky u8 ae[0x1]; 8038290650Shselasky 8039290650Shselasky u8 pll_status[4][0x40]; 8040290650Shselasky}; 8041290650Shselasky 8042290650Shselaskystruct mlx5_ifc_ppad_reg_bits { 8043290650Shselasky u8 reserved_0[0x3]; 8044290650Shselasky u8 single_mac[0x1]; 8045290650Shselasky u8 reserved_1[0x4]; 8046290650Shselasky u8 local_port[0x8]; 8047290650Shselasky u8 mac_47_32[0x10]; 8048290650Shselasky 8049290650Shselasky u8 mac_31_0[0x20]; 8050290650Shselasky 8051290650Shselasky u8 reserved_2[0x40]; 8052290650Shselasky}; 8053290650Shselasky 8054290650Shselaskystruct mlx5_ifc_pmtu_reg_bits { 8055290650Shselasky u8 reserved_0[0x8]; 8056290650Shselasky u8 local_port[0x8]; 8057290650Shselasky u8 reserved_1[0x10]; 8058290650Shselasky 8059290650Shselasky u8 max_mtu[0x10]; 8060290650Shselasky u8 reserved_2[0x10]; 8061290650Shselasky 8062290650Shselasky u8 admin_mtu[0x10]; 8063290650Shselasky u8 reserved_3[0x10]; 8064290650Shselasky 8065290650Shselasky u8 oper_mtu[0x10]; 8066290650Shselasky u8 reserved_4[0x10]; 8067290650Shselasky}; 8068290650Shselasky 8069290650Shselaskystruct mlx5_ifc_pmpr_reg_bits { 8070290650Shselasky u8 reserved_0[0x8]; 8071290650Shselasky u8 module[0x8]; 8072290650Shselasky u8 reserved_1[0x10]; 8073290650Shselasky 8074290650Shselasky u8 reserved_2[0x18]; 8075290650Shselasky u8 attenuation_5g[0x8]; 8076290650Shselasky 8077290650Shselasky u8 reserved_3[0x18]; 8078290650Shselasky u8 attenuation_7g[0x8]; 8079290650Shselasky 8080290650Shselasky u8 reserved_4[0x18]; 8081290650Shselasky u8 attenuation_12g[0x8]; 8082290650Shselasky}; 8083290650Shselasky 8084290650Shselaskystruct mlx5_ifc_pmpe_reg_bits { 8085290650Shselasky u8 reserved_0[0x8]; 8086290650Shselasky u8 module[0x8]; 8087290650Shselasky u8 reserved_1[0xc]; 8088290650Shselasky u8 module_status[0x4]; 8089290650Shselasky 8090290650Shselasky u8 reserved_2[0x14]; 8091290650Shselasky u8 error_type[0x4]; 8092290650Shselasky u8 reserved_3[0x8]; 8093290650Shselasky 8094290650Shselasky u8 reserved_4[0x40]; 8095290650Shselasky}; 8096290650Shselasky 8097290650Shselaskystruct mlx5_ifc_pmpc_reg_bits { 8098290650Shselasky u8 module_state_updated[32][0x8]; 8099290650Shselasky}; 8100290650Shselasky 8101290650Shselaskystruct mlx5_ifc_pmlpn_reg_bits { 8102290650Shselasky u8 reserved_0[0x4]; 8103290650Shselasky u8 mlpn_status[0x4]; 8104290650Shselasky u8 local_port[0x8]; 8105290650Shselasky u8 reserved_1[0x10]; 8106290650Shselasky 8107290650Shselasky u8 e[0x1]; 8108290650Shselasky u8 reserved_2[0x1f]; 8109290650Shselasky}; 8110290650Shselasky 8111290650Shselaskystruct mlx5_ifc_pmlp_reg_bits { 8112290650Shselasky u8 rxtx[0x1]; 8113290650Shselasky u8 reserved_0[0x7]; 8114290650Shselasky u8 local_port[0x8]; 8115290650Shselasky u8 reserved_1[0x8]; 8116290650Shselasky u8 width[0x8]; 8117290650Shselasky 8118290650Shselasky u8 lane0_module_mapping[0x20]; 8119290650Shselasky 8120290650Shselasky u8 lane1_module_mapping[0x20]; 8121290650Shselasky 8122290650Shselasky u8 lane2_module_mapping[0x20]; 8123290650Shselasky 8124290650Shselasky u8 lane3_module_mapping[0x20]; 8125290650Shselasky 8126290650Shselasky u8 reserved_2[0x160]; 8127290650Shselasky}; 8128290650Shselasky 8129290650Shselaskystruct mlx5_ifc_pmaos_reg_bits { 8130290650Shselasky u8 reserved_0[0x8]; 8131290650Shselasky u8 module[0x8]; 8132290650Shselasky u8 reserved_1[0x4]; 8133290650Shselasky u8 admin_status[0x4]; 8134290650Shselasky u8 reserved_2[0x4]; 8135290650Shselasky u8 oper_status[0x4]; 8136290650Shselasky 8137290650Shselasky u8 ase[0x1]; 8138290650Shselasky u8 ee[0x1]; 8139290650Shselasky u8 reserved_3[0x12]; 8140290650Shselasky u8 error_type[0x4]; 8141290650Shselasky u8 reserved_4[0x6]; 8142290650Shselasky u8 e[0x2]; 8143290650Shselasky 8144290650Shselasky u8 reserved_5[0x40]; 8145290650Shselasky}; 8146290650Shselasky 8147290650Shselaskystruct mlx5_ifc_plpc_reg_bits { 8148290650Shselasky u8 reserved_0[0x4]; 8149290650Shselasky u8 profile_id[0xc]; 8150290650Shselasky u8 reserved_1[0x4]; 8151290650Shselasky u8 proto_mask[0x4]; 8152290650Shselasky u8 reserved_2[0x8]; 8153290650Shselasky 8154290650Shselasky u8 reserved_3[0x10]; 8155290650Shselasky u8 lane_speed[0x10]; 8156290650Shselasky 8157290650Shselasky u8 reserved_4[0x17]; 8158290650Shselasky u8 lpbf[0x1]; 8159290650Shselasky u8 fec_mode_policy[0x8]; 8160290650Shselasky 8161290650Shselasky u8 retransmission_capability[0x8]; 8162290650Shselasky u8 fec_mode_capability[0x18]; 8163290650Shselasky 8164290650Shselasky u8 retransmission_support_admin[0x8]; 8165290650Shselasky u8 fec_mode_support_admin[0x18]; 8166290650Shselasky 8167290650Shselasky u8 retransmission_request_admin[0x8]; 8168290650Shselasky u8 fec_mode_request_admin[0x18]; 8169290650Shselasky 8170290650Shselasky u8 reserved_5[0x80]; 8171290650Shselasky}; 8172290650Shselasky 8173290650Shselaskystruct mlx5_ifc_pll_status_data_bits { 8174290650Shselasky u8 reserved_0[0x1]; 8175290650Shselasky u8 lock_cal[0x1]; 8176290650Shselasky u8 lock_status[0x2]; 8177290650Shselasky u8 reserved_1[0x2]; 8178290650Shselasky u8 algo_f_ctrl[0xa]; 8179290650Shselasky u8 analog_algo_num_var[0x6]; 8180290650Shselasky u8 f_ctrl_measure[0xa]; 8181290650Shselasky 8182290650Shselasky u8 reserved_2[0x2]; 8183290650Shselasky u8 analog_var[0x6]; 8184290650Shselasky u8 reserved_3[0x2]; 8185290650Shselasky u8 high_var[0x6]; 8186290650Shselasky u8 reserved_4[0x2]; 8187290650Shselasky u8 low_var[0x6]; 8188290650Shselasky u8 reserved_5[0x2]; 8189290650Shselasky u8 mid_val[0x6]; 8190290650Shselasky}; 8191290650Shselasky 8192290650Shselaskystruct mlx5_ifc_plib_reg_bits { 8193290650Shselasky u8 reserved_0[0x8]; 8194290650Shselasky u8 local_port[0x8]; 8195290650Shselasky u8 reserved_1[0x8]; 8196290650Shselasky u8 ib_port[0x8]; 8197290650Shselasky 8198290650Shselasky u8 reserved_2[0x60]; 8199290650Shselasky}; 8200290650Shselasky 8201290650Shselaskystruct mlx5_ifc_plbf_reg_bits { 8202290650Shselasky u8 reserved_0[0x8]; 8203290650Shselasky u8 local_port[0x8]; 8204290650Shselasky u8 reserved_1[0xd]; 8205290650Shselasky u8 lbf_mode[0x3]; 8206290650Shselasky 8207290650Shselasky u8 reserved_2[0x20]; 8208290650Shselasky}; 8209290650Shselasky 8210290650Shselaskystruct mlx5_ifc_pipg_reg_bits { 8211290650Shselasky u8 reserved_0[0x8]; 8212290650Shselasky u8 local_port[0x8]; 8213290650Shselasky u8 reserved_1[0x10]; 8214290650Shselasky 8215290650Shselasky u8 dic[0x1]; 8216290650Shselasky u8 reserved_2[0x19]; 8217290650Shselasky u8 ipg[0x4]; 8218290650Shselasky u8 reserved_3[0x2]; 8219290650Shselasky}; 8220290650Shselasky 8221290650Shselaskystruct mlx5_ifc_pifr_reg_bits { 8222290650Shselasky u8 reserved_0[0x8]; 8223290650Shselasky u8 local_port[0x8]; 8224290650Shselasky u8 reserved_1[0x10]; 8225290650Shselasky 8226290650Shselasky u8 reserved_2[0xe0]; 8227290650Shselasky 8228290650Shselasky u8 port_filter[8][0x20]; 8229290650Shselasky 8230290650Shselasky u8 port_filter_update_en[8][0x20]; 8231290650Shselasky}; 8232290650Shselasky 8233290650Shselaskystruct mlx5_ifc_phys_layer_cntrs_bits { 8234290650Shselasky u8 time_since_last_clear_high[0x20]; 8235290650Shselasky 8236290650Shselasky u8 time_since_last_clear_low[0x20]; 8237290650Shselasky 8238290650Shselasky u8 symbol_errors_high[0x20]; 8239290650Shselasky 8240290650Shselasky u8 symbol_errors_low[0x20]; 8241290650Shselasky 8242290650Shselasky u8 sync_headers_errors_high[0x20]; 8243290650Shselasky 8244290650Shselasky u8 sync_headers_errors_low[0x20]; 8245290650Shselasky 8246290650Shselasky u8 edpl_bip_errors_lane0_high[0x20]; 8247290650Shselasky 8248290650Shselasky u8 edpl_bip_errors_lane0_low[0x20]; 8249290650Shselasky 8250290650Shselasky u8 edpl_bip_errors_lane1_high[0x20]; 8251290650Shselasky 8252290650Shselasky u8 edpl_bip_errors_lane1_low[0x20]; 8253290650Shselasky 8254290650Shselasky u8 edpl_bip_errors_lane2_high[0x20]; 8255290650Shselasky 8256290650Shselasky u8 edpl_bip_errors_lane2_low[0x20]; 8257290650Shselasky 8258290650Shselasky u8 edpl_bip_errors_lane3_high[0x20]; 8259290650Shselasky 8260290650Shselasky u8 edpl_bip_errors_lane3_low[0x20]; 8261290650Shselasky 8262290650Shselasky u8 fc_fec_corrected_blocks_lane0_high[0x20]; 8263290650Shselasky 8264290650Shselasky u8 fc_fec_corrected_blocks_lane0_low[0x20]; 8265290650Shselasky 8266290650Shselasky u8 fc_fec_corrected_blocks_lane1_high[0x20]; 8267290650Shselasky 8268290650Shselasky u8 fc_fec_corrected_blocks_lane1_low[0x20]; 8269290650Shselasky 8270290650Shselasky u8 fc_fec_corrected_blocks_lane2_high[0x20]; 8271290650Shselasky 8272290650Shselasky u8 fc_fec_corrected_blocks_lane2_low[0x20]; 8273290650Shselasky 8274290650Shselasky u8 fc_fec_corrected_blocks_lane3_high[0x20]; 8275290650Shselasky 8276290650Shselasky u8 fc_fec_corrected_blocks_lane3_low[0x20]; 8277290650Shselasky 8278290650Shselasky u8 fc_fec_uncorrectable_blocks_lane0_high[0x20]; 8279290650Shselasky 8280290650Shselasky u8 fc_fec_uncorrectable_blocks_lane0_low[0x20]; 8281290650Shselasky 8282290650Shselasky u8 fc_fec_uncorrectable_blocks_lane1_high[0x20]; 8283290650Shselasky 8284290650Shselasky u8 fc_fec_uncorrectable_blocks_lane1_low[0x20]; 8285290650Shselasky 8286290650Shselasky u8 fc_fec_uncorrectable_blocks_lane2_high[0x20]; 8287290650Shselasky 8288290650Shselasky u8 fc_fec_uncorrectable_blocks_lane2_low[0x20]; 8289290650Shselasky 8290290650Shselasky u8 fc_fec_uncorrectable_blocks_lane3_high[0x20]; 8291290650Shselasky 8292290650Shselasky u8 fc_fec_uncorrectable_blocks_lane3_low[0x20]; 8293290650Shselasky 8294290650Shselasky u8 rs_fec_corrected_blocks_high[0x20]; 8295290650Shselasky 8296290650Shselasky u8 rs_fec_corrected_blocks_low[0x20]; 8297290650Shselasky 8298290650Shselasky u8 rs_fec_uncorrectable_blocks_high[0x20]; 8299290650Shselasky 8300290650Shselasky u8 rs_fec_uncorrectable_blocks_low[0x20]; 8301290650Shselasky 8302290650Shselasky u8 rs_fec_no_errors_blocks_high[0x20]; 8303290650Shselasky 8304290650Shselasky u8 rs_fec_no_errors_blocks_low[0x20]; 8305290650Shselasky 8306290650Shselasky u8 rs_fec_single_error_blocks_high[0x20]; 8307290650Shselasky 8308290650Shselasky u8 rs_fec_single_error_blocks_low[0x20]; 8309290650Shselasky 8310290650Shselasky u8 rs_fec_corrected_symbols_total_high[0x20]; 8311290650Shselasky 8312290650Shselasky u8 rs_fec_corrected_symbols_total_low[0x20]; 8313290650Shselasky 8314290650Shselasky u8 rs_fec_corrected_symbols_lane0_high[0x20]; 8315290650Shselasky 8316290650Shselasky u8 rs_fec_corrected_symbols_lane0_low[0x20]; 8317290650Shselasky 8318290650Shselasky u8 rs_fec_corrected_symbols_lane1_high[0x20]; 8319290650Shselasky 8320290650Shselasky u8 rs_fec_corrected_symbols_lane1_low[0x20]; 8321290650Shselasky 8322290650Shselasky u8 rs_fec_corrected_symbols_lane2_high[0x20]; 8323290650Shselasky 8324290650Shselasky u8 rs_fec_corrected_symbols_lane2_low[0x20]; 8325290650Shselasky 8326290650Shselasky u8 rs_fec_corrected_symbols_lane3_high[0x20]; 8327290650Shselasky 8328290650Shselasky u8 rs_fec_corrected_symbols_lane3_low[0x20]; 8329290650Shselasky 8330290650Shselasky u8 link_down_events[0x20]; 8331290650Shselasky 8332290650Shselasky u8 successful_recovery_events[0x20]; 8333290650Shselasky 8334290650Shselasky u8 reserved_0[0x180]; 8335290650Shselasky}; 8336290650Shselasky 8337329204Shselaskystruct mlx5_ifc_ib_port_cntrs_grp_data_layout_bits { 8338329204Shselasky u8 symbol_error_counter[0x10]; 8339329204Shselasky 8340329204Shselasky u8 link_error_recovery_counter[0x8]; 8341329204Shselasky 8342329204Shselasky u8 link_downed_counter[0x8]; 8343329204Shselasky 8344329204Shselasky u8 port_rcv_errors[0x10]; 8345329204Shselasky 8346329204Shselasky u8 port_rcv_remote_physical_errors[0x10]; 8347329204Shselasky 8348329204Shselasky u8 port_rcv_switch_relay_errors[0x10]; 8349329204Shselasky 8350329204Shselasky u8 port_xmit_discards[0x10]; 8351329204Shselasky 8352329204Shselasky u8 port_xmit_constraint_errors[0x8]; 8353329204Shselasky 8354329204Shselasky u8 port_rcv_constraint_errors[0x8]; 8355329204Shselasky 8356329204Shselasky u8 reserved_at_70[0x8]; 8357329204Shselasky 8358329204Shselasky u8 link_overrun_errors[0x8]; 8359329204Shselasky 8360329204Shselasky u8 reserved_at_80[0x10]; 8361329204Shselasky 8362329204Shselasky u8 vl_15_dropped[0x10]; 8363329204Shselasky 8364329204Shselasky u8 reserved_at_a0[0xa0]; 8365329204Shselasky}; 8366329204Shselasky 8367321992Shselaskystruct mlx5_ifc_phys_layer_statistical_cntrs_bits { 8368321992Shselasky u8 time_since_last_clear_high[0x20]; 8369321992Shselasky 8370321992Shselasky u8 time_since_last_clear_low[0x20]; 8371321992Shselasky 8372321992Shselasky u8 phy_received_bits_high[0x20]; 8373321992Shselasky 8374321992Shselasky u8 phy_received_bits_low[0x20]; 8375321992Shselasky 8376321992Shselasky u8 phy_symbol_errors_high[0x20]; 8377321992Shselasky 8378321992Shselasky u8 phy_symbol_errors_low[0x20]; 8379321992Shselasky 8380321992Shselasky u8 phy_corrected_bits_high[0x20]; 8381321992Shselasky 8382321992Shselasky u8 phy_corrected_bits_low[0x20]; 8383321992Shselasky 8384321992Shselasky u8 phy_corrected_bits_lane0_high[0x20]; 8385321992Shselasky 8386321992Shselasky u8 phy_corrected_bits_lane0_low[0x20]; 8387321992Shselasky 8388321992Shselasky u8 phy_corrected_bits_lane1_high[0x20]; 8389321992Shselasky 8390321992Shselasky u8 phy_corrected_bits_lane1_low[0x20]; 8391321992Shselasky 8392321992Shselasky u8 phy_corrected_bits_lane2_high[0x20]; 8393321992Shselasky 8394321992Shselasky u8 phy_corrected_bits_lane2_low[0x20]; 8395321992Shselasky 8396321992Shselasky u8 phy_corrected_bits_lane3_high[0x20]; 8397321992Shselasky 8398321992Shselasky u8 phy_corrected_bits_lane3_low[0x20]; 8399321992Shselasky 8400321992Shselasky u8 reserved_at_200[0x5c0]; 8401321992Shselasky}; 8402321992Shselasky 8403308678Shselaskystruct mlx5_ifc_infiniband_port_cntrs_bits { 8404308678Shselasky u8 symbol_error_counter[0x10]; 8405308678Shselasky u8 link_error_recovery_counter[0x8]; 8406308678Shselasky u8 link_downed_counter[0x8]; 8407308678Shselasky 8408308678Shselasky u8 port_rcv_errors[0x10]; 8409308678Shselasky u8 port_rcv_remote_physical_errors[0x10]; 8410308678Shselasky 8411308678Shselasky u8 port_rcv_switch_relay_errors[0x10]; 8412308678Shselasky u8 port_xmit_discards[0x10]; 8413308678Shselasky 8414308678Shselasky u8 port_xmit_constraint_errors[0x8]; 8415308678Shselasky u8 port_rcv_constraint_errors[0x8]; 8416308678Shselasky u8 reserved_0[0x8]; 8417308678Shselasky u8 local_link_integrity_errors[0x4]; 8418308678Shselasky u8 excessive_buffer_overrun_errors[0x4]; 8419308678Shselasky 8420308678Shselasky u8 reserved_1[0x10]; 8421308678Shselasky u8 vl_15_dropped[0x10]; 8422308678Shselasky 8423308678Shselasky u8 port_xmit_data[0x20]; 8424308678Shselasky 8425308678Shselasky u8 port_rcv_data[0x20]; 8426308678Shselasky 8427308678Shselasky u8 port_xmit_pkts[0x20]; 8428308678Shselasky 8429308678Shselasky u8 port_rcv_pkts[0x20]; 8430308678Shselasky 8431308678Shselasky u8 port_xmit_wait[0x20]; 8432308678Shselasky 8433308678Shselasky u8 reserved_2[0x680]; 8434308678Shselasky}; 8435308678Shselasky 8436290650Shselaskystruct mlx5_ifc_phrr_reg_bits { 8437290650Shselasky u8 clr[0x1]; 8438290650Shselasky u8 reserved_0[0x7]; 8439290650Shselasky u8 local_port[0x8]; 8440290650Shselasky u8 reserved_1[0x10]; 8441290650Shselasky 8442290650Shselasky u8 hist_group[0x8]; 8443290650Shselasky u8 reserved_2[0x10]; 8444290650Shselasky u8 hist_id[0x8]; 8445290650Shselasky 8446290650Shselasky u8 reserved_3[0x40]; 8447290650Shselasky 8448290650Shselasky u8 time_since_last_clear_high[0x20]; 8449290650Shselasky 8450290650Shselasky u8 time_since_last_clear_low[0x20]; 8451290650Shselasky 8452290650Shselasky u8 bin[10][0x20]; 8453290650Shselasky}; 8454290650Shselasky 8455290650Shselaskystruct mlx5_ifc_phbr_for_prio_reg_bits { 8456290650Shselasky u8 reserved_0[0x18]; 8457290650Shselasky u8 prio[0x8]; 8458290650Shselasky}; 8459290650Shselasky 8460290650Shselaskystruct mlx5_ifc_phbr_for_port_tclass_reg_bits { 8461290650Shselasky u8 reserved_0[0x18]; 8462290650Shselasky u8 tclass[0x8]; 8463290650Shselasky}; 8464290650Shselasky 8465290650Shselaskystruct mlx5_ifc_phbr_binding_reg_bits { 8466290650Shselasky u8 opcode[0x4]; 8467290650Shselasky u8 reserved_0[0x4]; 8468290650Shselasky u8 local_port[0x8]; 8469290650Shselasky u8 pnat[0x2]; 8470290650Shselasky u8 reserved_1[0xe]; 8471290650Shselasky 8472290650Shselasky u8 hist_group[0x8]; 8473290650Shselasky u8 reserved_2[0x10]; 8474290650Shselasky u8 hist_id[0x8]; 8475290650Shselasky 8476290650Shselasky u8 reserved_3[0x10]; 8477290650Shselasky u8 hist_type[0x10]; 8478290650Shselasky 8479290650Shselasky u8 hist_parameters[0x20]; 8480290650Shselasky 8481290650Shselasky u8 hist_min_value[0x20]; 8482290650Shselasky 8483290650Shselasky u8 hist_max_value[0x20]; 8484290650Shselasky 8485290650Shselasky u8 sample_time[0x20]; 8486290650Shselasky}; 8487290650Shselasky 8488290650Shselaskyenum { 8489290650Shselasky MLX5_PFCC_REG_PPAN_DISABLED = 0x0, 8490290650Shselasky MLX5_PFCC_REG_PPAN_ENABLED = 0x1, 8491290650Shselasky}; 8492290650Shselasky 8493290650Shselaskystruct mlx5_ifc_pfcc_reg_bits { 8494306233Shselasky u8 dcbx_operation_type[0x2]; 8495306233Shselasky u8 cap_local_admin[0x1]; 8496306233Shselasky u8 cap_remote_admin[0x1]; 8497306233Shselasky u8 reserved_0[0x4]; 8498290650Shselasky u8 local_port[0x8]; 8499290650Shselasky u8 pnat[0x2]; 8500290650Shselasky u8 reserved_1[0xc]; 8501290650Shselasky u8 shl_cap[0x1]; 8502290650Shselasky u8 shl_opr[0x1]; 8503290650Shselasky 8504290650Shselasky u8 ppan[0x4]; 8505290650Shselasky u8 reserved_2[0x4]; 8506290650Shselasky u8 prio_mask_tx[0x8]; 8507290650Shselasky u8 reserved_3[0x8]; 8508290650Shselasky u8 prio_mask_rx[0x8]; 8509290650Shselasky 8510290650Shselasky u8 pptx[0x1]; 8511290650Shselasky u8 aptx[0x1]; 8512290650Shselasky u8 reserved_4[0x6]; 8513290650Shselasky u8 pfctx[0x8]; 8514306233Shselasky u8 reserved_5[0x8]; 8515306233Shselasky u8 cbftx[0x8]; 8516290650Shselasky 8517290650Shselasky u8 pprx[0x1]; 8518290650Shselasky u8 aprx[0x1]; 8519290650Shselasky u8 reserved_6[0x6]; 8520290650Shselasky u8 pfcrx[0x8]; 8521306233Shselasky u8 reserved_7[0x8]; 8522306233Shselasky u8 cbfrx[0x8]; 8523290650Shselasky 8524308678Shselasky u8 device_stall_minor_watermark[0x10]; 8525308678Shselasky u8 device_stall_critical_watermark[0x10]; 8526308678Shselasky 8527308678Shselasky u8 reserved_8[0x60]; 8528290650Shselasky}; 8529290650Shselasky 8530290650Shselaskystruct mlx5_ifc_pelc_reg_bits { 8531290650Shselasky u8 op[0x4]; 8532290650Shselasky u8 reserved_0[0x4]; 8533290650Shselasky u8 local_port[0x8]; 8534290650Shselasky u8 reserved_1[0x10]; 8535290650Shselasky 8536290650Shselasky u8 op_admin[0x8]; 8537290650Shselasky u8 op_capability[0x8]; 8538290650Shselasky u8 op_request[0x8]; 8539290650Shselasky u8 op_active[0x8]; 8540290650Shselasky 8541290650Shselasky u8 admin[0x40]; 8542290650Shselasky 8543290650Shselasky u8 capability[0x40]; 8544290650Shselasky 8545290650Shselasky u8 request[0x40]; 8546290650Shselasky 8547290650Shselasky u8 active[0x40]; 8548290650Shselasky 8549290650Shselasky u8 reserved_2[0x80]; 8550290650Shselasky}; 8551290650Shselasky 8552290650Shselaskystruct mlx5_ifc_peir_reg_bits { 8553290650Shselasky u8 reserved_0[0x8]; 8554290650Shselasky u8 local_port[0x8]; 8555290650Shselasky u8 reserved_1[0x10]; 8556290650Shselasky 8557290650Shselasky u8 reserved_2[0xc]; 8558290650Shselasky u8 error_count[0x4]; 8559290650Shselasky u8 reserved_3[0x10]; 8560290650Shselasky 8561290650Shselasky u8 reserved_4[0xc]; 8562290650Shselasky u8 lane[0x4]; 8563290650Shselasky u8 reserved_5[0x8]; 8564290650Shselasky u8 error_type[0x8]; 8565290650Shselasky}; 8566290650Shselasky 8567337098Shselaskystruct mlx5_ifc_qcam_access_reg_cap_mask { 8568337098Shselasky u8 qcam_access_reg_cap_mask_127_to_20[0x6C]; 8569337098Shselasky u8 qpdpm[0x1]; 8570337098Shselasky u8 qcam_access_reg_cap_mask_18_to_4[0x0F]; 8571337098Shselasky u8 qdpm[0x1]; 8572337098Shselasky u8 qpts[0x1]; 8573337098Shselasky u8 qcap[0x1]; 8574337098Shselasky u8 qcam_access_reg_cap_mask_0[0x1]; 8575337098Shselasky}; 8576337098Shselasky 8577337098Shselaskystruct mlx5_ifc_qcam_qos_feature_cap_mask { 8578337098Shselasky u8 qcam_qos_feature_cap_mask_127_to_1[0x7F]; 8579337098Shselasky u8 qpts_trust_both[0x1]; 8580337098Shselasky}; 8581337098Shselasky 8582337098Shselaskystruct mlx5_ifc_qcam_reg_bits { 8583337098Shselasky u8 reserved_at_0[0x8]; 8584337098Shselasky u8 feature_group[0x8]; 8585337098Shselasky u8 reserved_at_10[0x8]; 8586337098Shselasky u8 access_reg_group[0x8]; 8587337098Shselasky u8 reserved_at_20[0x20]; 8588337098Shselasky 8589337098Shselasky union { 8590337098Shselasky struct mlx5_ifc_qcam_access_reg_cap_mask reg_cap; 8591337098Shselasky u8 reserved_at_0[0x80]; 8592337098Shselasky } qos_access_reg_cap_mask; 8593337098Shselasky 8594337098Shselasky u8 reserved_at_c0[0x80]; 8595337098Shselasky 8596337098Shselasky union { 8597337098Shselasky struct mlx5_ifc_qcam_qos_feature_cap_mask feature_cap; 8598337098Shselasky u8 reserved_at_0[0x80]; 8599337098Shselasky } qos_feature_cap_mask; 8600337098Shselasky 8601337098Shselasky u8 reserved_at_1c0[0x80]; 8602337098Shselasky}; 8603337098Shselasky 8604347820Shselaskystruct mlx5_ifc_pcam_enhanced_features_bits { 8605347855Shselasky u8 reserved_at_0[0x6d]; 8606347855Shselasky u8 rx_icrc_encapsulated_counter[0x1]; 8607347855Shselasky u8 reserved_at_6e[0x4]; 8608347855Shselasky u8 ptys_extended_ethernet[0x1]; 8609347855Shselasky u8 reserved_at_73[0x3]; 8610347855Shselasky u8 pfcc_mask[0x1]; 8611347855Shselasky u8 reserved_at_77[0x3]; 8612347855Shselasky u8 per_lane_error_counters[0x1]; 8613347855Shselasky u8 rx_buffer_fullness_counters[0x1]; 8614347855Shselasky u8 ptys_connector_type[0x1]; 8615347855Shselasky u8 reserved_at_7d[0x1]; 8616347820Shselasky u8 ppcnt_discard_group[0x1]; 8617347820Shselasky u8 ppcnt_statistical_group[0x1]; 8618347820Shselasky}; 8619347820Shselasky 8620347820Shselaskystruct mlx5_ifc_pcam_reg_bits { 8621347820Shselasky u8 reserved_at_0[0x8]; 8622347820Shselasky u8 feature_group[0x8]; 8623347820Shselasky u8 reserved_at_10[0x8]; 8624347820Shselasky u8 access_reg_group[0x8]; 8625347820Shselasky 8626347820Shselasky u8 reserved_at_20[0x20]; 8627347820Shselasky 8628347820Shselasky union { 8629347820Shselasky u8 reserved_at_0[0x80]; 8630347820Shselasky } port_access_reg_cap_mask; 8631347820Shselasky 8632347820Shselasky u8 reserved_at_c0[0x80]; 8633347820Shselasky 8634347820Shselasky union { 8635347820Shselasky struct mlx5_ifc_pcam_enhanced_features_bits enhanced_features; 8636347820Shselasky u8 reserved_at_0[0x80]; 8637347820Shselasky } feature_cap_mask; 8638347820Shselasky 8639347820Shselasky u8 reserved_at_1c0[0xc0]; 8640347820Shselasky}; 8641347820Shselasky 8642347820Shselaskystruct mlx5_ifc_mcam_enhanced_features_bits { 8643347862Shselasky u8 reserved_at_0[0x6e]; 8644347862Shselasky u8 pcie_status_and_power[0x1]; 8645347862Shselasky u8 reserved_at_111[0x10]; 8646347820Shselasky u8 pcie_performance_group[0x1]; 8647347820Shselasky}; 8648347820Shselasky 8649347825Shselaskystruct mlx5_ifc_mcam_access_reg_bits { 8650347825Shselasky u8 reserved_at_0[0x1c]; 8651347825Shselasky u8 mcda[0x1]; 8652347825Shselasky u8 mcc[0x1]; 8653347825Shselasky u8 mcqi[0x1]; 8654347825Shselasky u8 reserved_at_1f[0x1]; 8655347825Shselasky 8656347825Shselasky u8 regs_95_to_64[0x20]; 8657347825Shselasky u8 regs_63_to_32[0x20]; 8658347825Shselasky u8 regs_31_to_0[0x20]; 8659347825Shselasky}; 8660347825Shselasky 8661347820Shselaskystruct mlx5_ifc_mcam_reg_bits { 8662347820Shselasky u8 reserved_at_0[0x8]; 8663347820Shselasky u8 feature_group[0x8]; 8664347820Shselasky u8 reserved_at_10[0x8]; 8665347820Shselasky u8 access_reg_group[0x8]; 8666347820Shselasky 8667347820Shselasky u8 reserved_at_20[0x20]; 8668347820Shselasky 8669347820Shselasky union { 8670347825Shselasky struct mlx5_ifc_mcam_access_reg_bits access_regs; 8671347820Shselasky u8 reserved_at_0[0x80]; 8672347820Shselasky } mng_access_reg_cap_mask; 8673347820Shselasky 8674347820Shselasky u8 reserved_at_c0[0x80]; 8675347820Shselasky 8676347820Shselasky union { 8677347820Shselasky struct mlx5_ifc_mcam_enhanced_features_bits enhanced_features; 8678347820Shselasky u8 reserved_at_0[0x80]; 8679347820Shselasky } mng_feature_cap_mask; 8680347820Shselasky 8681347820Shselasky u8 reserved_at_1c0[0x80]; 8682347820Shselasky}; 8683347820Shselasky 8684290650Shselaskystruct mlx5_ifc_pcap_reg_bits { 8685290650Shselasky u8 reserved_0[0x8]; 8686290650Shselasky u8 local_port[0x8]; 8687290650Shselasky u8 reserved_1[0x10]; 8688290650Shselasky 8689290650Shselasky u8 port_capability_mask[4][0x20]; 8690290650Shselasky}; 8691290650Shselasky 8692290650Shselaskystruct mlx5_ifc_pbmc_reg_bits { 8693290650Shselasky u8 reserved_0[0x8]; 8694290650Shselasky u8 local_port[0x8]; 8695290650Shselasky u8 reserved_1[0x10]; 8696290650Shselasky 8697290650Shselasky u8 xoff_timer_value[0x10]; 8698290650Shselasky u8 xoff_refresh[0x10]; 8699290650Shselasky 8700290650Shselasky u8 reserved_2[0x10]; 8701290650Shselasky u8 port_buffer_size[0x10]; 8702290650Shselasky 8703290650Shselasky struct mlx5_ifc_bufferx_reg_bits buffer[10]; 8704290650Shselasky 8705290650Shselasky u8 reserved_3[0x40]; 8706290650Shselasky 8707290650Shselasky u8 port_shared_buffer[0x40]; 8708290650Shselasky}; 8709290650Shselasky 8710290650Shselaskystruct mlx5_ifc_paos_reg_bits { 8711290650Shselasky u8 swid[0x8]; 8712290650Shselasky u8 local_port[0x8]; 8713290650Shselasky u8 reserved_0[0x4]; 8714290650Shselasky u8 admin_status[0x4]; 8715290650Shselasky u8 reserved_1[0x4]; 8716290650Shselasky u8 oper_status[0x4]; 8717290650Shselasky 8718290650Shselasky u8 ase[0x1]; 8719290650Shselasky u8 ee[0x1]; 8720290650Shselasky u8 reserved_2[0x1c]; 8721290650Shselasky u8 e[0x2]; 8722290650Shselasky 8723290650Shselasky u8 reserved_3[0x40]; 8724290650Shselasky}; 8725290650Shselasky 8726290650Shselaskystruct mlx5_ifc_pamp_reg_bits { 8727290650Shselasky u8 reserved_0[0x8]; 8728290650Shselasky u8 opamp_group[0x8]; 8729290650Shselasky u8 reserved_1[0xc]; 8730290650Shselasky u8 opamp_group_type[0x4]; 8731290650Shselasky 8732290650Shselasky u8 start_index[0x10]; 8733290650Shselasky u8 reserved_2[0x4]; 8734290650Shselasky u8 num_of_indices[0xc]; 8735290650Shselasky 8736290650Shselasky u8 index_data[18][0x10]; 8737290650Shselasky}; 8738290650Shselasky 8739290650Shselaskystruct mlx5_ifc_link_level_retrans_cntr_grp_date_bits { 8740290650Shselasky u8 llr_rx_cells_high[0x20]; 8741290650Shselasky 8742290650Shselasky u8 llr_rx_cells_low[0x20]; 8743290650Shselasky 8744290650Shselasky u8 llr_rx_error_high[0x20]; 8745290650Shselasky 8746290650Shselasky u8 llr_rx_error_low[0x20]; 8747290650Shselasky 8748290650Shselasky u8 llr_rx_crc_error_high[0x20]; 8749290650Shselasky 8750290650Shselasky u8 llr_rx_crc_error_low[0x20]; 8751290650Shselasky 8752290650Shselasky u8 llr_tx_cells_high[0x20]; 8753290650Shselasky 8754290650Shselasky u8 llr_tx_cells_low[0x20]; 8755290650Shselasky 8756290650Shselasky u8 llr_tx_ret_cells_high[0x20]; 8757290650Shselasky 8758290650Shselasky u8 llr_tx_ret_cells_low[0x20]; 8759290650Shselasky 8760290650Shselasky u8 llr_tx_ret_events_high[0x20]; 8761290650Shselasky 8762290650Shselasky u8 llr_tx_ret_events_low[0x20]; 8763290650Shselasky 8764290650Shselasky u8 reserved_0[0x640]; 8765290650Shselasky}; 8766290650Shselasky 8767341964Shselaskystruct mlx5_ifc_mtmp_reg_bits { 8768341964Shselasky u8 i[0x1]; 8769341964Shselasky u8 reserved_at_1[0x18]; 8770341964Shselasky u8 sensor_index[0x7]; 8771341964Shselasky 8772341964Shselasky u8 reserved_at_20[0x10]; 8773341964Shselasky u8 temperature[0x10]; 8774341964Shselasky 8775341964Shselasky u8 mte[0x1]; 8776341964Shselasky u8 mtr[0x1]; 8777341964Shselasky u8 reserved_at_42[0x0e]; 8778341964Shselasky u8 max_temperature[0x10]; 8779341964Shselasky 8780341964Shselasky u8 tee[0x2]; 8781341964Shselasky u8 reserved_at_62[0x0e]; 8782341964Shselasky u8 temperature_threshold_hi[0x10]; 8783341964Shselasky 8784341964Shselasky u8 reserved_at_80[0x10]; 8785341964Shselasky u8 temperature_threshold_lo[0x10]; 8786341964Shselasky 8787341964Shselasky u8 reserved_at_100[0x20]; 8788341964Shselasky 8789341964Shselasky u8 sensor_name[0x40]; 8790341964Shselasky}; 8791341964Shselasky 8792290650Shselaskystruct mlx5_ifc_lane_2_module_mapping_bits { 8793290650Shselasky u8 reserved_0[0x6]; 8794290650Shselasky u8 rx_lane[0x2]; 8795290650Shselasky u8 reserved_1[0x6]; 8796290650Shselasky u8 tx_lane[0x2]; 8797290650Shselasky u8 reserved_2[0x8]; 8798290650Shselasky u8 module[0x8]; 8799290650Shselasky}; 8800290650Shselasky 8801290650Shselaskystruct mlx5_ifc_eth_per_traffic_class_layout_bits { 8802290650Shselasky u8 transmit_queue_high[0x20]; 8803290650Shselasky 8804290650Shselasky u8 transmit_queue_low[0x20]; 8805290650Shselasky 8806290650Shselasky u8 reserved_0[0x780]; 8807290650Shselasky}; 8808290650Shselasky 8809290650Shselaskystruct mlx5_ifc_eth_per_traffic_class_cong_layout_bits { 8810290650Shselasky u8 no_buffer_discard_uc_high[0x20]; 8811290650Shselasky 8812290650Shselasky u8 no_buffer_discard_uc_low[0x20]; 8813290650Shselasky 8814290650Shselasky u8 wred_discard_high[0x20]; 8815290650Shselasky 8816290650Shselasky u8 wred_discard_low[0x20]; 8817290650Shselasky 8818290650Shselasky u8 reserved_0[0x740]; 8819290650Shselasky}; 8820290650Shselasky 8821290650Shselaskystruct mlx5_ifc_eth_per_prio_grp_data_layout_bits { 8822290650Shselasky u8 rx_octets_high[0x20]; 8823290650Shselasky 8824290650Shselasky u8 rx_octets_low[0x20]; 8825290650Shselasky 8826290650Shselasky u8 reserved_0[0xc0]; 8827290650Shselasky 8828290650Shselasky u8 rx_frames_high[0x20]; 8829290650Shselasky 8830290650Shselasky u8 rx_frames_low[0x20]; 8831290650Shselasky 8832290650Shselasky u8 tx_octets_high[0x20]; 8833290650Shselasky 8834290650Shselasky u8 tx_octets_low[0x20]; 8835290650Shselasky 8836290650Shselasky u8 reserved_1[0xc0]; 8837290650Shselasky 8838290650Shselasky u8 tx_frames_high[0x20]; 8839290650Shselasky 8840290650Shselasky u8 tx_frames_low[0x20]; 8841290650Shselasky 8842290650Shselasky u8 rx_pause_high[0x20]; 8843290650Shselasky 8844290650Shselasky u8 rx_pause_low[0x20]; 8845290650Shselasky 8846290650Shselasky u8 rx_pause_duration_high[0x20]; 8847290650Shselasky 8848290650Shselasky u8 rx_pause_duration_low[0x20]; 8849290650Shselasky 8850290650Shselasky u8 tx_pause_high[0x20]; 8851290650Shselasky 8852290650Shselasky u8 tx_pause_low[0x20]; 8853290650Shselasky 8854290650Shselasky u8 tx_pause_duration_high[0x20]; 8855290650Shselasky 8856290650Shselasky u8 tx_pause_duration_low[0x20]; 8857290650Shselasky 8858290650Shselasky u8 rx_pause_transition_high[0x20]; 8859290650Shselasky 8860290650Shselasky u8 rx_pause_transition_low[0x20]; 8861290650Shselasky 8862308678Shselasky u8 rx_discards_high[0x20]; 8863308678Shselasky 8864308678Shselasky u8 rx_discards_low[0x20]; 8865308678Shselasky 8866308678Shselasky u8 device_stall_minor_watermark_cnt_high[0x20]; 8867308678Shselasky 8868308678Shselasky u8 device_stall_minor_watermark_cnt_low[0x20]; 8869308678Shselasky 8870308678Shselasky u8 device_stall_critical_watermark_cnt_high[0x20]; 8871308678Shselasky 8872308678Shselasky u8 device_stall_critical_watermark_cnt_low[0x20]; 8873308678Shselasky 8874308678Shselasky u8 reserved_2[0x340]; 8875290650Shselasky}; 8876290650Shselasky 8877290650Shselaskystruct mlx5_ifc_eth_extended_cntrs_grp_data_layout_bits { 8878290650Shselasky u8 port_transmit_wait_high[0x20]; 8879290650Shselasky 8880290650Shselasky u8 port_transmit_wait_low[0x20]; 8881290650Shselasky 8882290650Shselasky u8 ecn_marked_high[0x20]; 8883290650Shselasky 8884290650Shselasky u8 ecn_marked_low[0x20]; 8885290650Shselasky 8886290650Shselasky u8 no_buffer_discard_mc_high[0x20]; 8887290650Shselasky 8888290650Shselasky u8 no_buffer_discard_mc_low[0x20]; 8889290650Shselasky 8890347804Shselasky u8 rx_ebp_high[0x20]; 8891347804Shselasky 8892347804Shselasky u8 rx_ebp_low[0x20]; 8893347804Shselasky 8894347804Shselasky u8 tx_ebp_high[0x20]; 8895347804Shselasky 8896347804Shselasky u8 tx_ebp_low[0x20]; 8897347804Shselasky 8898347804Shselasky u8 rx_buffer_almost_full_high[0x20]; 8899347804Shselasky 8900347804Shselasky u8 rx_buffer_almost_full_low[0x20]; 8901347804Shselasky 8902347804Shselasky u8 rx_buffer_full_high[0x20]; 8903347804Shselasky 8904347804Shselasky u8 rx_buffer_full_low[0x20]; 8905347804Shselasky 8906347804Shselasky u8 rx_icrc_encapsulated_high[0x20]; 8907347804Shselasky 8908347804Shselasky u8 rx_icrc_encapsulated_low[0x20]; 8909347804Shselasky 8910347804Shselasky u8 reserved_0[0x80]; 8911347804Shselasky 8912347804Shselasky u8 tx_stats_pkts64octets_high[0x20]; 8913347804Shselasky 8914347804Shselasky u8 tx_stats_pkts64octets_low[0x20]; 8915347804Shselasky 8916347804Shselasky u8 tx_stats_pkts65to127octets_high[0x20]; 8917347804Shselasky 8918347804Shselasky u8 tx_stats_pkts65to127octets_low[0x20]; 8919347804Shselasky 8920347804Shselasky u8 tx_stats_pkts128to255octets_high[0x20]; 8921347804Shselasky 8922347804Shselasky u8 tx_stats_pkts128to255octets_low[0x20]; 8923347804Shselasky 8924347804Shselasky u8 tx_stats_pkts256to511octets_high[0x20]; 8925347804Shselasky 8926347804Shselasky u8 tx_stats_pkts256to511octets_low[0x20]; 8927347804Shselasky 8928347804Shselasky u8 tx_stats_pkts512to1023octets_high[0x20]; 8929347804Shselasky 8930347804Shselasky u8 tx_stats_pkts512to1023octets_low[0x20]; 8931347804Shselasky 8932347804Shselasky u8 tx_stats_pkts1024to1518octets_high[0x20]; 8933347804Shselasky 8934347804Shselasky u8 tx_stats_pkts1024to1518octets_low[0x20]; 8935347804Shselasky 8936347804Shselasky u8 tx_stats_pkts1519to2047octets_high[0x20]; 8937347804Shselasky 8938347804Shselasky u8 tx_stats_pkts1519to2047octets_low[0x20]; 8939347804Shselasky 8940347804Shselasky u8 tx_stats_pkts2048to4095octets_high[0x20]; 8941347804Shselasky 8942347804Shselasky u8 tx_stats_pkts2048to4095octets_low[0x20]; 8943347804Shselasky 8944347804Shselasky u8 tx_stats_pkts4096to8191octets_high[0x20]; 8945347804Shselasky 8946347804Shselasky u8 tx_stats_pkts4096to8191octets_low[0x20]; 8947347804Shselasky 8948347804Shselasky u8 tx_stats_pkts8192to10239octets_high[0x20]; 8949347804Shselasky 8950347804Shselasky u8 tx_stats_pkts8192to10239octets_low[0x20]; 8951347804Shselasky 8952347804Shselasky u8 reserved_1[0x2C0]; 8953290650Shselasky}; 8954290650Shselasky 8955290650Shselaskystruct mlx5_ifc_eth_802_3_cntrs_grp_data_layout_bits { 8956290650Shselasky u8 a_frames_transmitted_ok_high[0x20]; 8957290650Shselasky 8958290650Shselasky u8 a_frames_transmitted_ok_low[0x20]; 8959290650Shselasky 8960290650Shselasky u8 a_frames_received_ok_high[0x20]; 8961290650Shselasky 8962290650Shselasky u8 a_frames_received_ok_low[0x20]; 8963290650Shselasky 8964290650Shselasky u8 a_frame_check_sequence_errors_high[0x20]; 8965290650Shselasky 8966290650Shselasky u8 a_frame_check_sequence_errors_low[0x20]; 8967290650Shselasky 8968290650Shselasky u8 a_alignment_errors_high[0x20]; 8969290650Shselasky 8970290650Shselasky u8 a_alignment_errors_low[0x20]; 8971290650Shselasky 8972290650Shselasky u8 a_octets_transmitted_ok_high[0x20]; 8973290650Shselasky 8974290650Shselasky u8 a_octets_transmitted_ok_low[0x20]; 8975290650Shselasky 8976290650Shselasky u8 a_octets_received_ok_high[0x20]; 8977290650Shselasky 8978290650Shselasky u8 a_octets_received_ok_low[0x20]; 8979290650Shselasky 8980290650Shselasky u8 a_multicast_frames_xmitted_ok_high[0x20]; 8981290650Shselasky 8982290650Shselasky u8 a_multicast_frames_xmitted_ok_low[0x20]; 8983290650Shselasky 8984290650Shselasky u8 a_broadcast_frames_xmitted_ok_high[0x20]; 8985290650Shselasky 8986290650Shselasky u8 a_broadcast_frames_xmitted_ok_low[0x20]; 8987290650Shselasky 8988290650Shselasky u8 a_multicast_frames_received_ok_high[0x20]; 8989290650Shselasky 8990290650Shselasky u8 a_multicast_frames_received_ok_low[0x20]; 8991290650Shselasky 8992290650Shselasky u8 a_broadcast_frames_recieved_ok_high[0x20]; 8993290650Shselasky 8994290650Shselasky u8 a_broadcast_frames_recieved_ok_low[0x20]; 8995290650Shselasky 8996290650Shselasky u8 a_in_range_length_errors_high[0x20]; 8997290650Shselasky 8998290650Shselasky u8 a_in_range_length_errors_low[0x20]; 8999290650Shselasky 9000290650Shselasky u8 a_out_of_range_length_field_high[0x20]; 9001290650Shselasky 9002290650Shselasky u8 a_out_of_range_length_field_low[0x20]; 9003290650Shselasky 9004290650Shselasky u8 a_frame_too_long_errors_high[0x20]; 9005290650Shselasky 9006290650Shselasky u8 a_frame_too_long_errors_low[0x20]; 9007290650Shselasky 9008290650Shselasky u8 a_symbol_error_during_carrier_high[0x20]; 9009290650Shselasky 9010290650Shselasky u8 a_symbol_error_during_carrier_low[0x20]; 9011290650Shselasky 9012290650Shselasky u8 a_mac_control_frames_transmitted_high[0x20]; 9013290650Shselasky 9014290650Shselasky u8 a_mac_control_frames_transmitted_low[0x20]; 9015290650Shselasky 9016290650Shselasky u8 a_mac_control_frames_received_high[0x20]; 9017290650Shselasky 9018290650Shselasky u8 a_mac_control_frames_received_low[0x20]; 9019290650Shselasky 9020290650Shselasky u8 a_unsupported_opcodes_received_high[0x20]; 9021290650Shselasky 9022290650Shselasky u8 a_unsupported_opcodes_received_low[0x20]; 9023290650Shselasky 9024290650Shselasky u8 a_pause_mac_ctrl_frames_received_high[0x20]; 9025290650Shselasky 9026290650Shselasky u8 a_pause_mac_ctrl_frames_received_low[0x20]; 9027290650Shselasky 9028290650Shselasky u8 a_pause_mac_ctrl_frames_transmitted_high[0x20]; 9029290650Shselasky 9030290650Shselasky u8 a_pause_mac_ctrl_frames_transmitted_low[0x20]; 9031290650Shselasky 9032290650Shselasky u8 reserved_0[0x300]; 9033290650Shselasky}; 9034290650Shselasky 9035290650Shselaskystruct mlx5_ifc_eth_3635_cntrs_grp_data_layout_bits { 9036290650Shselasky u8 dot3stats_alignment_errors_high[0x20]; 9037290650Shselasky 9038290650Shselasky u8 dot3stats_alignment_errors_low[0x20]; 9039290650Shselasky 9040290650Shselasky u8 dot3stats_fcs_errors_high[0x20]; 9041290650Shselasky 9042290650Shselasky u8 dot3stats_fcs_errors_low[0x20]; 9043290650Shselasky 9044290650Shselasky u8 dot3stats_single_collision_frames_high[0x20]; 9045290650Shselasky 9046290650Shselasky u8 dot3stats_single_collision_frames_low[0x20]; 9047290650Shselasky 9048290650Shselasky u8 dot3stats_multiple_collision_frames_high[0x20]; 9049290650Shselasky 9050290650Shselasky u8 dot3stats_multiple_collision_frames_low[0x20]; 9051290650Shselasky 9052290650Shselasky u8 dot3stats_sqe_test_errors_high[0x20]; 9053290650Shselasky 9054290650Shselasky u8 dot3stats_sqe_test_errors_low[0x20]; 9055290650Shselasky 9056290650Shselasky u8 dot3stats_deferred_transmissions_high[0x20]; 9057290650Shselasky 9058290650Shselasky u8 dot3stats_deferred_transmissions_low[0x20]; 9059290650Shselasky 9060290650Shselasky u8 dot3stats_late_collisions_high[0x20]; 9061290650Shselasky 9062290650Shselasky u8 dot3stats_late_collisions_low[0x20]; 9063290650Shselasky 9064290650Shselasky u8 dot3stats_excessive_collisions_high[0x20]; 9065290650Shselasky 9066290650Shselasky u8 dot3stats_excessive_collisions_low[0x20]; 9067290650Shselasky 9068290650Shselasky u8 dot3stats_internal_mac_transmit_errors_high[0x20]; 9069290650Shselasky 9070290650Shselasky u8 dot3stats_internal_mac_transmit_errors_low[0x20]; 9071290650Shselasky 9072290650Shselasky u8 dot3stats_carrier_sense_errors_high[0x20]; 9073290650Shselasky 9074290650Shselasky u8 dot3stats_carrier_sense_errors_low[0x20]; 9075290650Shselasky 9076290650Shselasky u8 dot3stats_frame_too_longs_high[0x20]; 9077290650Shselasky 9078290650Shselasky u8 dot3stats_frame_too_longs_low[0x20]; 9079290650Shselasky 9080290650Shselasky u8 dot3stats_internal_mac_receive_errors_high[0x20]; 9081290650Shselasky 9082290650Shselasky u8 dot3stats_internal_mac_receive_errors_low[0x20]; 9083290650Shselasky 9084290650Shselasky u8 dot3stats_symbol_errors_high[0x20]; 9085290650Shselasky 9086290650Shselasky u8 dot3stats_symbol_errors_low[0x20]; 9087290650Shselasky 9088290650Shselasky u8 dot3control_in_unknown_opcodes_high[0x20]; 9089290650Shselasky 9090290650Shselasky u8 dot3control_in_unknown_opcodes_low[0x20]; 9091290650Shselasky 9092290650Shselasky u8 dot3in_pause_frames_high[0x20]; 9093290650Shselasky 9094290650Shselasky u8 dot3in_pause_frames_low[0x20]; 9095290650Shselasky 9096290650Shselasky u8 dot3out_pause_frames_high[0x20]; 9097290650Shselasky 9098290650Shselasky u8 dot3out_pause_frames_low[0x20]; 9099290650Shselasky 9100290650Shselasky u8 reserved_0[0x3c0]; 9101290650Shselasky}; 9102290650Shselasky 9103290650Shselaskystruct mlx5_ifc_eth_2863_cntrs_grp_data_layout_bits { 9104290650Shselasky u8 if_in_octets_high[0x20]; 9105290650Shselasky 9106290650Shselasky u8 if_in_octets_low[0x20]; 9107290650Shselasky 9108290650Shselasky u8 if_in_ucast_pkts_high[0x20]; 9109290650Shselasky 9110290650Shselasky u8 if_in_ucast_pkts_low[0x20]; 9111290650Shselasky 9112290650Shselasky u8 if_in_discards_high[0x20]; 9113290650Shselasky 9114290650Shselasky u8 if_in_discards_low[0x20]; 9115290650Shselasky 9116290650Shselasky u8 if_in_errors_high[0x20]; 9117290650Shselasky 9118290650Shselasky u8 if_in_errors_low[0x20]; 9119290650Shselasky 9120290650Shselasky u8 if_in_unknown_protos_high[0x20]; 9121290650Shselasky 9122290650Shselasky u8 if_in_unknown_protos_low[0x20]; 9123290650Shselasky 9124290650Shselasky u8 if_out_octets_high[0x20]; 9125290650Shselasky 9126290650Shselasky u8 if_out_octets_low[0x20]; 9127290650Shselasky 9128290650Shselasky u8 if_out_ucast_pkts_high[0x20]; 9129290650Shselasky 9130290650Shselasky u8 if_out_ucast_pkts_low[0x20]; 9131290650Shselasky 9132290650Shselasky u8 if_out_discards_high[0x20]; 9133290650Shselasky 9134290650Shselasky u8 if_out_discards_low[0x20]; 9135290650Shselasky 9136290650Shselasky u8 if_out_errors_high[0x20]; 9137290650Shselasky 9138290650Shselasky u8 if_out_errors_low[0x20]; 9139290650Shselasky 9140290650Shselasky u8 if_in_multicast_pkts_high[0x20]; 9141290650Shselasky 9142290650Shselasky u8 if_in_multicast_pkts_low[0x20]; 9143290650Shselasky 9144290650Shselasky u8 if_in_broadcast_pkts_high[0x20]; 9145290650Shselasky 9146290650Shselasky u8 if_in_broadcast_pkts_low[0x20]; 9147290650Shselasky 9148290650Shselasky u8 if_out_multicast_pkts_high[0x20]; 9149290650Shselasky 9150290650Shselasky u8 if_out_multicast_pkts_low[0x20]; 9151290650Shselasky 9152290650Shselasky u8 if_out_broadcast_pkts_high[0x20]; 9153290650Shselasky 9154290650Shselasky u8 if_out_broadcast_pkts_low[0x20]; 9155290650Shselasky 9156290650Shselasky u8 reserved_0[0x480]; 9157290650Shselasky}; 9158290650Shselasky 9159290650Shselaskystruct mlx5_ifc_eth_2819_cntrs_grp_data_layout_bits { 9160290650Shselasky u8 ether_stats_drop_events_high[0x20]; 9161290650Shselasky 9162290650Shselasky u8 ether_stats_drop_events_low[0x20]; 9163290650Shselasky 9164290650Shselasky u8 ether_stats_octets_high[0x20]; 9165290650Shselasky 9166290650Shselasky u8 ether_stats_octets_low[0x20]; 9167290650Shselasky 9168290650Shselasky u8 ether_stats_pkts_high[0x20]; 9169290650Shselasky 9170290650Shselasky u8 ether_stats_pkts_low[0x20]; 9171290650Shselasky 9172290650Shselasky u8 ether_stats_broadcast_pkts_high[0x20]; 9173290650Shselasky 9174290650Shselasky u8 ether_stats_broadcast_pkts_low[0x20]; 9175290650Shselasky 9176290650Shselasky u8 ether_stats_multicast_pkts_high[0x20]; 9177290650Shselasky 9178290650Shselasky u8 ether_stats_multicast_pkts_low[0x20]; 9179290650Shselasky 9180290650Shselasky u8 ether_stats_crc_align_errors_high[0x20]; 9181290650Shselasky 9182290650Shselasky u8 ether_stats_crc_align_errors_low[0x20]; 9183290650Shselasky 9184290650Shselasky u8 ether_stats_undersize_pkts_high[0x20]; 9185290650Shselasky 9186290650Shselasky u8 ether_stats_undersize_pkts_low[0x20]; 9187290650Shselasky 9188290650Shselasky u8 ether_stats_oversize_pkts_high[0x20]; 9189290650Shselasky 9190290650Shselasky u8 ether_stats_oversize_pkts_low[0x20]; 9191290650Shselasky 9192290650Shselasky u8 ether_stats_fragments_high[0x20]; 9193290650Shselasky 9194290650Shselasky u8 ether_stats_fragments_low[0x20]; 9195290650Shselasky 9196290650Shselasky u8 ether_stats_jabbers_high[0x20]; 9197290650Shselasky 9198290650Shselasky u8 ether_stats_jabbers_low[0x20]; 9199290650Shselasky 9200290650Shselasky u8 ether_stats_collisions_high[0x20]; 9201290650Shselasky 9202290650Shselasky u8 ether_stats_collisions_low[0x20]; 9203290650Shselasky 9204290650Shselasky u8 ether_stats_pkts64octets_high[0x20]; 9205290650Shselasky 9206290650Shselasky u8 ether_stats_pkts64octets_low[0x20]; 9207290650Shselasky 9208290650Shselasky u8 ether_stats_pkts65to127octets_high[0x20]; 9209290650Shselasky 9210290650Shselasky u8 ether_stats_pkts65to127octets_low[0x20]; 9211290650Shselasky 9212290650Shselasky u8 ether_stats_pkts128to255octets_high[0x20]; 9213290650Shselasky 9214290650Shselasky u8 ether_stats_pkts128to255octets_low[0x20]; 9215290650Shselasky 9216290650Shselasky u8 ether_stats_pkts256to511octets_high[0x20]; 9217290650Shselasky 9218290650Shselasky u8 ether_stats_pkts256to511octets_low[0x20]; 9219290650Shselasky 9220290650Shselasky u8 ether_stats_pkts512to1023octets_high[0x20]; 9221290650Shselasky 9222290650Shselasky u8 ether_stats_pkts512to1023octets_low[0x20]; 9223290650Shselasky 9224290650Shselasky u8 ether_stats_pkts1024to1518octets_high[0x20]; 9225290650Shselasky 9226290650Shselasky u8 ether_stats_pkts1024to1518octets_low[0x20]; 9227290650Shselasky 9228290650Shselasky u8 ether_stats_pkts1519to2047octets_high[0x20]; 9229290650Shselasky 9230290650Shselasky u8 ether_stats_pkts1519to2047octets_low[0x20]; 9231290650Shselasky 9232290650Shselasky u8 ether_stats_pkts2048to4095octets_high[0x20]; 9233290650Shselasky 9234290650Shselasky u8 ether_stats_pkts2048to4095octets_low[0x20]; 9235290650Shselasky 9236290650Shselasky u8 ether_stats_pkts4096to8191octets_high[0x20]; 9237290650Shselasky 9238290650Shselasky u8 ether_stats_pkts4096to8191octets_low[0x20]; 9239290650Shselasky 9240290650Shselasky u8 ether_stats_pkts8192to10239octets_high[0x20]; 9241290650Shselasky 9242290650Shselasky u8 ether_stats_pkts8192to10239octets_low[0x20]; 9243290650Shselasky 9244290650Shselasky u8 reserved_0[0x280]; 9245290650Shselasky}; 9246290650Shselasky 9247290650Shselaskystruct mlx5_ifc_ib_portcntrs_attribute_grp_data_bits { 9248290650Shselasky u8 symbol_error_counter[0x10]; 9249290650Shselasky u8 link_error_recovery_counter[0x8]; 9250290650Shselasky u8 link_downed_counter[0x8]; 9251290650Shselasky 9252290650Shselasky u8 port_rcv_errors[0x10]; 9253290650Shselasky u8 port_rcv_remote_physical_errors[0x10]; 9254290650Shselasky 9255290650Shselasky u8 port_rcv_switch_relay_errors[0x10]; 9256290650Shselasky u8 port_xmit_discards[0x10]; 9257290650Shselasky 9258290650Shselasky u8 port_xmit_constraint_errors[0x8]; 9259290650Shselasky u8 port_rcv_constraint_errors[0x8]; 9260290650Shselasky u8 reserved_0[0x8]; 9261290650Shselasky u8 local_link_integrity_errors[0x4]; 9262290650Shselasky u8 excessive_buffer_overrun_errors[0x4]; 9263290650Shselasky 9264290650Shselasky u8 reserved_1[0x10]; 9265290650Shselasky u8 vl_15_dropped[0x10]; 9266290650Shselasky 9267290650Shselasky u8 port_xmit_data[0x20]; 9268290650Shselasky 9269290650Shselasky u8 port_rcv_data[0x20]; 9270290650Shselasky 9271290650Shselasky u8 port_xmit_pkts[0x20]; 9272290650Shselasky 9273290650Shselasky u8 port_rcv_pkts[0x20]; 9274290650Shselasky 9275290650Shselasky u8 port_xmit_wait[0x20]; 9276290650Shselasky 9277290650Shselasky u8 reserved_2[0x680]; 9278290650Shselasky}; 9279290650Shselasky 9280290650Shselaskystruct mlx5_ifc_trc_tlb_reg_bits { 9281290650Shselasky u8 reserved_0[0x80]; 9282290650Shselasky 9283290650Shselasky u8 tlb_addr[0][0x40]; 9284290650Shselasky}; 9285290650Shselasky 9286290650Shselaskystruct mlx5_ifc_trc_read_fifo_reg_bits { 9287290650Shselasky u8 reserved_0[0x10]; 9288290650Shselasky u8 requested_event_num[0x10]; 9289290650Shselasky 9290290650Shselasky u8 reserved_1[0x20]; 9291290650Shselasky 9292290650Shselasky u8 reserved_2[0x10]; 9293290650Shselasky u8 acual_event_num[0x10]; 9294290650Shselasky 9295290650Shselasky u8 reserved_3[0x20]; 9296290650Shselasky 9297290650Shselasky u8 event[0][0x40]; 9298290650Shselasky}; 9299290650Shselasky 9300290650Shselaskystruct mlx5_ifc_trc_lock_reg_bits { 9301290650Shselasky u8 reserved_0[0x1f]; 9302290650Shselasky u8 lock[0x1]; 9303290650Shselasky 9304290650Shselasky u8 reserved_1[0x60]; 9305290650Shselasky}; 9306290650Shselasky 9307290650Shselaskystruct mlx5_ifc_trc_filter_reg_bits { 9308290650Shselasky u8 status[0x1]; 9309290650Shselasky u8 reserved_0[0xf]; 9310290650Shselasky u8 filter_index[0x10]; 9311290650Shselasky 9312290650Shselasky u8 reserved_1[0x20]; 9313290650Shselasky 9314290650Shselasky u8 filter_val[0x20]; 9315290650Shselasky 9316290650Shselasky u8 reserved_2[0x1a0]; 9317290650Shselasky}; 9318290650Shselasky 9319290650Shselaskystruct mlx5_ifc_trc_event_reg_bits { 9320290650Shselasky u8 status[0x1]; 9321290650Shselasky u8 reserved_0[0xf]; 9322290650Shselasky u8 event_index[0x10]; 9323290650Shselasky 9324290650Shselasky u8 reserved_1[0x20]; 9325290650Shselasky 9326290650Shselasky u8 event_id[0x20]; 9327290650Shselasky 9328290650Shselasky u8 event_selector_val[0x10]; 9329290650Shselasky u8 event_selector_size[0x10]; 9330290650Shselasky 9331290650Shselasky u8 reserved_2[0x180]; 9332290650Shselasky}; 9333290650Shselasky 9334290650Shselaskystruct mlx5_ifc_trc_conf_reg_bits { 9335290650Shselasky u8 limit_en[0x1]; 9336290650Shselasky u8 reserved_0[0x3]; 9337290650Shselasky u8 dump_mode[0x4]; 9338290650Shselasky u8 reserved_1[0x15]; 9339290650Shselasky u8 state[0x3]; 9340290650Shselasky 9341290650Shselasky u8 reserved_2[0x20]; 9342290650Shselasky 9343290650Shselasky u8 limit_event_index[0x20]; 9344290650Shselasky 9345290650Shselasky u8 mkey[0x20]; 9346290650Shselasky 9347290650Shselasky u8 fifo_ready_ev_num[0x20]; 9348290650Shselasky 9349290650Shselasky u8 reserved_3[0x160]; 9350290650Shselasky}; 9351290650Shselasky 9352290650Shselaskystruct mlx5_ifc_trc_cap_reg_bits { 9353290650Shselasky u8 reserved_0[0x18]; 9354290650Shselasky u8 dump_mode[0x8]; 9355290650Shselasky 9356290650Shselasky u8 reserved_1[0x20]; 9357290650Shselasky 9358290650Shselasky u8 num_of_events[0x10]; 9359290650Shselasky u8 num_of_filters[0x10]; 9360290650Shselasky 9361290650Shselasky u8 fifo_size[0x20]; 9362290650Shselasky 9363290650Shselasky u8 tlb_size[0x10]; 9364290650Shselasky u8 event_size[0x10]; 9365290650Shselasky 9366290650Shselasky u8 reserved_2[0x160]; 9367290650Shselasky}; 9368290650Shselasky 9369290650Shselaskystruct mlx5_ifc_set_node_in_bits { 9370290650Shselasky u8 node_description[64][0x8]; 9371290650Shselasky}; 9372290650Shselasky 9373290650Shselaskystruct mlx5_ifc_register_power_settings_bits { 9374290650Shselasky u8 reserved_0[0x18]; 9375290650Shselasky u8 power_settings_level[0x8]; 9376290650Shselasky 9377290650Shselasky u8 reserved_1[0x60]; 9378290650Shselasky}; 9379290650Shselasky 9380290650Shselaskystruct mlx5_ifc_register_host_endianess_bits { 9381290650Shselasky u8 he[0x1]; 9382290650Shselasky u8 reserved_0[0x1f]; 9383290650Shselasky 9384290650Shselasky u8 reserved_1[0x60]; 9385290650Shselasky}; 9386290650Shselasky 9387290650Shselaskystruct mlx5_ifc_register_diag_buffer_ctrl_bits { 9388290650Shselasky u8 physical_address[0x40]; 9389290650Shselasky}; 9390290650Shselasky 9391290650Shselaskystruct mlx5_ifc_qtct_reg_bits { 9392306233Shselasky u8 operation_type[0x2]; 9393306233Shselasky u8 cap_local_admin[0x1]; 9394306233Shselasky u8 cap_remote_admin[0x1]; 9395306233Shselasky u8 reserved_0[0x4]; 9396290650Shselasky u8 port_number[0x8]; 9397290650Shselasky u8 reserved_1[0xd]; 9398290650Shselasky u8 prio[0x3]; 9399290650Shselasky 9400290650Shselasky u8 reserved_2[0x1d]; 9401290650Shselasky u8 tclass[0x3]; 9402290650Shselasky}; 9403290650Shselasky 9404290650Shselaskystruct mlx5_ifc_qpdp_reg_bits { 9405290650Shselasky u8 reserved_0[0x8]; 9406290650Shselasky u8 port_number[0x8]; 9407290650Shselasky u8 reserved_1[0x10]; 9408290650Shselasky 9409290650Shselasky u8 reserved_2[0x1d]; 9410290650Shselasky u8 pprio[0x3]; 9411290650Shselasky}; 9412290650Shselasky 9413290650Shselaskystruct mlx5_ifc_port_info_ro_fields_param_bits { 9414290650Shselasky u8 reserved_0[0x8]; 9415290650Shselasky u8 port[0x8]; 9416290650Shselasky u8 max_gid[0x10]; 9417290650Shselasky 9418290650Shselasky u8 reserved_1[0x20]; 9419290650Shselasky 9420290650Shselasky u8 port_guid[0x40]; 9421290650Shselasky}; 9422290650Shselasky 9423290650Shselaskystruct mlx5_ifc_nvqc_reg_bits { 9424290650Shselasky u8 type[0x20]; 9425290650Shselasky 9426290650Shselasky u8 reserved_0[0x18]; 9427290650Shselasky u8 version[0x4]; 9428290650Shselasky u8 reserved_1[0x2]; 9429290650Shselasky u8 support_wr[0x1]; 9430290650Shselasky u8 support_rd[0x1]; 9431290650Shselasky}; 9432290650Shselasky 9433290650Shselaskystruct mlx5_ifc_nvia_reg_bits { 9434290650Shselasky u8 reserved_0[0x1d]; 9435290650Shselasky u8 target[0x3]; 9436290650Shselasky 9437290650Shselasky u8 reserved_1[0x20]; 9438290650Shselasky}; 9439290650Shselasky 9440290650Shselaskystruct mlx5_ifc_nvdi_reg_bits { 9441290650Shselasky struct mlx5_ifc_config_item_bits configuration_item_header; 9442290650Shselasky}; 9443290650Shselasky 9444290650Shselaskystruct mlx5_ifc_nvda_reg_bits { 9445290650Shselasky struct mlx5_ifc_config_item_bits configuration_item_header; 9446290650Shselasky 9447290650Shselasky u8 configuration_item_data[0x20]; 9448290650Shselasky}; 9449290650Shselasky 9450290650Shselaskystruct mlx5_ifc_node_info_ro_fields_param_bits { 9451290650Shselasky u8 system_image_guid[0x40]; 9452290650Shselasky 9453290650Shselasky u8 reserved_0[0x40]; 9454290650Shselasky 9455290650Shselasky u8 node_guid[0x40]; 9456290650Shselasky 9457290650Shselasky u8 reserved_1[0x10]; 9458290650Shselasky u8 max_pkey[0x10]; 9459290650Shselasky 9460290650Shselasky u8 reserved_2[0x20]; 9461290650Shselasky}; 9462290650Shselasky 9463290650Shselaskystruct mlx5_ifc_ets_tcn_config_reg_bits { 9464290650Shselasky u8 g[0x1]; 9465290650Shselasky u8 b[0x1]; 9466290650Shselasky u8 r[0x1]; 9467290650Shselasky u8 reserved_0[0x9]; 9468290650Shselasky u8 group[0x4]; 9469290650Shselasky u8 reserved_1[0x9]; 9470290650Shselasky u8 bw_allocation[0x7]; 9471290650Shselasky 9472290650Shselasky u8 reserved_2[0xc]; 9473290650Shselasky u8 max_bw_units[0x4]; 9474290650Shselasky u8 reserved_3[0x8]; 9475290650Shselasky u8 max_bw_value[0x8]; 9476290650Shselasky}; 9477290650Shselasky 9478290650Shselaskystruct mlx5_ifc_ets_global_config_reg_bits { 9479290650Shselasky u8 reserved_0[0x2]; 9480290650Shselasky u8 r[0x1]; 9481290650Shselasky u8 reserved_1[0x1d]; 9482290650Shselasky 9483290650Shselasky u8 reserved_2[0xc]; 9484290650Shselasky u8 max_bw_units[0x4]; 9485290650Shselasky u8 reserved_3[0x8]; 9486290650Shselasky u8 max_bw_value[0x8]; 9487290650Shselasky}; 9488290650Shselasky 9489331577Shselaskystruct mlx5_ifc_qetc_reg_bits { 9490331577Shselasky u8 reserved_at_0[0x8]; 9491331577Shselasky u8 port_number[0x8]; 9492331577Shselasky u8 reserved_at_10[0x30]; 9493331577Shselasky 9494331577Shselasky struct mlx5_ifc_ets_tcn_config_reg_bits tc_configuration[0x8]; 9495331577Shselasky struct mlx5_ifc_ets_global_config_reg_bits global_configuration; 9496331577Shselasky}; 9497331577Shselasky 9498290650Shselaskystruct mlx5_ifc_nodnic_mac_filters_bits { 9499290650Shselasky struct mlx5_ifc_mac_address_layout_bits mac_filter0; 9500290650Shselasky 9501290650Shselasky struct mlx5_ifc_mac_address_layout_bits mac_filter1; 9502290650Shselasky 9503290650Shselasky struct mlx5_ifc_mac_address_layout_bits mac_filter2; 9504290650Shselasky 9505290650Shselasky struct mlx5_ifc_mac_address_layout_bits mac_filter3; 9506290650Shselasky 9507290650Shselasky struct mlx5_ifc_mac_address_layout_bits mac_filter4; 9508290650Shselasky 9509290650Shselasky u8 reserved_0[0xc0]; 9510290650Shselasky}; 9511290650Shselasky 9512290650Shselaskystruct mlx5_ifc_nodnic_gid_filters_bits { 9513290650Shselasky u8 mgid_filter0[16][0x8]; 9514290650Shselasky 9515290650Shselasky u8 mgid_filter1[16][0x8]; 9516290650Shselasky 9517290650Shselasky u8 mgid_filter2[16][0x8]; 9518290650Shselasky 9519290650Shselasky u8 mgid_filter3[16][0x8]; 9520290650Shselasky}; 9521290650Shselasky 9522290650Shselaskyenum { 9523290650Shselasky MLX5_NODNIC_CONFIG_REG_NUM_PORTS_SINGLE_PORT = 0x0, 9524290650Shselasky MLX5_NODNIC_CONFIG_REG_NUM_PORTS_DUAL_PORT = 0x1, 9525290650Shselasky}; 9526290650Shselasky 9527290650Shselaskyenum { 9528290650Shselasky MLX5_NODNIC_CONFIG_REG_CQE_FORMAT_LEGACY_CQE = 0x0, 9529290650Shselasky MLX5_NODNIC_CONFIG_REG_CQE_FORMAT_NEW_CQE = 0x1, 9530290650Shselasky}; 9531290650Shselasky 9532290650Shselaskystruct mlx5_ifc_nodnic_config_reg_bits { 9533290650Shselasky u8 no_dram_nic_revision[0x8]; 9534290650Shselasky u8 hardware_format[0x8]; 9535290650Shselasky u8 support_receive_filter[0x1]; 9536290650Shselasky u8 support_promisc_filter[0x1]; 9537290650Shselasky u8 support_promisc_multicast_filter[0x1]; 9538290650Shselasky u8 reserved_0[0x2]; 9539290650Shselasky u8 log_working_buffer_size[0x3]; 9540290650Shselasky u8 log_pkey_table_size[0x4]; 9541290650Shselasky u8 reserved_1[0x3]; 9542290650Shselasky u8 num_ports[0x1]; 9543290650Shselasky 9544290650Shselasky u8 reserved_2[0x2]; 9545290650Shselasky u8 log_max_ring_size[0x6]; 9546290650Shselasky u8 reserved_3[0x18]; 9547290650Shselasky 9548290650Shselasky u8 lkey[0x20]; 9549290650Shselasky 9550290650Shselasky u8 cqe_format[0x4]; 9551290650Shselasky u8 reserved_4[0x1c]; 9552290650Shselasky 9553290650Shselasky u8 node_guid[0x40]; 9554290650Shselasky 9555290650Shselasky u8 reserved_5[0x740]; 9556290650Shselasky 9557290650Shselasky struct mlx5_ifc_nodnic_port_config_reg_bits port1_settings; 9558290650Shselasky 9559290650Shselasky struct mlx5_ifc_nodnic_port_config_reg_bits port2_settings; 9560290650Shselasky}; 9561290650Shselasky 9562290650Shselaskystruct mlx5_ifc_vlan_layout_bits { 9563290650Shselasky u8 reserved_0[0x14]; 9564290650Shselasky u8 vlan[0xc]; 9565290650Shselasky 9566290650Shselasky u8 reserved_1[0x20]; 9567290650Shselasky}; 9568290650Shselasky 9569290650Shselaskystruct mlx5_ifc_umr_pointer_desc_argument_bits { 9570290650Shselasky u8 reserved_0[0x20]; 9571290650Shselasky 9572290650Shselasky u8 mkey[0x20]; 9573290650Shselasky 9574290650Shselasky u8 addressh_63_32[0x20]; 9575290650Shselasky 9576290650Shselasky u8 addressl_31_0[0x20]; 9577290650Shselasky}; 9578290650Shselasky 9579290650Shselaskystruct mlx5_ifc_ud_adrs_vector_bits { 9580290650Shselasky u8 dc_key[0x40]; 9581290650Shselasky 9582290650Shselasky u8 ext[0x1]; 9583290650Shselasky u8 reserved_0[0x7]; 9584290650Shselasky u8 destination_qp_dct[0x18]; 9585290650Shselasky 9586290650Shselasky u8 static_rate[0x4]; 9587290650Shselasky u8 sl_eth_prio[0x4]; 9588290650Shselasky u8 fl[0x1]; 9589290650Shselasky u8 mlid[0x7]; 9590290650Shselasky u8 rlid_udp_sport[0x10]; 9591290650Shselasky 9592290650Shselasky u8 reserved_1[0x20]; 9593290650Shselasky 9594290650Shselasky u8 rmac_47_16[0x20]; 9595290650Shselasky 9596290650Shselasky u8 rmac_15_0[0x10]; 9597290650Shselasky u8 tclass[0x8]; 9598290650Shselasky u8 hop_limit[0x8]; 9599290650Shselasky 9600290650Shselasky u8 reserved_2[0x1]; 9601290650Shselasky u8 grh[0x1]; 9602290650Shselasky u8 reserved_3[0x2]; 9603290650Shselasky u8 src_addr_index[0x8]; 9604290650Shselasky u8 flow_label[0x14]; 9605290650Shselasky 9606290650Shselasky u8 rgid_rip[16][0x8]; 9607290650Shselasky}; 9608290650Shselasky 9609290650Shselaskystruct mlx5_ifc_port_module_event_bits { 9610290650Shselasky u8 reserved_0[0x8]; 9611290650Shselasky u8 module[0x8]; 9612290650Shselasky u8 reserved_1[0xc]; 9613290650Shselasky u8 module_status[0x4]; 9614290650Shselasky 9615290650Shselasky u8 reserved_2[0x14]; 9616290650Shselasky u8 error_type[0x4]; 9617290650Shselasky u8 reserved_3[0x8]; 9618290650Shselasky 9619290650Shselasky u8 reserved_4[0xa0]; 9620290650Shselasky}; 9621290650Shselasky 9622290650Shselaskystruct mlx5_ifc_icmd_control_bits { 9623290650Shselasky u8 opcode[0x10]; 9624290650Shselasky u8 status[0x8]; 9625290650Shselasky u8 reserved_0[0x7]; 9626290650Shselasky u8 busy[0x1]; 9627290650Shselasky}; 9628290650Shselasky 9629290650Shselaskystruct mlx5_ifc_eqe_bits { 9630290650Shselasky u8 reserved_0[0x8]; 9631290650Shselasky u8 event_type[0x8]; 9632290650Shselasky u8 reserved_1[0x8]; 9633290650Shselasky u8 event_sub_type[0x8]; 9634290650Shselasky 9635290650Shselasky u8 reserved_2[0xe0]; 9636290650Shselasky 9637290650Shselasky union mlx5_ifc_event_auto_bits event_data; 9638290650Shselasky 9639290650Shselasky u8 reserved_3[0x10]; 9640290650Shselasky u8 signature[0x8]; 9641290650Shselasky u8 reserved_4[0x7]; 9642290650Shselasky u8 owner[0x1]; 9643290650Shselasky}; 9644290650Shselasky 9645290650Shselaskyenum { 9646290650Shselasky MLX5_CMD_QUEUE_ENTRY_TYPE_PCIE_CMD_IF_TRANSPORT = 0x7, 9647290650Shselasky}; 9648290650Shselasky 9649290650Shselaskystruct mlx5_ifc_cmd_queue_entry_bits { 9650290650Shselasky u8 type[0x8]; 9651290650Shselasky u8 reserved_0[0x18]; 9652290650Shselasky 9653290650Shselasky u8 input_length[0x20]; 9654290650Shselasky 9655290650Shselasky u8 input_mailbox_pointer_63_32[0x20]; 9656290650Shselasky 9657290650Shselasky u8 input_mailbox_pointer_31_9[0x17]; 9658290650Shselasky u8 reserved_1[0x9]; 9659290650Shselasky 9660290650Shselasky u8 command_input_inline_data[16][0x8]; 9661290650Shselasky 9662290650Shselasky u8 command_output_inline_data[16][0x8]; 9663290650Shselasky 9664290650Shselasky u8 output_mailbox_pointer_63_32[0x20]; 9665290650Shselasky 9666290650Shselasky u8 output_mailbox_pointer_31_9[0x17]; 9667290650Shselasky u8 reserved_2[0x9]; 9668290650Shselasky 9669290650Shselasky u8 output_length[0x20]; 9670290650Shselasky 9671290650Shselasky u8 token[0x8]; 9672290650Shselasky u8 signature[0x8]; 9673290650Shselasky u8 reserved_3[0x8]; 9674290650Shselasky u8 status[0x7]; 9675290650Shselasky u8 ownership[0x1]; 9676290650Shselasky}; 9677290650Shselasky 9678290650Shselaskystruct mlx5_ifc_cmd_out_bits { 9679290650Shselasky u8 status[0x8]; 9680290650Shselasky u8 reserved_0[0x18]; 9681290650Shselasky 9682290650Shselasky u8 syndrome[0x20]; 9683290650Shselasky 9684290650Shselasky u8 command_output[0x20]; 9685290650Shselasky}; 9686290650Shselasky 9687290650Shselaskystruct mlx5_ifc_cmd_in_bits { 9688290650Shselasky u8 opcode[0x10]; 9689290650Shselasky u8 reserved_0[0x10]; 9690290650Shselasky 9691290650Shselasky u8 reserved_1[0x10]; 9692290650Shselasky u8 op_mod[0x10]; 9693290650Shselasky 9694290650Shselasky u8 command[0][0x20]; 9695290650Shselasky}; 9696290650Shselasky 9697290650Shselaskystruct mlx5_ifc_cmd_if_box_bits { 9698290650Shselasky u8 mailbox_data[512][0x8]; 9699290650Shselasky 9700290650Shselasky u8 reserved_0[0x180]; 9701290650Shselasky 9702290650Shselasky u8 next_pointer_63_32[0x20]; 9703290650Shselasky 9704290650Shselasky u8 next_pointer_31_10[0x16]; 9705290650Shselasky u8 reserved_1[0xa]; 9706290650Shselasky 9707290650Shselasky u8 block_number[0x20]; 9708290650Shselasky 9709290650Shselasky u8 reserved_2[0x8]; 9710290650Shselasky u8 token[0x8]; 9711290650Shselasky u8 ctrl_signature[0x8]; 9712290650Shselasky u8 signature[0x8]; 9713290650Shselasky}; 9714290650Shselasky 9715290650Shselaskystruct mlx5_ifc_mtt_bits { 9716290650Shselasky u8 ptag_63_32[0x20]; 9717290650Shselasky 9718290650Shselasky u8 ptag_31_8[0x18]; 9719290650Shselasky u8 reserved_0[0x6]; 9720290650Shselasky u8 wr_en[0x1]; 9721290650Shselasky u8 rd_en[0x1]; 9722290650Shselasky}; 9723290650Shselasky 9724331585Shselasky/* Vendor Specific Capabilities, VSC */ 9725331585Shselaskyenum { 9726331585Shselasky MLX5_VSC_DOMAIN_ICMD = 0x1, 9727331585Shselasky MLX5_VSC_DOMAIN_PROTECTED_CRSPACE = 0x6, 9728331585Shselasky MLX5_VSC_DOMAIN_SEMAPHORES = 0xA, 9729331585Shselasky}; 9730331585Shselasky 9731290650Shselaskystruct mlx5_ifc_vendor_specific_cap_bits { 9732290650Shselasky u8 type[0x8]; 9733290650Shselasky u8 length[0x8]; 9734290650Shselasky u8 next_pointer[0x8]; 9735290650Shselasky u8 capability_id[0x8]; 9736290650Shselasky 9737290650Shselasky u8 status[0x3]; 9738290650Shselasky u8 reserved_0[0xd]; 9739290650Shselasky u8 space[0x10]; 9740290650Shselasky 9741290650Shselasky u8 counter[0x20]; 9742290650Shselasky 9743290650Shselasky u8 semaphore[0x20]; 9744290650Shselasky 9745290650Shselasky u8 flag[0x1]; 9746290650Shselasky u8 reserved_1[0x1]; 9747290650Shselasky u8 address[0x1e]; 9748290650Shselasky 9749290650Shselasky u8 data[0x20]; 9750290650Shselasky}; 9751290650Shselasky 9752353210Shselaskystruct mlx5_ifc_vsc_space_bits { 9753353210Shselasky u8 status[0x3]; 9754353210Shselasky u8 reserved0[0xd]; 9755353210Shselasky u8 space[0x10]; 9756353210Shselasky}; 9757353210Shselasky 9758353210Shselaskystruct mlx5_ifc_vsc_addr_bits { 9759353210Shselasky u8 flag[0x1]; 9760353210Shselasky u8 reserved0[0x1]; 9761353210Shselasky u8 address[0x1e]; 9762353210Shselasky}; 9763353210Shselasky 9764290650Shselaskyenum { 9765290650Shselasky MLX5_INITIAL_SEG_NIC_INTERFACE_FULL_DRIVER = 0x0, 9766290650Shselasky MLX5_INITIAL_SEG_NIC_INTERFACE_DISABLED = 0x1, 9767290650Shselasky MLX5_INITIAL_SEG_NIC_INTERFACE_NO_DRAM_NIC = 0x2, 9768290650Shselasky}; 9769290650Shselasky 9770290650Shselaskyenum { 9771290650Shselasky MLX5_INITIAL_SEG_NIC_INTERFACE_SUPPORTED_FULL_DRIVER = 0x0, 9772290650Shselasky MLX5_INITIAL_SEG_NIC_INTERFACE_SUPPORTED_DISABLED = 0x1, 9773290650Shselasky MLX5_INITIAL_SEG_NIC_INTERFACE_SUPPORTED_NO_DRAM_NIC = 0x2, 9774290650Shselasky}; 9775290650Shselasky 9776290650Shselaskyenum { 9777290650Shselasky MLX5_HEALTH_SYNDR_FW_ERR = 0x1, 9778290650Shselasky MLX5_HEALTH_SYNDR_IRISC_ERR = 0x7, 9779290650Shselasky MLX5_HEALTH_SYNDR_HW_UNRECOVERABLE_ERR = 0x8, 9780290650Shselasky MLX5_HEALTH_SYNDR_CRC_ERR = 0x9, 9781290650Shselasky MLX5_HEALTH_SYNDR_FETCH_PCI_ERR = 0xa, 9782290650Shselasky MLX5_HEALTH_SYNDR_HW_FTL_ERR = 0xb, 9783290650Shselasky MLX5_HEALTH_SYNDR_ASYNC_EQ_OVERRUN_ERR = 0xc, 9784290650Shselasky MLX5_HEALTH_SYNDR_EQ_ERR = 0xd, 9785290650Shselasky MLX5_HEALTH_SYNDR_EQ_INV = 0xe, 9786290650Shselasky MLX5_HEALTH_SYNDR_FFSER_ERR = 0xf, 9787290650Shselasky MLX5_HEALTH_SYNDR_HIGH_TEMP = 0x10, 9788290650Shselasky}; 9789290650Shselasky 9790290650Shselaskystruct mlx5_ifc_initial_seg_bits { 9791290650Shselasky u8 fw_rev_minor[0x10]; 9792290650Shselasky u8 fw_rev_major[0x10]; 9793290650Shselasky 9794290650Shselasky u8 cmd_interface_rev[0x10]; 9795290650Shselasky u8 fw_rev_subminor[0x10]; 9796290650Shselasky 9797290650Shselasky u8 reserved_0[0x40]; 9798290650Shselasky 9799290650Shselasky u8 cmdq_phy_addr_63_32[0x20]; 9800290650Shselasky 9801290650Shselasky u8 cmdq_phy_addr_31_12[0x14]; 9802290650Shselasky u8 reserved_1[0x2]; 9803290650Shselasky u8 nic_interface[0x2]; 9804290650Shselasky u8 log_cmdq_size[0x4]; 9805290650Shselasky u8 log_cmdq_stride[0x4]; 9806290650Shselasky 9807290650Shselasky u8 command_doorbell_vector[0x20]; 9808290650Shselasky 9809290650Shselasky u8 reserved_2[0xf00]; 9810290650Shselasky 9811290650Shselasky u8 initializing[0x1]; 9812290650Shselasky u8 reserved_3[0x4]; 9813290650Shselasky u8 nic_interface_supported[0x3]; 9814290650Shselasky u8 reserved_4[0x18]; 9815290650Shselasky 9816290650Shselasky struct mlx5_ifc_health_buffer_bits health_buffer; 9817290650Shselasky 9818290650Shselasky u8 no_dram_nic_offset[0x20]; 9819290650Shselasky 9820290650Shselasky u8 reserved_5[0x6de0]; 9821290650Shselasky 9822290650Shselasky u8 internal_timer_h[0x20]; 9823290650Shselasky 9824290650Shselasky u8 internal_timer_l[0x20]; 9825290650Shselasky 9826290650Shselasky u8 reserved_6[0x20]; 9827290650Shselasky 9828290650Shselasky u8 reserved_7[0x1f]; 9829290650Shselasky u8 clear_int[0x1]; 9830290650Shselasky 9831290650Shselasky u8 health_syndrome[0x8]; 9832290650Shselasky u8 health_counter[0x18]; 9833290650Shselasky 9834290650Shselasky u8 reserved_8[0x17fc0]; 9835290650Shselasky}; 9836290650Shselasky 9837290650Shselaskyunion mlx5_ifc_icmd_interface_document_bits { 9838290650Shselasky struct mlx5_ifc_fw_version_bits fw_version; 9839290650Shselasky struct mlx5_ifc_icmd_access_reg_in_bits icmd_access_reg_in; 9840290650Shselasky struct mlx5_ifc_icmd_access_reg_out_bits icmd_access_reg_out; 9841290650Shselasky struct mlx5_ifc_icmd_init_ocsd_in_bits icmd_init_ocsd_in; 9842290650Shselasky struct mlx5_ifc_icmd_ocbb_init_in_bits icmd_ocbb_init_in; 9843290650Shselasky struct mlx5_ifc_icmd_ocbb_query_etoc_stats_out_bits icmd_ocbb_query_etoc_stats_out; 9844290650Shselasky struct mlx5_ifc_icmd_ocbb_query_header_stats_out_bits icmd_ocbb_query_header_stats_out; 9845290650Shselasky struct mlx5_ifc_icmd_query_cap_general_bits icmd_query_cap_general; 9846290650Shselasky struct mlx5_ifc_icmd_query_cap_in_bits icmd_query_cap_in; 9847290650Shselasky struct mlx5_ifc_icmd_query_fw_info_out_bits icmd_query_fw_info_out; 9848290650Shselasky struct mlx5_ifc_icmd_query_virtual_mac_out_bits icmd_query_virtual_mac_out; 9849290650Shselasky struct mlx5_ifc_icmd_set_virtual_mac_in_bits icmd_set_virtual_mac_in; 9850290650Shselasky struct mlx5_ifc_icmd_set_wol_rol_in_bits icmd_set_wol_rol_in; 9851290650Shselasky struct mlx5_ifc_icmd_set_wol_rol_out_bits icmd_set_wol_rol_out; 9852290650Shselasky u8 reserved_0[0x42c0]; 9853290650Shselasky}; 9854290650Shselasky 9855290650Shselaskyunion mlx5_ifc_eth_cntrs_grp_data_layout_auto_bits { 9856290650Shselasky struct mlx5_ifc_eth_802_3_cntrs_grp_data_layout_bits eth_802_3_cntrs_grp_data_layout; 9857290650Shselasky struct mlx5_ifc_eth_2863_cntrs_grp_data_layout_bits eth_2863_cntrs_grp_data_layout; 9858290650Shselasky struct mlx5_ifc_eth_2819_cntrs_grp_data_layout_bits eth_2819_cntrs_grp_data_layout; 9859290650Shselasky struct mlx5_ifc_eth_3635_cntrs_grp_data_layout_bits eth_3635_cntrs_grp_data_layout; 9860290650Shselasky struct mlx5_ifc_eth_extended_cntrs_grp_data_layout_bits eth_extended_cntrs_grp_data_layout; 9861308678Shselasky struct mlx5_ifc_eth_discard_cntrs_grp_bits eth_discard_cntrs_grp; 9862290650Shselasky struct mlx5_ifc_eth_per_prio_grp_data_layout_bits eth_per_prio_grp_data_layout; 9863290650Shselasky struct mlx5_ifc_phys_layer_cntrs_bits phys_layer_cntrs; 9864321992Shselasky struct mlx5_ifc_phys_layer_statistical_cntrs_bits phys_layer_statistical_cntrs; 9865308678Shselasky struct mlx5_ifc_infiniband_port_cntrs_bits infiniband_port_cntrs; 9866290650Shselasky u8 reserved_0[0x7c0]; 9867290650Shselasky}; 9868290650Shselasky 9869290650Shselaskystruct mlx5_ifc_ppcnt_reg_bits { 9870290650Shselasky u8 swid[0x8]; 9871290650Shselasky u8 local_port[0x8]; 9872290650Shselasky u8 pnat[0x2]; 9873290650Shselasky u8 reserved_0[0x8]; 9874290650Shselasky u8 grp[0x6]; 9875290650Shselasky 9876290650Shselasky u8 clr[0x1]; 9877290650Shselasky u8 reserved_1[0x1c]; 9878290650Shselasky u8 prio_tc[0x3]; 9879290650Shselasky 9880290650Shselasky union mlx5_ifc_eth_cntrs_grp_data_layout_auto_bits counter_set; 9881290650Shselasky}; 9882290650Shselasky 9883347863Shselaskystruct mlx5_ifc_pcie_lanes_counters_bits { 9884306233Shselasky u8 life_time_counter_high[0x20]; 9885306233Shselasky 9886306233Shselasky u8 life_time_counter_low[0x20]; 9887306233Shselasky 9888347863Shselasky u8 error_counter_lane0[0x20]; 9889347863Shselasky 9890347863Shselasky u8 error_counter_lane1[0x20]; 9891347863Shselasky 9892347863Shselasky u8 error_counter_lane2[0x20]; 9893347863Shselasky 9894347863Shselasky u8 error_counter_lane3[0x20]; 9895347863Shselasky 9896347863Shselasky u8 error_counter_lane4[0x20]; 9897347863Shselasky 9898347863Shselasky u8 error_counter_lane5[0x20]; 9899347863Shselasky 9900347863Shselasky u8 error_counter_lane6[0x20]; 9901347863Shselasky 9902347863Shselasky u8 error_counter_lane7[0x20]; 9903347863Shselasky 9904347863Shselasky u8 error_counter_lane8[0x20]; 9905347863Shselasky 9906347863Shselasky u8 error_counter_lane9[0x20]; 9907347863Shselasky 9908347863Shselasky u8 error_counter_lane10[0x20]; 9909347863Shselasky 9910347863Shselasky u8 error_counter_lane11[0x20]; 9911347863Shselasky 9912347863Shselasky u8 error_counter_lane12[0x20]; 9913347863Shselasky 9914347863Shselasky u8 error_counter_lane13[0x20]; 9915347863Shselasky 9916347863Shselasky u8 error_counter_lane14[0x20]; 9917347863Shselasky 9918347863Shselasky u8 error_counter_lane15[0x20]; 9919347863Shselasky 9920347863Shselasky u8 reserved_at_240[0x580]; 9921347863Shselasky}; 9922347863Shselasky 9923347863Shselaskystruct mlx5_ifc_pcie_lanes_counters_ext_bits { 9924347863Shselasky u8 reserved_at_0[0x40]; 9925347863Shselasky 9926347863Shselasky u8 error_counter_lane0[0x20]; 9927347863Shselasky 9928347863Shselasky u8 error_counter_lane1[0x20]; 9929347863Shselasky 9930347863Shselasky u8 error_counter_lane2[0x20]; 9931347863Shselasky 9932347863Shselasky u8 error_counter_lane3[0x20]; 9933347863Shselasky 9934347863Shselasky u8 error_counter_lane4[0x20]; 9935347863Shselasky 9936347863Shselasky u8 error_counter_lane5[0x20]; 9937347863Shselasky 9938347863Shselasky u8 error_counter_lane6[0x20]; 9939347863Shselasky 9940347863Shselasky u8 error_counter_lane7[0x20]; 9941347863Shselasky 9942347863Shselasky u8 error_counter_lane8[0x20]; 9943347863Shselasky 9944347863Shselasky u8 error_counter_lane9[0x20]; 9945347863Shselasky 9946347863Shselasky u8 error_counter_lane10[0x20]; 9947347863Shselasky 9948347863Shselasky u8 error_counter_lane11[0x20]; 9949347863Shselasky 9950347863Shselasky u8 error_counter_lane12[0x20]; 9951347863Shselasky 9952347863Shselasky u8 error_counter_lane13[0x20]; 9953347863Shselasky 9954347863Shselasky u8 error_counter_lane14[0x20]; 9955347863Shselasky 9956347863Shselasky u8 error_counter_lane15[0x20]; 9957347863Shselasky 9958347863Shselasky u8 reserved_at_240[0x580]; 9959347863Shselasky}; 9960347863Shselasky 9961347863Shselaskystruct mlx5_ifc_pcie_perf_counters_bits { 9962347863Shselasky u8 life_time_counter_high[0x20]; 9963347863Shselasky 9964347863Shselasky u8 life_time_counter_low[0x20]; 9965347863Shselasky 9966306233Shselasky u8 rx_errors[0x20]; 9967306233Shselasky 9968306233Shselasky u8 tx_errors[0x20]; 9969306233Shselasky 9970306233Shselasky u8 l0_to_recovery_eieos[0x20]; 9971306233Shselasky 9972306233Shselasky u8 l0_to_recovery_ts[0x20]; 9973306233Shselasky 9974306233Shselasky u8 l0_to_recovery_framing[0x20]; 9975306233Shselasky 9976306233Shselasky u8 l0_to_recovery_retrain[0x20]; 9977306233Shselasky 9978306233Shselasky u8 crc_error_dllp[0x20]; 9979306233Shselasky 9980306233Shselasky u8 crc_error_tlp[0x20]; 9981306233Shselasky 9982347863Shselasky u8 tx_overflow_buffer_pkt[0x40]; 9983347863Shselasky 9984347863Shselasky u8 outbound_stalled_reads[0x20]; 9985347863Shselasky 9986347863Shselasky u8 outbound_stalled_writes[0x20]; 9987347863Shselasky 9988347863Shselasky u8 outbound_stalled_reads_events[0x20]; 9989347863Shselasky 9990347863Shselasky u8 outbound_stalled_writes_events[0x20]; 9991347863Shselasky 9992347863Shselasky u8 tx_overflow_buffer_marked_pkt[0x40]; 9993347863Shselasky 9994347863Shselasky u8 reserved_at_240[0x580]; 9995306233Shselasky}; 9996306233Shselasky 9997347863Shselaskystruct mlx5_ifc_pcie_perf_counters_ext_bits { 9998347863Shselasky u8 reserved_at_0[0x40]; 9999347863Shselasky 10000347863Shselasky u8 rx_errors[0x20]; 10001347863Shselasky 10002347863Shselasky u8 tx_errors[0x20]; 10003347863Shselasky 10004347863Shselasky u8 reserved_at_80[0xc0]; 10005347863Shselasky 10006347863Shselasky u8 tx_overflow_buffer_pkt[0x40]; 10007347863Shselasky 10008347863Shselasky u8 outbound_stalled_reads[0x20]; 10009347863Shselasky 10010347863Shselasky u8 outbound_stalled_writes[0x20]; 10011347863Shselasky 10012347863Shselasky u8 outbound_stalled_reads_events[0x20]; 10013347863Shselasky 10014347863Shselasky u8 outbound_stalled_writes_events[0x20]; 10015347863Shselasky 10016347863Shselasky u8 tx_overflow_buffer_marked_pkt[0x40]; 10017347863Shselasky 10018347863Shselasky u8 reserved_at_240[0x580]; 10019347863Shselasky}; 10020347863Shselasky 10021347863Shselaskystruct mlx5_ifc_pcie_timers_states_bits { 10022306233Shselasky u8 life_time_counter_high[0x20]; 10023306233Shselasky 10024306233Shselasky u8 life_time_counter_low[0x20]; 10025306233Shselasky 10026306233Shselasky u8 time_to_boot_image_start[0x20]; 10027306233Shselasky 10028306233Shselasky u8 time_to_link_image[0x20]; 10029306233Shselasky 10030306233Shselasky u8 calibration_time[0x20]; 10031306233Shselasky 10032306233Shselasky u8 time_to_first_perst[0x20]; 10033306233Shselasky 10034306233Shselasky u8 time_to_detect_state[0x20]; 10035306233Shselasky 10036306233Shselasky u8 time_to_l0[0x20]; 10037306233Shselasky 10038306233Shselasky u8 time_to_crs_en[0x20]; 10039306233Shselasky 10040306233Shselasky u8 time_to_plastic_image_start[0x20]; 10041306233Shselasky 10042306233Shselasky u8 time_to_iron_image_start[0x20]; 10043306233Shselasky 10044306233Shselasky u8 perst_handler[0x20]; 10045306233Shselasky 10046306233Shselasky u8 times_in_l1[0x20]; 10047306233Shselasky 10048306233Shselasky u8 times_in_l23[0x20]; 10049306233Shselasky 10050306233Shselasky u8 dl_down[0x20]; 10051306233Shselasky 10052306233Shselasky u8 config_cycle1usec[0x20]; 10053306233Shselasky 10054306233Shselasky u8 config_cycle2to7usec[0x20]; 10055306233Shselasky 10056306233Shselasky u8 config_cycle8to15usec[0x20]; 10057306233Shselasky 10058306233Shselasky u8 config_cycle16to63usec[0x20]; 10059306233Shselasky 10060306233Shselasky u8 config_cycle64usec[0x20]; 10061306233Shselasky 10062306233Shselasky u8 correctable_err_msg_sent[0x20]; 10063306233Shselasky 10064306233Shselasky u8 non_fatal_err_msg_sent[0x20]; 10065306233Shselasky 10066306233Shselasky u8 fatal_err_msg_sent[0x20]; 10067306233Shselasky 10068347863Shselasky u8 reserved_at_2e0[0x4e0]; 10069306233Shselasky}; 10070306233Shselasky 10071347863Shselaskystruct mlx5_ifc_pcie_timers_states_ext_bits { 10072347863Shselasky u8 reserved_at_0[0x40]; 10073306233Shselasky 10074347863Shselasky u8 time_to_boot_image_start[0x20]; 10075306233Shselasky 10076347863Shselasky u8 time_to_link_image[0x20]; 10077306233Shselasky 10078347863Shselasky u8 calibration_time[0x20]; 10079306233Shselasky 10080347863Shselasky u8 time_to_first_perst[0x20]; 10081306233Shselasky 10082347863Shselasky u8 time_to_detect_state[0x20]; 10083306233Shselasky 10084347863Shselasky u8 time_to_l0[0x20]; 10085306233Shselasky 10086347863Shselasky u8 time_to_crs_en[0x20]; 10087306233Shselasky 10088347863Shselasky u8 time_to_plastic_image_start[0x20]; 10089306233Shselasky 10090347863Shselasky u8 time_to_iron_image_start[0x20]; 10091306233Shselasky 10092347863Shselasky u8 perst_handler[0x20]; 10093306233Shselasky 10094347863Shselasky u8 times_in_l1[0x20]; 10095306233Shselasky 10096347863Shselasky u8 times_in_l23[0x20]; 10097306233Shselasky 10098347863Shselasky u8 dl_down[0x20]; 10099306233Shselasky 10100347863Shselasky u8 config_cycle1usec[0x20]; 10101306233Shselasky 10102347863Shselasky u8 config_cycle2to7usec[0x20]; 10103306233Shselasky 10104347863Shselasky u8 config_cycle8to15usec[0x20]; 10105306233Shselasky 10106347863Shselasky u8 config_cycle16to63usec[0x20]; 10107306233Shselasky 10108347863Shselasky u8 config_cycle64usec[0x20]; 10109347863Shselasky 10110347863Shselasky u8 correctable_err_msg_sent[0x20]; 10111347863Shselasky 10112347863Shselasky u8 non_fatal_err_msg_sent[0x20]; 10113347863Shselasky 10114347863Shselasky u8 fatal_err_msg_sent[0x20]; 10115347863Shselasky 10116347863Shselasky u8 reserved_at_2e0[0x4e0]; 10117306233Shselasky}; 10118306233Shselasky 10119347863Shselaskyunion mlx5_ifc_mpcnt_reg_counter_set_auto_bits { 10120347863Shselasky struct mlx5_ifc_pcie_perf_counters_bits pcie_perf_counters; 10121347863Shselasky struct mlx5_ifc_pcie_lanes_counters_bits pcie_lanes_counters; 10122347863Shselasky struct mlx5_ifc_pcie_timers_states_bits pcie_timers_states; 10123347863Shselasky u8 reserved_at_0[0x7c0]; 10124306233Shselasky}; 10125306233Shselasky 10126347863Shselaskyunion mlx5_ifc_mpcnt_reg_counter_set_auto_ext_bits { 10127347863Shselasky struct mlx5_ifc_pcie_perf_counters_ext_bits pcie_perf_counters_ext; 10128347863Shselasky struct mlx5_ifc_pcie_lanes_counters_ext_bits pcie_lanes_counters_ext; 10129347863Shselasky struct mlx5_ifc_pcie_timers_states_ext_bits pcie_timers_states_ext; 10130347863Shselasky u8 reserved_at_0[0x7c0]; 10131347863Shselasky}; 10132347863Shselasky 10133306233Shselaskystruct mlx5_ifc_mpcnt_reg_bits { 10134347863Shselasky u8 reserved_at_0[0x2]; 10135347863Shselasky u8 depth[0x6]; 10136306233Shselasky u8 pcie_index[0x8]; 10137347863Shselasky u8 node[0x8]; 10138347863Shselasky u8 reserved_at_18[0x2]; 10139306233Shselasky u8 grp[0x6]; 10140306233Shselasky 10141306233Shselasky u8 clr[0x1]; 10142347863Shselasky u8 reserved_at_21[0x1f]; 10143306233Shselasky 10144347863Shselasky union mlx5_ifc_mpcnt_reg_counter_set_auto_bits counter_set; 10145306233Shselasky}; 10146306233Shselasky 10147347863Shselaskystruct mlx5_ifc_mpcnt_reg_ext_bits { 10148347863Shselasky u8 reserved_at_0[0x2]; 10149347863Shselasky u8 depth[0x6]; 10150347863Shselasky u8 pcie_index[0x8]; 10151347863Shselasky u8 node[0x8]; 10152347863Shselasky u8 reserved_at_18[0x2]; 10153347863Shselasky u8 grp[0x6]; 10154347863Shselasky 10155347863Shselasky u8 clr[0x1]; 10156347863Shselasky u8 reserved_at_21[0x1f]; 10157347863Shselasky 10158347863Shselasky union mlx5_ifc_mpcnt_reg_counter_set_auto_ext_bits counter_set; 10159347863Shselasky}; 10160347863Shselasky 10161347862Shselaskyenum { 10162347862Shselasky MLX5_ACCESS_REG_SUMMARY_CTRL_ID_MPEIN = 0x9050, 10163347862Shselasky MLX5_MPEIN_PWR_STATUS_INVALID = 0, 10164347862Shselasky MLX5_MPEIN_PWR_STATUS_SUFFICIENT = 1, 10165347862Shselasky MLX5_MPEIN_PWR_STATUS_INSUFFICIENT = 2, 10166347862Shselasky}; 10167347862Shselasky 10168347862Shselaskystruct mlx5_ifc_mpein_reg_bits { 10169347862Shselasky u8 reserved_at_0[0x2]; 10170347862Shselasky u8 depth[0x6]; 10171347862Shselasky u8 pcie_index[0x8]; 10172347862Shselasky u8 node[0x8]; 10173347862Shselasky u8 reserved_at_18[0x8]; 10174347862Shselasky 10175347862Shselasky u8 capability_mask[0x20]; 10176347862Shselasky 10177347862Shselasky u8 reserved_at_40[0x8]; 10178347862Shselasky u8 link_width_enabled[0x8]; 10179347862Shselasky u8 link_speed_enabled[0x10]; 10180347862Shselasky 10181347862Shselasky u8 lane0_physical_position[0x8]; 10182347862Shselasky u8 link_width_active[0x8]; 10183347862Shselasky u8 link_speed_active[0x10]; 10184347862Shselasky 10185347862Shselasky u8 num_of_pfs[0x10]; 10186347862Shselasky u8 num_of_vfs[0x10]; 10187347862Shselasky 10188347862Shselasky u8 bdf0[0x10]; 10189347862Shselasky u8 reserved_at_b0[0x10]; 10190347862Shselasky 10191347862Shselasky u8 max_read_request_size[0x4]; 10192347862Shselasky u8 max_payload_size[0x4]; 10193347862Shselasky u8 reserved_at_c8[0x5]; 10194347862Shselasky u8 pwr_status[0x3]; 10195347862Shselasky u8 port_type[0x4]; 10196347862Shselasky u8 reserved_at_d4[0xb]; 10197347862Shselasky u8 lane_reversal[0x1]; 10198347862Shselasky 10199347862Shselasky u8 reserved_at_e0[0x14]; 10200347862Shselasky u8 pci_power[0xc]; 10201347862Shselasky 10202347862Shselasky u8 reserved_at_100[0x20]; 10203347862Shselasky 10204347862Shselasky u8 device_status[0x10]; 10205347862Shselasky u8 port_state[0x8]; 10206347862Shselasky u8 reserved_at_138[0x8]; 10207347862Shselasky 10208347862Shselasky u8 reserved_at_140[0x10]; 10209347862Shselasky u8 receiver_detect_result[0x10]; 10210347862Shselasky 10211347862Shselasky u8 reserved_at_160[0x20]; 10212347862Shselasky}; 10213347862Shselasky 10214347862Shselaskystruct mlx5_ifc_mpein_reg_ext_bits { 10215347862Shselasky u8 reserved_at_0[0x2]; 10216347862Shselasky u8 depth[0x6]; 10217347862Shselasky u8 pcie_index[0x8]; 10218347862Shselasky u8 node[0x8]; 10219347862Shselasky u8 reserved_at_18[0x8]; 10220347862Shselasky 10221347862Shselasky u8 reserved_at_20[0x20]; 10222347862Shselasky 10223347862Shselasky u8 reserved_at_40[0x8]; 10224347862Shselasky u8 link_width_enabled[0x8]; 10225347862Shselasky u8 link_speed_enabled[0x10]; 10226347862Shselasky 10227347862Shselasky u8 lane0_physical_position[0x8]; 10228347862Shselasky u8 link_width_active[0x8]; 10229347862Shselasky u8 link_speed_active[0x10]; 10230347862Shselasky 10231347862Shselasky u8 num_of_pfs[0x10]; 10232347862Shselasky u8 num_of_vfs[0x10]; 10233347862Shselasky 10234347862Shselasky u8 bdf0[0x10]; 10235347862Shselasky u8 reserved_at_b0[0x10]; 10236347862Shselasky 10237347862Shselasky u8 max_read_request_size[0x4]; 10238347862Shselasky u8 max_payload_size[0x4]; 10239347862Shselasky u8 reserved_at_c8[0x5]; 10240347862Shselasky u8 pwr_status[0x3]; 10241347862Shselasky u8 port_type[0x4]; 10242347862Shselasky u8 reserved_at_d4[0xb]; 10243347862Shselasky u8 lane_reversal[0x1]; 10244347862Shselasky}; 10245347862Shselasky 10246347824Shselaskystruct mlx5_ifc_mcqi_cap_bits { 10247347824Shselasky u8 supported_info_bitmask[0x20]; 10248347824Shselasky 10249347824Shselasky u8 component_size[0x20]; 10250347824Shselasky 10251347824Shselasky u8 max_component_size[0x20]; 10252347824Shselasky 10253347824Shselasky u8 log_mcda_word_size[0x4]; 10254347824Shselasky u8 reserved_at_64[0xc]; 10255347824Shselasky u8 mcda_max_write_size[0x10]; 10256347824Shselasky 10257347824Shselasky u8 rd_en[0x1]; 10258347824Shselasky u8 reserved_at_81[0x1]; 10259347824Shselasky u8 match_chip_id[0x1]; 10260347824Shselasky u8 match_psid[0x1]; 10261347824Shselasky u8 check_user_timestamp[0x1]; 10262347824Shselasky u8 match_base_guid_mac[0x1]; 10263347824Shselasky u8 reserved_at_86[0x1a]; 10264347824Shselasky}; 10265347824Shselasky 10266347824Shselaskystruct mlx5_ifc_mcqi_reg_bits { 10267347824Shselasky u8 read_pending_component[0x1]; 10268347824Shselasky u8 reserved_at_1[0xf]; 10269347824Shselasky u8 component_index[0x10]; 10270347824Shselasky 10271347824Shselasky u8 reserved_at_20[0x20]; 10272347824Shselasky 10273347824Shselasky u8 reserved_at_40[0x1b]; 10274347824Shselasky u8 info_type[0x5]; 10275347824Shselasky 10276347824Shselasky u8 info_size[0x20]; 10277347824Shselasky 10278347824Shselasky u8 offset[0x20]; 10279347824Shselasky 10280347824Shselasky u8 reserved_at_a0[0x10]; 10281347824Shselasky u8 data_size[0x10]; 10282347824Shselasky 10283347824Shselasky u8 data[0][0x20]; 10284347824Shselasky}; 10285347824Shselasky 10286347824Shselaskystruct mlx5_ifc_mcc_reg_bits { 10287347824Shselasky u8 reserved_at_0[0x4]; 10288347824Shselasky u8 time_elapsed_since_last_cmd[0xc]; 10289347824Shselasky u8 reserved_at_10[0x8]; 10290347824Shselasky u8 instruction[0x8]; 10291347824Shselasky 10292347824Shselasky u8 reserved_at_20[0x10]; 10293347824Shselasky u8 component_index[0x10]; 10294347824Shselasky 10295347824Shselasky u8 reserved_at_40[0x8]; 10296347824Shselasky u8 update_handle[0x18]; 10297347824Shselasky 10298347824Shselasky u8 handle_owner_type[0x4]; 10299347824Shselasky u8 handle_owner_host_id[0x4]; 10300347824Shselasky u8 reserved_at_68[0x1]; 10301347824Shselasky u8 control_progress[0x7]; 10302347824Shselasky u8 error_code[0x8]; 10303347824Shselasky u8 reserved_at_78[0x4]; 10304347824Shselasky u8 control_state[0x4]; 10305347824Shselasky 10306347824Shselasky u8 component_size[0x20]; 10307347824Shselasky 10308347824Shselasky u8 reserved_at_a0[0x60]; 10309347824Shselasky}; 10310347824Shselasky 10311347824Shselaskystruct mlx5_ifc_mcda_reg_bits { 10312347824Shselasky u8 reserved_at_0[0x8]; 10313347824Shselasky u8 update_handle[0x18]; 10314347824Shselasky 10315347824Shselasky u8 offset[0x20]; 10316347824Shselasky 10317347824Shselasky u8 reserved_at_40[0x10]; 10318347824Shselasky u8 size[0x10]; 10319347824Shselasky 10320347824Shselasky u8 reserved_at_60[0x20]; 10321347824Shselasky 10322347824Shselasky u8 data[0][0x20]; 10323347824Shselasky}; 10324347824Shselasky 10325290650Shselaskyunion mlx5_ifc_ports_control_registers_document_bits { 10326290650Shselasky struct mlx5_ifc_ib_portcntrs_attribute_grp_data_bits ib_portcntrs_attribute_grp_data; 10327290650Shselasky struct mlx5_ifc_bufferx_reg_bits bufferx_reg; 10328290650Shselasky struct mlx5_ifc_eth_2819_cntrs_grp_data_layout_bits eth_2819_cntrs_grp_data_layout; 10329290650Shselasky struct mlx5_ifc_eth_2863_cntrs_grp_data_layout_bits eth_2863_cntrs_grp_data_layout; 10330290650Shselasky struct mlx5_ifc_eth_3635_cntrs_grp_data_layout_bits eth_3635_cntrs_grp_data_layout; 10331290650Shselasky struct mlx5_ifc_eth_802_3_cntrs_grp_data_layout_bits eth_802_3_cntrs_grp_data_layout; 10332308678Shselasky struct mlx5_ifc_eth_discard_cntrs_grp_bits eth_discard_cntrs_grp; 10333290650Shselasky struct mlx5_ifc_eth_extended_cntrs_grp_data_layout_bits eth_extended_cntrs_grp_data_layout; 10334290650Shselasky struct mlx5_ifc_eth_per_prio_grp_data_layout_bits eth_per_prio_grp_data_layout; 10335290650Shselasky struct mlx5_ifc_eth_per_traffic_class_cong_layout_bits eth_per_traffic_class_cong_layout; 10336290650Shselasky struct mlx5_ifc_eth_per_traffic_class_layout_bits eth_per_traffic_class_layout; 10337290650Shselasky struct mlx5_ifc_lane_2_module_mapping_bits lane_2_module_mapping; 10338290650Shselasky struct mlx5_ifc_link_level_retrans_cntr_grp_date_bits link_level_retrans_cntr_grp_date; 10339290650Shselasky struct mlx5_ifc_pamp_reg_bits pamp_reg; 10340290650Shselasky struct mlx5_ifc_paos_reg_bits paos_reg; 10341290650Shselasky struct mlx5_ifc_pbmc_reg_bits pbmc_reg; 10342290650Shselasky struct mlx5_ifc_pcap_reg_bits pcap_reg; 10343290650Shselasky struct mlx5_ifc_peir_reg_bits peir_reg; 10344290650Shselasky struct mlx5_ifc_pelc_reg_bits pelc_reg; 10345290650Shselasky struct mlx5_ifc_pfcc_reg_bits pfcc_reg; 10346290650Shselasky struct mlx5_ifc_phbr_binding_reg_bits phbr_binding_reg; 10347290650Shselasky struct mlx5_ifc_phbr_for_port_tclass_reg_bits phbr_for_port_tclass_reg; 10348290650Shselasky struct mlx5_ifc_phbr_for_prio_reg_bits phbr_for_prio_reg; 10349290650Shselasky struct mlx5_ifc_phrr_reg_bits phrr_reg; 10350290650Shselasky struct mlx5_ifc_phys_layer_cntrs_bits phys_layer_cntrs; 10351290650Shselasky struct mlx5_ifc_pifr_reg_bits pifr_reg; 10352290650Shselasky struct mlx5_ifc_pipg_reg_bits pipg_reg; 10353290650Shselasky struct mlx5_ifc_plbf_reg_bits plbf_reg; 10354290650Shselasky struct mlx5_ifc_plib_reg_bits plib_reg; 10355290650Shselasky struct mlx5_ifc_pll_status_data_bits pll_status_data; 10356290650Shselasky struct mlx5_ifc_plpc_reg_bits plpc_reg; 10357290650Shselasky struct mlx5_ifc_pmaos_reg_bits pmaos_reg; 10358290650Shselasky struct mlx5_ifc_pmlp_reg_bits pmlp_reg; 10359290650Shselasky struct mlx5_ifc_pmlpn_reg_bits pmlpn_reg; 10360290650Shselasky struct mlx5_ifc_pmpc_reg_bits pmpc_reg; 10361290650Shselasky struct mlx5_ifc_pmpe_reg_bits pmpe_reg; 10362290650Shselasky struct mlx5_ifc_pmpr_reg_bits pmpr_reg; 10363290650Shselasky struct mlx5_ifc_pmtu_reg_bits pmtu_reg; 10364290650Shselasky struct mlx5_ifc_ppad_reg_bits ppad_reg; 10365290650Shselasky struct mlx5_ifc_ppcnt_reg_bits ppcnt_reg; 10366290650Shselasky struct mlx5_ifc_ppll_reg_bits ppll_reg; 10367290650Shselasky struct mlx5_ifc_pplm_reg_bits pplm_reg; 10368290650Shselasky struct mlx5_ifc_pplr_reg_bits pplr_reg; 10369290650Shselasky struct mlx5_ifc_ppsc_reg_bits ppsc_reg; 10370290650Shselasky struct mlx5_ifc_pspa_reg_bits pspa_reg; 10371290650Shselasky struct mlx5_ifc_ptas_reg_bits ptas_reg; 10372290650Shselasky struct mlx5_ifc_ptys_reg_bits ptys_reg; 10373290650Shselasky struct mlx5_ifc_pude_reg_bits pude_reg; 10374290650Shselasky struct mlx5_ifc_pvlc_reg_bits pvlc_reg; 10375290650Shselasky struct mlx5_ifc_slrg_reg_bits slrg_reg; 10376290650Shselasky struct mlx5_ifc_slrp_reg_bits slrp_reg; 10377290650Shselasky struct mlx5_ifc_sltp_reg_bits sltp_reg; 10378290650Shselasky u8 reserved_0[0x7880]; 10379290650Shselasky}; 10380290650Shselasky 10381290650Shselaskyunion mlx5_ifc_debug_enhancements_document_bits { 10382290650Shselasky struct mlx5_ifc_health_buffer_bits health_buffer; 10383290650Shselasky u8 reserved_0[0x200]; 10384290650Shselasky}; 10385290650Shselasky 10386290650Shselaskyunion mlx5_ifc_no_dram_nic_document_bits { 10387290650Shselasky struct mlx5_ifc_nodnic_config_reg_bits nodnic_config_reg; 10388290650Shselasky struct mlx5_ifc_nodnic_cq_arming_word_bits nodnic_cq_arming_word; 10389290650Shselasky struct mlx5_ifc_nodnic_event_word_bits nodnic_event_word; 10390290650Shselasky struct mlx5_ifc_nodnic_gid_filters_bits nodnic_gid_filters; 10391290650Shselasky struct mlx5_ifc_nodnic_mac_filters_bits nodnic_mac_filters; 10392290650Shselasky struct mlx5_ifc_nodnic_port_config_reg_bits nodnic_port_config_reg; 10393290650Shselasky struct mlx5_ifc_nodnic_ring_config_reg_bits nodnic_ring_config_reg; 10394290650Shselasky struct mlx5_ifc_nodnic_ring_doorbell_bits nodnic_ring_doorbell; 10395290650Shselasky u8 reserved_0[0x3160]; 10396290650Shselasky}; 10397290650Shselasky 10398290650Shselaskyunion mlx5_ifc_uplink_pci_interface_document_bits { 10399290650Shselasky struct mlx5_ifc_initial_seg_bits initial_seg; 10400290650Shselasky struct mlx5_ifc_vendor_specific_cap_bits vendor_specific_cap; 10401290650Shselasky u8 reserved_0[0x20120]; 10402290650Shselasky}; 10403290650Shselasky 10404337098Shselaskystruct mlx5_ifc_qpdpm_dscp_reg_bits { 10405337098Shselasky u8 e[0x1]; 10406337098Shselasky u8 reserved_at_01[0x0b]; 10407337098Shselasky u8 prio[0x04]; 10408337098Shselasky}; 10409290650Shselasky 10410337098Shselaskystruct mlx5_ifc_qpdpm_reg_bits { 10411337098Shselasky u8 reserved_at_0[0x8]; 10412337098Shselasky u8 local_port[0x8]; 10413337098Shselasky u8 reserved_at_10[0x10]; 10414337098Shselasky struct mlx5_ifc_qpdpm_dscp_reg_bits dscp[64]; 10415337098Shselasky}; 10416337098Shselasky 10417337098Shselaskystruct mlx5_ifc_qpts_reg_bits { 10418337098Shselasky u8 reserved_at_0[0x8]; 10419337098Shselasky u8 local_port[0x8]; 10420337098Shselasky u8 reserved_at_10[0x2d]; 10421337098Shselasky u8 trust_state[0x3]; 10422337098Shselasky}; 10423337098Shselasky 10424347868Shselaskystruct mlx5_ifc_mfrl_reg_bits { 10425347868Shselasky u8 reserved_at_0[0x38]; 10426347868Shselasky u8 reset_level[0x8]; 10427347868Shselasky}; 10428347868Shselasky 10429290650Shselasky#endif /* MLX5_IFC_H */ 10430