18c2ecf20Sopenharmony_ci/*
28c2ecf20Sopenharmony_ci * Copyright (c) 2018, Mellanox Technologies inc.  All rights reserved.
38c2ecf20Sopenharmony_ci *
48c2ecf20Sopenharmony_ci * This software is available to you under a choice of one of two
58c2ecf20Sopenharmony_ci * licenses.  You may choose to be licensed under the terms of the GNU
68c2ecf20Sopenharmony_ci * General Public License (GPL) Version 2, available from the file
78c2ecf20Sopenharmony_ci * COPYING in the main directory of this source tree, or the
88c2ecf20Sopenharmony_ci * OpenIB.org BSD license below:
98c2ecf20Sopenharmony_ci *
108c2ecf20Sopenharmony_ci *     Redistribution and use in source and binary forms, with or
118c2ecf20Sopenharmony_ci *     without modification, are permitted provided that the following
128c2ecf20Sopenharmony_ci *     conditions are met:
138c2ecf20Sopenharmony_ci *
148c2ecf20Sopenharmony_ci *      - Redistributions of source code must retain the above
158c2ecf20Sopenharmony_ci *        copyright notice, this list of conditions and the following
168c2ecf20Sopenharmony_ci *        disclaimer.
178c2ecf20Sopenharmony_ci *
188c2ecf20Sopenharmony_ci *      - Redistributions in binary form must reproduce the above
198c2ecf20Sopenharmony_ci *        copyright notice, this list of conditions and the following
208c2ecf20Sopenharmony_ci *        disclaimer in the documentation and/or other materials
218c2ecf20Sopenharmony_ci *        provided with the distribution.
228c2ecf20Sopenharmony_ci *
238c2ecf20Sopenharmony_ci * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
248c2ecf20Sopenharmony_ci * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
258c2ecf20Sopenharmony_ci * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
268c2ecf20Sopenharmony_ci * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
278c2ecf20Sopenharmony_ci * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
288c2ecf20Sopenharmony_ci * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
298c2ecf20Sopenharmony_ci * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
308c2ecf20Sopenharmony_ci * SOFTWARE.
318c2ecf20Sopenharmony_ci */
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci#ifndef IB_USER_IOCTL_CMDS_H
348c2ecf20Sopenharmony_ci#define IB_USER_IOCTL_CMDS_H
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ci#define UVERBS_ID_NS_MASK 0xF000
378c2ecf20Sopenharmony_ci#define UVERBS_ID_NS_SHIFT 12
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ci#define UVERBS_UDATA_DRIVER_DATA_NS	1
408c2ecf20Sopenharmony_ci#define UVERBS_UDATA_DRIVER_DATA_FLAG	(1UL << UVERBS_ID_NS_SHIFT)
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_cienum uverbs_default_objects {
438c2ecf20Sopenharmony_ci	UVERBS_OBJECT_DEVICE, /* No instances of DEVICE are allowed */
448c2ecf20Sopenharmony_ci	UVERBS_OBJECT_PD,
458c2ecf20Sopenharmony_ci	UVERBS_OBJECT_COMP_CHANNEL,
468c2ecf20Sopenharmony_ci	UVERBS_OBJECT_CQ,
478c2ecf20Sopenharmony_ci	UVERBS_OBJECT_QP,
488c2ecf20Sopenharmony_ci	UVERBS_OBJECT_SRQ,
498c2ecf20Sopenharmony_ci	UVERBS_OBJECT_AH,
508c2ecf20Sopenharmony_ci	UVERBS_OBJECT_MR,
518c2ecf20Sopenharmony_ci	UVERBS_OBJECT_MW,
528c2ecf20Sopenharmony_ci	UVERBS_OBJECT_FLOW,
538c2ecf20Sopenharmony_ci	UVERBS_OBJECT_XRCD,
548c2ecf20Sopenharmony_ci	UVERBS_OBJECT_RWQ_IND_TBL,
558c2ecf20Sopenharmony_ci	UVERBS_OBJECT_WQ,
568c2ecf20Sopenharmony_ci	UVERBS_OBJECT_FLOW_ACTION,
578c2ecf20Sopenharmony_ci	UVERBS_OBJECT_DM,
588c2ecf20Sopenharmony_ci	UVERBS_OBJECT_COUNTERS,
598c2ecf20Sopenharmony_ci	UVERBS_OBJECT_ASYNC_EVENT,
608c2ecf20Sopenharmony_ci};
618c2ecf20Sopenharmony_ci
628c2ecf20Sopenharmony_cienum {
638c2ecf20Sopenharmony_ci	UVERBS_ATTR_UHW_IN = UVERBS_UDATA_DRIVER_DATA_FLAG,
648c2ecf20Sopenharmony_ci	UVERBS_ATTR_UHW_OUT,
658c2ecf20Sopenharmony_ci};
668c2ecf20Sopenharmony_ci
678c2ecf20Sopenharmony_cienum uverbs_methods_device {
688c2ecf20Sopenharmony_ci	UVERBS_METHOD_INVOKE_WRITE,
698c2ecf20Sopenharmony_ci	UVERBS_METHOD_INFO_HANDLES,
708c2ecf20Sopenharmony_ci	UVERBS_METHOD_QUERY_PORT,
718c2ecf20Sopenharmony_ci	UVERBS_METHOD_GET_CONTEXT,
728c2ecf20Sopenharmony_ci	UVERBS_METHOD_QUERY_CONTEXT,
738c2ecf20Sopenharmony_ci	UVERBS_METHOD_QUERY_GID_TABLE,
748c2ecf20Sopenharmony_ci	UVERBS_METHOD_QUERY_GID_ENTRY,
758c2ecf20Sopenharmony_ci};
768c2ecf20Sopenharmony_ci
778c2ecf20Sopenharmony_cienum uverbs_attrs_invoke_write_cmd_attr_ids {
788c2ecf20Sopenharmony_ci	UVERBS_ATTR_CORE_IN,
798c2ecf20Sopenharmony_ci	UVERBS_ATTR_CORE_OUT,
808c2ecf20Sopenharmony_ci	UVERBS_ATTR_WRITE_CMD,
818c2ecf20Sopenharmony_ci};
828c2ecf20Sopenharmony_ci
838c2ecf20Sopenharmony_cienum uverbs_attrs_query_port_cmd_attr_ids {
848c2ecf20Sopenharmony_ci	UVERBS_ATTR_QUERY_PORT_PORT_NUM,
858c2ecf20Sopenharmony_ci	UVERBS_ATTR_QUERY_PORT_RESP,
868c2ecf20Sopenharmony_ci};
878c2ecf20Sopenharmony_ci
888c2ecf20Sopenharmony_cienum uverbs_attrs_get_context_attr_ids {
898c2ecf20Sopenharmony_ci	UVERBS_ATTR_GET_CONTEXT_NUM_COMP_VECTORS,
908c2ecf20Sopenharmony_ci	UVERBS_ATTR_GET_CONTEXT_CORE_SUPPORT,
918c2ecf20Sopenharmony_ci};
928c2ecf20Sopenharmony_ci
938c2ecf20Sopenharmony_cienum uverbs_attrs_query_context_attr_ids {
948c2ecf20Sopenharmony_ci	UVERBS_ATTR_QUERY_CONTEXT_NUM_COMP_VECTORS,
958c2ecf20Sopenharmony_ci	UVERBS_ATTR_QUERY_CONTEXT_CORE_SUPPORT,
968c2ecf20Sopenharmony_ci};
978c2ecf20Sopenharmony_ci
988c2ecf20Sopenharmony_cienum uverbs_attrs_create_cq_cmd_attr_ids {
998c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_CQ_HANDLE,
1008c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_CQ_CQE,
1018c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_CQ_USER_HANDLE,
1028c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_CQ_COMP_CHANNEL,
1038c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_CQ_COMP_VECTOR,
1048c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_CQ_FLAGS,
1058c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_CQ_RESP_CQE,
1068c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_CQ_EVENT_FD,
1078c2ecf20Sopenharmony_ci};
1088c2ecf20Sopenharmony_ci
1098c2ecf20Sopenharmony_cienum uverbs_attrs_destroy_cq_cmd_attr_ids {
1108c2ecf20Sopenharmony_ci	UVERBS_ATTR_DESTROY_CQ_HANDLE,
1118c2ecf20Sopenharmony_ci	UVERBS_ATTR_DESTROY_CQ_RESP,
1128c2ecf20Sopenharmony_ci};
1138c2ecf20Sopenharmony_ci
1148c2ecf20Sopenharmony_cienum uverbs_attrs_create_flow_action_esp {
1158c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_FLOW_ACTION_ESP_HANDLE,
1168c2ecf20Sopenharmony_ci	UVERBS_ATTR_FLOW_ACTION_ESP_ATTRS,
1178c2ecf20Sopenharmony_ci	UVERBS_ATTR_FLOW_ACTION_ESP_ESN,
1188c2ecf20Sopenharmony_ci	UVERBS_ATTR_FLOW_ACTION_ESP_KEYMAT,
1198c2ecf20Sopenharmony_ci	UVERBS_ATTR_FLOW_ACTION_ESP_REPLAY,
1208c2ecf20Sopenharmony_ci	UVERBS_ATTR_FLOW_ACTION_ESP_ENCAP,
1218c2ecf20Sopenharmony_ci};
1228c2ecf20Sopenharmony_ci
1238c2ecf20Sopenharmony_cienum uverbs_attrs_modify_flow_action_esp {
1248c2ecf20Sopenharmony_ci	UVERBS_ATTR_MODIFY_FLOW_ACTION_ESP_HANDLE =
1258c2ecf20Sopenharmony_ci		UVERBS_ATTR_CREATE_FLOW_ACTION_ESP_HANDLE,
1268c2ecf20Sopenharmony_ci};
1278c2ecf20Sopenharmony_ci
1288c2ecf20Sopenharmony_cienum uverbs_attrs_destroy_flow_action_esp {
1298c2ecf20Sopenharmony_ci	UVERBS_ATTR_DESTROY_FLOW_ACTION_HANDLE,
1308c2ecf20Sopenharmony_ci};
1318c2ecf20Sopenharmony_ci
1328c2ecf20Sopenharmony_cienum uverbs_attrs_create_qp_cmd_attr_ids {
1338c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_QP_HANDLE,
1348c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_QP_XRCD_HANDLE,
1358c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_QP_PD_HANDLE,
1368c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_QP_SRQ_HANDLE,
1378c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_QP_SEND_CQ_HANDLE,
1388c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_QP_RECV_CQ_HANDLE,
1398c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_QP_IND_TABLE_HANDLE,
1408c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_QP_USER_HANDLE,
1418c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_QP_CAP,
1428c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_QP_TYPE,
1438c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_QP_FLAGS,
1448c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_QP_SOURCE_QPN,
1458c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_QP_EVENT_FD,
1468c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_QP_RESP_CAP,
1478c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_QP_RESP_QP_NUM,
1488c2ecf20Sopenharmony_ci};
1498c2ecf20Sopenharmony_ci
1508c2ecf20Sopenharmony_cienum uverbs_attrs_destroy_qp_cmd_attr_ids {
1518c2ecf20Sopenharmony_ci	UVERBS_ATTR_DESTROY_QP_HANDLE,
1528c2ecf20Sopenharmony_ci	UVERBS_ATTR_DESTROY_QP_RESP,
1538c2ecf20Sopenharmony_ci};
1548c2ecf20Sopenharmony_ci
1558c2ecf20Sopenharmony_cienum uverbs_methods_qp {
1568c2ecf20Sopenharmony_ci	UVERBS_METHOD_QP_CREATE,
1578c2ecf20Sopenharmony_ci	UVERBS_METHOD_QP_DESTROY,
1588c2ecf20Sopenharmony_ci};
1598c2ecf20Sopenharmony_ci
1608c2ecf20Sopenharmony_cienum uverbs_attrs_create_srq_cmd_attr_ids {
1618c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_SRQ_HANDLE,
1628c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_SRQ_PD_HANDLE,
1638c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_SRQ_XRCD_HANDLE,
1648c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_SRQ_CQ_HANDLE,
1658c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_SRQ_USER_HANDLE,
1668c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_SRQ_MAX_WR,
1678c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_SRQ_MAX_SGE,
1688c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_SRQ_LIMIT,
1698c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_SRQ_MAX_NUM_TAGS,
1708c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_SRQ_TYPE,
1718c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_SRQ_EVENT_FD,
1728c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_SRQ_RESP_MAX_WR,
1738c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_SRQ_RESP_MAX_SGE,
1748c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_SRQ_RESP_SRQ_NUM,
1758c2ecf20Sopenharmony_ci};
1768c2ecf20Sopenharmony_ci
1778c2ecf20Sopenharmony_cienum uverbs_attrs_destroy_srq_cmd_attr_ids {
1788c2ecf20Sopenharmony_ci	UVERBS_ATTR_DESTROY_SRQ_HANDLE,
1798c2ecf20Sopenharmony_ci	UVERBS_ATTR_DESTROY_SRQ_RESP,
1808c2ecf20Sopenharmony_ci};
1818c2ecf20Sopenharmony_ci
1828c2ecf20Sopenharmony_cienum uverbs_methods_srq {
1838c2ecf20Sopenharmony_ci	UVERBS_METHOD_SRQ_CREATE,
1848c2ecf20Sopenharmony_ci	UVERBS_METHOD_SRQ_DESTROY,
1858c2ecf20Sopenharmony_ci};
1868c2ecf20Sopenharmony_ci
1878c2ecf20Sopenharmony_cienum uverbs_methods_cq {
1888c2ecf20Sopenharmony_ci	UVERBS_METHOD_CQ_CREATE,
1898c2ecf20Sopenharmony_ci	UVERBS_METHOD_CQ_DESTROY,
1908c2ecf20Sopenharmony_ci};
1918c2ecf20Sopenharmony_ci
1928c2ecf20Sopenharmony_cienum uverbs_attrs_create_wq_cmd_attr_ids {
1938c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_WQ_HANDLE,
1948c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_WQ_PD_HANDLE,
1958c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_WQ_CQ_HANDLE,
1968c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_WQ_USER_HANDLE,
1978c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_WQ_TYPE,
1988c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_WQ_EVENT_FD,
1998c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_WQ_MAX_WR,
2008c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_WQ_MAX_SGE,
2018c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_WQ_FLAGS,
2028c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_WQ_RESP_MAX_WR,
2038c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_WQ_RESP_MAX_SGE,
2048c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_WQ_RESP_WQ_NUM,
2058c2ecf20Sopenharmony_ci};
2068c2ecf20Sopenharmony_ci
2078c2ecf20Sopenharmony_cienum uverbs_attrs_destroy_wq_cmd_attr_ids {
2088c2ecf20Sopenharmony_ci	UVERBS_ATTR_DESTROY_WQ_HANDLE,
2098c2ecf20Sopenharmony_ci	UVERBS_ATTR_DESTROY_WQ_RESP,
2108c2ecf20Sopenharmony_ci};
2118c2ecf20Sopenharmony_ci
2128c2ecf20Sopenharmony_cienum uverbs_methods_wq {
2138c2ecf20Sopenharmony_ci	UVERBS_METHOD_WQ_CREATE,
2148c2ecf20Sopenharmony_ci	UVERBS_METHOD_WQ_DESTROY,
2158c2ecf20Sopenharmony_ci};
2168c2ecf20Sopenharmony_ci
2178c2ecf20Sopenharmony_cienum uverbs_methods_actions_flow_action_ops {
2188c2ecf20Sopenharmony_ci	UVERBS_METHOD_FLOW_ACTION_ESP_CREATE,
2198c2ecf20Sopenharmony_ci	UVERBS_METHOD_FLOW_ACTION_DESTROY,
2208c2ecf20Sopenharmony_ci	UVERBS_METHOD_FLOW_ACTION_ESP_MODIFY,
2218c2ecf20Sopenharmony_ci};
2228c2ecf20Sopenharmony_ci
2238c2ecf20Sopenharmony_cienum uverbs_attrs_alloc_dm_cmd_attr_ids {
2248c2ecf20Sopenharmony_ci	UVERBS_ATTR_ALLOC_DM_HANDLE,
2258c2ecf20Sopenharmony_ci	UVERBS_ATTR_ALLOC_DM_LENGTH,
2268c2ecf20Sopenharmony_ci	UVERBS_ATTR_ALLOC_DM_ALIGNMENT,
2278c2ecf20Sopenharmony_ci};
2288c2ecf20Sopenharmony_ci
2298c2ecf20Sopenharmony_cienum uverbs_attrs_free_dm_cmd_attr_ids {
2308c2ecf20Sopenharmony_ci	UVERBS_ATTR_FREE_DM_HANDLE,
2318c2ecf20Sopenharmony_ci};
2328c2ecf20Sopenharmony_ci
2338c2ecf20Sopenharmony_cienum uverbs_methods_dm {
2348c2ecf20Sopenharmony_ci	UVERBS_METHOD_DM_ALLOC,
2358c2ecf20Sopenharmony_ci	UVERBS_METHOD_DM_FREE,
2368c2ecf20Sopenharmony_ci};
2378c2ecf20Sopenharmony_ci
2388c2ecf20Sopenharmony_cienum uverbs_attrs_reg_dm_mr_cmd_attr_ids {
2398c2ecf20Sopenharmony_ci	UVERBS_ATTR_REG_DM_MR_HANDLE,
2408c2ecf20Sopenharmony_ci	UVERBS_ATTR_REG_DM_MR_OFFSET,
2418c2ecf20Sopenharmony_ci	UVERBS_ATTR_REG_DM_MR_LENGTH,
2428c2ecf20Sopenharmony_ci	UVERBS_ATTR_REG_DM_MR_PD_HANDLE,
2438c2ecf20Sopenharmony_ci	UVERBS_ATTR_REG_DM_MR_ACCESS_FLAGS,
2448c2ecf20Sopenharmony_ci	UVERBS_ATTR_REG_DM_MR_DM_HANDLE,
2458c2ecf20Sopenharmony_ci	UVERBS_ATTR_REG_DM_MR_RESP_LKEY,
2468c2ecf20Sopenharmony_ci	UVERBS_ATTR_REG_DM_MR_RESP_RKEY,
2478c2ecf20Sopenharmony_ci};
2488c2ecf20Sopenharmony_ci
2498c2ecf20Sopenharmony_cienum uverbs_methods_mr {
2508c2ecf20Sopenharmony_ci	UVERBS_METHOD_DM_MR_REG,
2518c2ecf20Sopenharmony_ci	UVERBS_METHOD_MR_DESTROY,
2528c2ecf20Sopenharmony_ci	UVERBS_METHOD_ADVISE_MR,
2538c2ecf20Sopenharmony_ci	UVERBS_METHOD_QUERY_MR,
2548c2ecf20Sopenharmony_ci};
2558c2ecf20Sopenharmony_ci
2568c2ecf20Sopenharmony_cienum uverbs_attrs_mr_destroy_ids {
2578c2ecf20Sopenharmony_ci	UVERBS_ATTR_DESTROY_MR_HANDLE,
2588c2ecf20Sopenharmony_ci};
2598c2ecf20Sopenharmony_ci
2608c2ecf20Sopenharmony_cienum uverbs_attrs_advise_mr_cmd_attr_ids {
2618c2ecf20Sopenharmony_ci	UVERBS_ATTR_ADVISE_MR_PD_HANDLE,
2628c2ecf20Sopenharmony_ci	UVERBS_ATTR_ADVISE_MR_ADVICE,
2638c2ecf20Sopenharmony_ci	UVERBS_ATTR_ADVISE_MR_FLAGS,
2648c2ecf20Sopenharmony_ci	UVERBS_ATTR_ADVISE_MR_SGE_LIST,
2658c2ecf20Sopenharmony_ci};
2668c2ecf20Sopenharmony_ci
2678c2ecf20Sopenharmony_cienum uverbs_attrs_query_mr_cmd_attr_ids {
2688c2ecf20Sopenharmony_ci	UVERBS_ATTR_QUERY_MR_HANDLE,
2698c2ecf20Sopenharmony_ci	UVERBS_ATTR_QUERY_MR_RESP_LKEY,
2708c2ecf20Sopenharmony_ci	UVERBS_ATTR_QUERY_MR_RESP_RKEY,
2718c2ecf20Sopenharmony_ci	UVERBS_ATTR_QUERY_MR_RESP_LENGTH,
2728c2ecf20Sopenharmony_ci	UVERBS_ATTR_QUERY_MR_RESP_IOVA,
2738c2ecf20Sopenharmony_ci};
2748c2ecf20Sopenharmony_ci
2758c2ecf20Sopenharmony_cienum uverbs_attrs_create_counters_cmd_attr_ids {
2768c2ecf20Sopenharmony_ci	UVERBS_ATTR_CREATE_COUNTERS_HANDLE,
2778c2ecf20Sopenharmony_ci};
2788c2ecf20Sopenharmony_ci
2798c2ecf20Sopenharmony_cienum uverbs_attrs_destroy_counters_cmd_attr_ids {
2808c2ecf20Sopenharmony_ci	UVERBS_ATTR_DESTROY_COUNTERS_HANDLE,
2818c2ecf20Sopenharmony_ci};
2828c2ecf20Sopenharmony_ci
2838c2ecf20Sopenharmony_cienum uverbs_attrs_read_counters_cmd_attr_ids {
2848c2ecf20Sopenharmony_ci	UVERBS_ATTR_READ_COUNTERS_HANDLE,
2858c2ecf20Sopenharmony_ci	UVERBS_ATTR_READ_COUNTERS_BUFF,
2868c2ecf20Sopenharmony_ci	UVERBS_ATTR_READ_COUNTERS_FLAGS,
2878c2ecf20Sopenharmony_ci};
2888c2ecf20Sopenharmony_ci
2898c2ecf20Sopenharmony_cienum uverbs_methods_actions_counters_ops {
2908c2ecf20Sopenharmony_ci	UVERBS_METHOD_COUNTERS_CREATE,
2918c2ecf20Sopenharmony_ci	UVERBS_METHOD_COUNTERS_DESTROY,
2928c2ecf20Sopenharmony_ci	UVERBS_METHOD_COUNTERS_READ,
2938c2ecf20Sopenharmony_ci};
2948c2ecf20Sopenharmony_ci
2958c2ecf20Sopenharmony_cienum uverbs_attrs_info_handles_id {
2968c2ecf20Sopenharmony_ci	UVERBS_ATTR_INFO_OBJECT_ID,
2978c2ecf20Sopenharmony_ci	UVERBS_ATTR_INFO_TOTAL_HANDLES,
2988c2ecf20Sopenharmony_ci	UVERBS_ATTR_INFO_HANDLES_LIST,
2998c2ecf20Sopenharmony_ci};
3008c2ecf20Sopenharmony_ci
3018c2ecf20Sopenharmony_cienum uverbs_methods_pd {
3028c2ecf20Sopenharmony_ci	UVERBS_METHOD_PD_DESTROY,
3038c2ecf20Sopenharmony_ci};
3048c2ecf20Sopenharmony_ci
3058c2ecf20Sopenharmony_cienum uverbs_attrs_pd_destroy_ids {
3068c2ecf20Sopenharmony_ci	UVERBS_ATTR_DESTROY_PD_HANDLE,
3078c2ecf20Sopenharmony_ci};
3088c2ecf20Sopenharmony_ci
3098c2ecf20Sopenharmony_cienum uverbs_methods_mw {
3108c2ecf20Sopenharmony_ci	UVERBS_METHOD_MW_DESTROY,
3118c2ecf20Sopenharmony_ci};
3128c2ecf20Sopenharmony_ci
3138c2ecf20Sopenharmony_cienum uverbs_attrs_mw_destroy_ids {
3148c2ecf20Sopenharmony_ci	UVERBS_ATTR_DESTROY_MW_HANDLE,
3158c2ecf20Sopenharmony_ci};
3168c2ecf20Sopenharmony_ci
3178c2ecf20Sopenharmony_cienum uverbs_methods_xrcd {
3188c2ecf20Sopenharmony_ci	UVERBS_METHOD_XRCD_DESTROY,
3198c2ecf20Sopenharmony_ci};
3208c2ecf20Sopenharmony_ci
3218c2ecf20Sopenharmony_cienum uverbs_attrs_xrcd_destroy_ids {
3228c2ecf20Sopenharmony_ci	UVERBS_ATTR_DESTROY_XRCD_HANDLE,
3238c2ecf20Sopenharmony_ci};
3248c2ecf20Sopenharmony_ci
3258c2ecf20Sopenharmony_cienum uverbs_methods_ah {
3268c2ecf20Sopenharmony_ci	UVERBS_METHOD_AH_DESTROY,
3278c2ecf20Sopenharmony_ci};
3288c2ecf20Sopenharmony_ci
3298c2ecf20Sopenharmony_cienum uverbs_attrs_ah_destroy_ids {
3308c2ecf20Sopenharmony_ci	UVERBS_ATTR_DESTROY_AH_HANDLE,
3318c2ecf20Sopenharmony_ci};
3328c2ecf20Sopenharmony_ci
3338c2ecf20Sopenharmony_cienum uverbs_methods_rwq_ind_tbl {
3348c2ecf20Sopenharmony_ci	UVERBS_METHOD_RWQ_IND_TBL_DESTROY,
3358c2ecf20Sopenharmony_ci};
3368c2ecf20Sopenharmony_ci
3378c2ecf20Sopenharmony_cienum uverbs_attrs_rwq_ind_tbl_destroy_ids {
3388c2ecf20Sopenharmony_ci	UVERBS_ATTR_DESTROY_RWQ_IND_TBL_HANDLE,
3398c2ecf20Sopenharmony_ci};
3408c2ecf20Sopenharmony_ci
3418c2ecf20Sopenharmony_cienum uverbs_methods_flow {
3428c2ecf20Sopenharmony_ci	UVERBS_METHOD_FLOW_DESTROY,
3438c2ecf20Sopenharmony_ci};
3448c2ecf20Sopenharmony_ci
3458c2ecf20Sopenharmony_cienum uverbs_attrs_flow_destroy_ids {
3468c2ecf20Sopenharmony_ci	UVERBS_ATTR_DESTROY_FLOW_HANDLE,
3478c2ecf20Sopenharmony_ci};
3488c2ecf20Sopenharmony_ci
3498c2ecf20Sopenharmony_cienum uverbs_method_async_event {
3508c2ecf20Sopenharmony_ci	UVERBS_METHOD_ASYNC_EVENT_ALLOC,
3518c2ecf20Sopenharmony_ci};
3528c2ecf20Sopenharmony_ci
3538c2ecf20Sopenharmony_cienum uverbs_attrs_async_event_create {
3548c2ecf20Sopenharmony_ci	UVERBS_ATTR_ASYNC_EVENT_ALLOC_FD_HANDLE,
3558c2ecf20Sopenharmony_ci};
3568c2ecf20Sopenharmony_ci
3578c2ecf20Sopenharmony_cienum uverbs_attrs_query_gid_table_cmd_attr_ids {
3588c2ecf20Sopenharmony_ci	UVERBS_ATTR_QUERY_GID_TABLE_ENTRY_SIZE,
3598c2ecf20Sopenharmony_ci	UVERBS_ATTR_QUERY_GID_TABLE_FLAGS,
3608c2ecf20Sopenharmony_ci	UVERBS_ATTR_QUERY_GID_TABLE_RESP_ENTRIES,
3618c2ecf20Sopenharmony_ci	UVERBS_ATTR_QUERY_GID_TABLE_RESP_NUM_ENTRIES,
3628c2ecf20Sopenharmony_ci};
3638c2ecf20Sopenharmony_ci
3648c2ecf20Sopenharmony_cienum uverbs_attrs_query_gid_entry_cmd_attr_ids {
3658c2ecf20Sopenharmony_ci	UVERBS_ATTR_QUERY_GID_ENTRY_PORT,
3668c2ecf20Sopenharmony_ci	UVERBS_ATTR_QUERY_GID_ENTRY_GID_INDEX,
3678c2ecf20Sopenharmony_ci	UVERBS_ATTR_QUERY_GID_ENTRY_FLAGS,
3688c2ecf20Sopenharmony_ci	UVERBS_ATTR_QUERY_GID_ENTRY_RESP_ENTRY,
3698c2ecf20Sopenharmony_ci};
3708c2ecf20Sopenharmony_ci
3718c2ecf20Sopenharmony_ci#endif
372