~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/linux/mlx5/mlx5_ifc.h

Version: ~ [ linux-5.6 ] ~ [ linux-5.5.13 ] ~ [ linux-5.4.28 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.113 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.174 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.217 ] ~ [ linux-4.8.17 ] ~ [ linux-4.7.10 ] ~ [ linux-4.6.7 ] ~ [ linux-4.5.7 ] ~ [ linux-4.4.217 ] ~ [ linux-4.3.6 ] ~ [ linux-4.2.8 ] ~ [ linux-4.1.52 ] ~ [ linux-4.0.9 ] ~ [ linux-3.19.8 ] ~ [ linux-3.18.140 ] ~ [ linux-3.17.8 ] ~ [ linux-3.16.82 ] ~ [ linux-3.15.10 ] ~ [ linux-3.14.79 ] ~ [ linux-3.13.11 ] ~ [ linux-3.12.74 ] ~ [ linux-3.11.10 ] ~ [ linux-3.10.108 ] ~ [ linux-3.9.11 ] ~ [ linux-3.8.13 ] ~ [ linux-3.7.10 ] ~ [ linux-3.6.11 ] ~ [ linux-3.5.7 ] ~ [ linux-3.4.113 ] ~ [ linux-3.3.8 ] ~ [ linux-3.2.102 ] ~ [ linux-3.1.10 ] ~ [ linux-3.0.101 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.5 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /*
  2  * Copyright (c) 2013-2015, Mellanox Technologies, Ltd.  All rights reserved.
  3  *
  4  * This software is available to you under a choice of one of two
  5  * licenses.  You may choose to be licensed under the terms of the GNU
  6  * General Public License (GPL) Version 2, available from the file
  7  * COPYING in the main directory of this source tree, or the
  8  * OpenIB.org BSD license below:
  9  *
 10  *     Redistribution and use in source and binary forms, with or
 11  *     without modification, are permitted provided that the following
 12  *     conditions are met:
 13  *
 14  *      - Redistributions of source code must retain the above
 15  *        copyright notice, this list of conditions and the following
 16  *        disclaimer.
 17  *
 18  *      - Redistributions in binary form must reproduce the above
 19  *        copyright notice, this list of conditions and the following
 20  *        disclaimer in the documentation and/or other materials
 21  *        provided with the distribution.
 22  *
 23  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 24  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 25  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 26  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
 27  * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 28  * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 29  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 30  * SOFTWARE.
 31 */
 32 #ifndef MLX5_IFC_H
 33 #define MLX5_IFC_H
 34 
 35 #include "mlx5_ifc_fpga.h"
 36 
 37 enum {
 38         MLX5_EVENT_TYPE_CODING_COMPLETION_EVENTS                   = 0x0,
 39         MLX5_EVENT_TYPE_CODING_PATH_MIGRATED_SUCCEEDED             = 0x1,
 40         MLX5_EVENT_TYPE_CODING_COMMUNICATION_ESTABLISHED           = 0x2,
 41         MLX5_EVENT_TYPE_CODING_SEND_QUEUE_DRAINED                  = 0x3,
 42         MLX5_EVENT_TYPE_CODING_LAST_WQE_REACHED                    = 0x13,
 43         MLX5_EVENT_TYPE_CODING_SRQ_LIMIT                           = 0x14,
 44         MLX5_EVENT_TYPE_CODING_DCT_ALL_CONNECTIONS_CLOSED          = 0x1c,
 45         MLX5_EVENT_TYPE_CODING_DCT_ACCESS_KEY_VIOLATION            = 0x1d,
 46         MLX5_EVENT_TYPE_CODING_CQ_ERROR                            = 0x4,
 47         MLX5_EVENT_TYPE_CODING_LOCAL_WQ_CATASTROPHIC_ERROR         = 0x5,
 48         MLX5_EVENT_TYPE_CODING_PATH_MIGRATION_FAILED               = 0x7,
 49         MLX5_EVENT_TYPE_CODING_PAGE_FAULT_EVENT                    = 0xc,
 50         MLX5_EVENT_TYPE_CODING_INVALID_REQUEST_LOCAL_WQ_ERROR      = 0x10,
 51         MLX5_EVENT_TYPE_CODING_LOCAL_ACCESS_VIOLATION_WQ_ERROR     = 0x11,
 52         MLX5_EVENT_TYPE_CODING_LOCAL_SRQ_CATASTROPHIC_ERROR        = 0x12,
 53         MLX5_EVENT_TYPE_CODING_INTERNAL_ERROR                      = 0x8,
 54         MLX5_EVENT_TYPE_CODING_PORT_STATE_CHANGE                   = 0x9,
 55         MLX5_EVENT_TYPE_CODING_GPIO_EVENT                          = 0x15,
 56         MLX5_EVENT_TYPE_CODING_REMOTE_CONFIGURATION_PROTOCOL_EVENT = 0x19,
 57         MLX5_EVENT_TYPE_CODING_DOORBELL_BLUEFLAME_CONGESTION_EVENT = 0x1a,
 58         MLX5_EVENT_TYPE_CODING_STALL_VL_EVENT                      = 0x1b,
 59         MLX5_EVENT_TYPE_CODING_DROPPED_PACKET_LOGGED_EVENT         = 0x1f,
 60         MLX5_EVENT_TYPE_CODING_COMMAND_INTERFACE_COMPLETION        = 0xa,
 61         MLX5_EVENT_TYPE_CODING_PAGE_REQUEST                        = 0xb,
 62         MLX5_EVENT_TYPE_CODING_FPGA_ERROR                          = 0x20,
 63         MLX5_EVENT_TYPE_CODING_FPGA_QP_ERROR                       = 0x21
 64 };
 65 
 66 enum {
 67         MLX5_MODIFY_TIR_BITMASK_LRO                   = 0x0,
 68         MLX5_MODIFY_TIR_BITMASK_INDIRECT_TABLE        = 0x1,
 69         MLX5_MODIFY_TIR_BITMASK_HASH                  = 0x2,
 70         MLX5_MODIFY_TIR_BITMASK_TUNNELED_OFFLOAD_EN   = 0x3
 71 };
 72 
 73 enum {
 74         MLX5_SET_HCA_CAP_OP_MOD_GENERAL_DEVICE        = 0x0,
 75         MLX5_SET_HCA_CAP_OP_MOD_ATOMIC                = 0x3,
 76 };
 77 
 78 enum {
 79         MLX5_SHARED_RESOURCE_UID = 0xffff,
 80 };
 81 
 82 enum {
 83         MLX5_CMD_OP_QUERY_HCA_CAP                 = 0x100,
 84         MLX5_CMD_OP_QUERY_ADAPTER                 = 0x101,
 85         MLX5_CMD_OP_INIT_HCA                      = 0x102,
 86         MLX5_CMD_OP_TEARDOWN_HCA                  = 0x103,
 87         MLX5_CMD_OP_ENABLE_HCA                    = 0x104,
 88         MLX5_CMD_OP_DISABLE_HCA                   = 0x105,
 89         MLX5_CMD_OP_QUERY_PAGES                   = 0x107,
 90         MLX5_CMD_OP_MANAGE_PAGES                  = 0x108,
 91         MLX5_CMD_OP_SET_HCA_CAP                   = 0x109,
 92         MLX5_CMD_OP_QUERY_ISSI                    = 0x10a,
 93         MLX5_CMD_OP_SET_ISSI                      = 0x10b,
 94         MLX5_CMD_OP_SET_DRIVER_VERSION            = 0x10d,
 95         MLX5_CMD_OP_CREATE_MKEY                   = 0x200,
 96         MLX5_CMD_OP_QUERY_MKEY                    = 0x201,
 97         MLX5_CMD_OP_DESTROY_MKEY                  = 0x202,
 98         MLX5_CMD_OP_QUERY_SPECIAL_CONTEXTS        = 0x203,
 99         MLX5_CMD_OP_PAGE_FAULT_RESUME             = 0x204,
100         MLX5_CMD_OP_ALLOC_MEMIC                   = 0x205,
101         MLX5_CMD_OP_DEALLOC_MEMIC                 = 0x206,
102         MLX5_CMD_OP_CREATE_EQ                     = 0x301,
103         MLX5_CMD_OP_DESTROY_EQ                    = 0x302,
104         MLX5_CMD_OP_QUERY_EQ                      = 0x303,
105         MLX5_CMD_OP_GEN_EQE                       = 0x304,
106         MLX5_CMD_OP_CREATE_CQ                     = 0x400,
107         MLX5_CMD_OP_DESTROY_CQ                    = 0x401,
108         MLX5_CMD_OP_QUERY_CQ                      = 0x402,
109         MLX5_CMD_OP_MODIFY_CQ                     = 0x403,
110         MLX5_CMD_OP_CREATE_QP                     = 0x500,
111         MLX5_CMD_OP_DESTROY_QP                    = 0x501,
112         MLX5_CMD_OP_RST2INIT_QP                   = 0x502,
113         MLX5_CMD_OP_INIT2RTR_QP                   = 0x503,
114         MLX5_CMD_OP_RTR2RTS_QP                    = 0x504,
115         MLX5_CMD_OP_RTS2RTS_QP                    = 0x505,
116         MLX5_CMD_OP_SQERR2RTS_QP                  = 0x506,
117         MLX5_CMD_OP_2ERR_QP                       = 0x507,
118         MLX5_CMD_OP_2RST_QP                       = 0x50a,
119         MLX5_CMD_OP_QUERY_QP                      = 0x50b,
120         MLX5_CMD_OP_SQD_RTS_QP                    = 0x50c,
121         MLX5_CMD_OP_INIT2INIT_QP                  = 0x50e,
122         MLX5_CMD_OP_CREATE_PSV                    = 0x600,
123         MLX5_CMD_OP_DESTROY_PSV                   = 0x601,
124         MLX5_CMD_OP_CREATE_SRQ                    = 0x700,
125         MLX5_CMD_OP_DESTROY_SRQ                   = 0x701,
126         MLX5_CMD_OP_QUERY_SRQ                     = 0x702,
127         MLX5_CMD_OP_ARM_RQ                        = 0x703,
128         MLX5_CMD_OP_CREATE_XRC_SRQ                = 0x705,
129         MLX5_CMD_OP_DESTROY_XRC_SRQ               = 0x706,
130         MLX5_CMD_OP_QUERY_XRC_SRQ                 = 0x707,
131         MLX5_CMD_OP_ARM_XRC_SRQ                   = 0x708,
132         MLX5_CMD_OP_CREATE_DCT                    = 0x710,
133         MLX5_CMD_OP_DESTROY_DCT                   = 0x711,
134         MLX5_CMD_OP_DRAIN_DCT                     = 0x712,
135         MLX5_CMD_OP_QUERY_DCT                     = 0x713,
136         MLX5_CMD_OP_ARM_DCT_FOR_KEY_VIOLATION     = 0x714,
137         MLX5_CMD_OP_CREATE_XRQ                    = 0x717,
138         MLX5_CMD_OP_DESTROY_XRQ                   = 0x718,
139         MLX5_CMD_OP_QUERY_XRQ                     = 0x719,
140         MLX5_CMD_OP_ARM_XRQ                       = 0x71a,
141         MLX5_CMD_OP_QUERY_XRQ_DC_PARAMS_ENTRY     = 0x725,
142         MLX5_CMD_OP_SET_XRQ_DC_PARAMS_ENTRY       = 0x726,
143         MLX5_CMD_OP_QUERY_XRQ_ERROR_PARAMS        = 0x727,
144         MLX5_CMD_OP_QUERY_VPORT_STATE             = 0x750,
145         MLX5_CMD_OP_MODIFY_VPORT_STATE            = 0x751,
146         MLX5_CMD_OP_QUERY_ESW_VPORT_CONTEXT       = 0x752,
147         MLX5_CMD_OP_MODIFY_ESW_VPORT_CONTEXT      = 0x753,
148         MLX5_CMD_OP_QUERY_NIC_VPORT_CONTEXT       = 0x754,
149         MLX5_CMD_OP_MODIFY_NIC_VPORT_CONTEXT      = 0x755,
150         MLX5_CMD_OP_QUERY_ROCE_ADDRESS            = 0x760,
151         MLX5_CMD_OP_SET_ROCE_ADDRESS              = 0x761,
152         MLX5_CMD_OP_QUERY_HCA_VPORT_CONTEXT       = 0x762,
153         MLX5_CMD_OP_MODIFY_HCA_VPORT_CONTEXT      = 0x763,
154         MLX5_CMD_OP_QUERY_HCA_VPORT_GID           = 0x764,
155         MLX5_CMD_OP_QUERY_HCA_VPORT_PKEY          = 0x765,
156         MLX5_CMD_OP_QUERY_VNIC_ENV                = 0x76f,
157         MLX5_CMD_OP_QUERY_VPORT_COUNTER           = 0x770,
158         MLX5_CMD_OP_ALLOC_Q_COUNTER               = 0x771,
159         MLX5_CMD_OP_DEALLOC_Q_COUNTER             = 0x772,
160         MLX5_CMD_OP_QUERY_Q_COUNTER               = 0x773,
161         MLX5_CMD_OP_SET_MONITOR_COUNTER           = 0x774,
162         MLX5_CMD_OP_ARM_MONITOR_COUNTER           = 0x775,
163         MLX5_CMD_OP_SET_PP_RATE_LIMIT             = 0x780,
164         MLX5_CMD_OP_QUERY_RATE_LIMIT              = 0x781,
165         MLX5_CMD_OP_CREATE_SCHEDULING_ELEMENT      = 0x782,
166         MLX5_CMD_OP_DESTROY_SCHEDULING_ELEMENT     = 0x783,
167         MLX5_CMD_OP_QUERY_SCHEDULING_ELEMENT       = 0x784,
168         MLX5_CMD_OP_MODIFY_SCHEDULING_ELEMENT      = 0x785,
169         MLX5_CMD_OP_CREATE_QOS_PARA_VPORT         = 0x786,
170         MLX5_CMD_OP_DESTROY_QOS_PARA_VPORT        = 0x787,
171         MLX5_CMD_OP_ALLOC_PD                      = 0x800,
172         MLX5_CMD_OP_DEALLOC_PD                    = 0x801,
173         MLX5_CMD_OP_ALLOC_UAR                     = 0x802,
174         MLX5_CMD_OP_DEALLOC_UAR                   = 0x803,
175         MLX5_CMD_OP_CONFIG_INT_MODERATION         = 0x804,
176         MLX5_CMD_OP_ACCESS_REG                    = 0x805,
177         MLX5_CMD_OP_ATTACH_TO_MCG                 = 0x806,
178         MLX5_CMD_OP_DETACH_FROM_MCG               = 0x807,
179         MLX5_CMD_OP_GET_DROPPED_PACKET_LOG        = 0x80a,
180         MLX5_CMD_OP_MAD_IFC                       = 0x50d,
181         MLX5_CMD_OP_QUERY_MAD_DEMUX               = 0x80b,
182         MLX5_CMD_OP_SET_MAD_DEMUX                 = 0x80c,
183         MLX5_CMD_OP_NOP                           = 0x80d,
184         MLX5_CMD_OP_ALLOC_XRCD                    = 0x80e,
185         MLX5_CMD_OP_DEALLOC_XRCD                  = 0x80f,
186         MLX5_CMD_OP_ALLOC_TRANSPORT_DOMAIN        = 0x816,
187         MLX5_CMD_OP_DEALLOC_TRANSPORT_DOMAIN      = 0x817,
188         MLX5_CMD_OP_QUERY_CONG_STATUS             = 0x822,
189         MLX5_CMD_OP_MODIFY_CONG_STATUS            = 0x823,
190         MLX5_CMD_OP_QUERY_CONG_PARAMS             = 0x824,
191         MLX5_CMD_OP_MODIFY_CONG_PARAMS            = 0x825,
192         MLX5_CMD_OP_QUERY_CONG_STATISTICS         = 0x826,
193         MLX5_CMD_OP_ADD_VXLAN_UDP_DPORT           = 0x827,
194         MLX5_CMD_OP_DELETE_VXLAN_UDP_DPORT        = 0x828,
195         MLX5_CMD_OP_SET_L2_TABLE_ENTRY            = 0x829,
196         MLX5_CMD_OP_QUERY_L2_TABLE_ENTRY          = 0x82a,
197         MLX5_CMD_OP_DELETE_L2_TABLE_ENTRY         = 0x82b,
198         MLX5_CMD_OP_SET_WOL_ROL                   = 0x830,
199         MLX5_CMD_OP_QUERY_WOL_ROL                 = 0x831,
200         MLX5_CMD_OP_CREATE_LAG                    = 0x840,
201         MLX5_CMD_OP_MODIFY_LAG                    = 0x841,
202         MLX5_CMD_OP_QUERY_LAG                     = 0x842,
203         MLX5_CMD_OP_DESTROY_LAG                   = 0x843,
204         MLX5_CMD_OP_CREATE_VPORT_LAG              = 0x844,
205         MLX5_CMD_OP_DESTROY_VPORT_LAG             = 0x845,
206         MLX5_CMD_OP_CREATE_TIR                    = 0x900,
207         MLX5_CMD_OP_MODIFY_TIR                    = 0x901,
208         MLX5_CMD_OP_DESTROY_TIR                   = 0x902,
209         MLX5_CMD_OP_QUERY_TIR                     = 0x903,
210         MLX5_CMD_OP_CREATE_SQ                     = 0x904,
211         MLX5_CMD_OP_MODIFY_SQ                     = 0x905,
212         MLX5_CMD_OP_DESTROY_SQ                    = 0x906,
213         MLX5_CMD_OP_QUERY_SQ                      = 0x907,
214         MLX5_CMD_OP_CREATE_RQ                     = 0x908,
215         MLX5_CMD_OP_MODIFY_RQ                     = 0x909,
216         MLX5_CMD_OP_SET_DELAY_DROP_PARAMS         = 0x910,
217         MLX5_CMD_OP_DESTROY_RQ                    = 0x90a,
218         MLX5_CMD_OP_QUERY_RQ                      = 0x90b,
219         MLX5_CMD_OP_CREATE_RMP                    = 0x90c,
220         MLX5_CMD_OP_MODIFY_RMP                    = 0x90d,
221         MLX5_CMD_OP_DESTROY_RMP                   = 0x90e,
222         MLX5_CMD_OP_QUERY_RMP                     = 0x90f,
223         MLX5_CMD_OP_CREATE_TIS                    = 0x912,
224         MLX5_CMD_OP_MODIFY_TIS                    = 0x913,
225         MLX5_CMD_OP_DESTROY_TIS                   = 0x914,
226         MLX5_CMD_OP_QUERY_TIS                     = 0x915,
227         MLX5_CMD_OP_CREATE_RQT                    = 0x916,
228         MLX5_CMD_OP_MODIFY_RQT                    = 0x917,
229         MLX5_CMD_OP_DESTROY_RQT                   = 0x918,
230         MLX5_CMD_OP_QUERY_RQT                     = 0x919,
231         MLX5_CMD_OP_SET_FLOW_TABLE_ROOT           = 0x92f,
232         MLX5_CMD_OP_CREATE_FLOW_TABLE             = 0x930,
233         MLX5_CMD_OP_DESTROY_FLOW_TABLE            = 0x931,
234         MLX5_CMD_OP_QUERY_FLOW_TABLE              = 0x932,
235         MLX5_CMD_OP_CREATE_FLOW_GROUP             = 0x933,
236         MLX5_CMD_OP_DESTROY_FLOW_GROUP            = 0x934,
237         MLX5_CMD_OP_QUERY_FLOW_GROUP              = 0x935,
238         MLX5_CMD_OP_SET_FLOW_TABLE_ENTRY          = 0x936,
239         MLX5_CMD_OP_QUERY_FLOW_TABLE_ENTRY        = 0x937,
240         MLX5_CMD_OP_DELETE_FLOW_TABLE_ENTRY       = 0x938,
241         MLX5_CMD_OP_ALLOC_FLOW_COUNTER            = 0x939,
242         MLX5_CMD_OP_DEALLOC_FLOW_COUNTER          = 0x93a,
243         MLX5_CMD_OP_QUERY_FLOW_COUNTER            = 0x93b,
244         MLX5_CMD_OP_MODIFY_FLOW_TABLE             = 0x93c,
245         MLX5_CMD_OP_ALLOC_PACKET_REFORMAT_CONTEXT = 0x93d,
246         MLX5_CMD_OP_DEALLOC_PACKET_REFORMAT_CONTEXT = 0x93e,
247         MLX5_CMD_OP_QUERY_PACKET_REFORMAT_CONTEXT = 0x93f,
248         MLX5_CMD_OP_ALLOC_MODIFY_HEADER_CONTEXT   = 0x940,
249         MLX5_CMD_OP_DEALLOC_MODIFY_HEADER_CONTEXT = 0x941,
250         MLX5_CMD_OP_QUERY_MODIFY_HEADER_CONTEXT   = 0x942,
251         MLX5_CMD_OP_FPGA_CREATE_QP                = 0x960,
252         MLX5_CMD_OP_FPGA_MODIFY_QP                = 0x961,
253         MLX5_CMD_OP_FPGA_QUERY_QP                 = 0x962,
254         MLX5_CMD_OP_FPGA_DESTROY_QP               = 0x963,
255         MLX5_CMD_OP_FPGA_QUERY_QP_COUNTERS        = 0x964,
256         MLX5_CMD_OP_CREATE_GENERAL_OBJECT         = 0xa00,
257         MLX5_CMD_OP_MODIFY_GENERAL_OBJECT         = 0xa01,
258         MLX5_CMD_OP_QUERY_GENERAL_OBJECT          = 0xa02,
259         MLX5_CMD_OP_DESTROY_GENERAL_OBJECT        = 0xa03,
260         MLX5_CMD_OP_CREATE_UCTX                   = 0xa04,
261         MLX5_CMD_OP_DESTROY_UCTX                  = 0xa06,
262         MLX5_CMD_OP_CREATE_UMEM                   = 0xa08,
263         MLX5_CMD_OP_DESTROY_UMEM                  = 0xa0a,
264         MLX5_CMD_OP_MAX
265 };
266 
267 /* Valid range for general commands that don't work over an object */