linux/include/linux/mlx5/mlx5_ifc.h

/*
 * Copyright (c) 2013-2015, Mellanox Technologies, Ltd.  All rights reserved.
 *
 * This software is available to you under a choice of one of two
 * licenses.  You may choose to be licensed under the terms of the GNU
 * General Public License (GPL) Version 2, available from the file
 * COPYING in the main directory of this source tree, or the
 * OpenIB.org BSD license below:
 *
 *     Redistribution and use in source and binary forms, with or
 *     without modification, are permitted provided that the following
 *     conditions are met:
 *
 *      - Redistributions of source code must retain the above
 *        copyright notice, this list of conditions and the following
 *        disclaimer.
 *
 *      - Redistributions in binary form must reproduce the above
 *        copyright notice, this list of conditions and the following
 *        disclaimer in the documentation and/or other materials
 *        provided with the distribution.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
*/
#ifndef MLX5_IFC_H
#define MLX5_IFC_H

#include "mlx5_ifc_fpga.h"

enum {};

enum {};

enum {};

enum {};

enum {};

enum {};

/* Valid range for general commands that don't work over an object */
enum {};

enum {};

enum {};

struct mlx5_ifc_flow_table_fields_supported_bits {};

/* Table 2170 - Flow Table Fields Supported 2 Format */
struct mlx5_ifc_flow_table_fields_supported_2_bits {};

struct mlx5_ifc_flow_table_prop_layout_bits {};

struct mlx5_ifc_odp_per_transport_service_cap_bits {};

struct mlx5_ifc_ipv4_layout_bits {};

struct mlx5_ifc_ipv6_layout_bits {};

struct mlx5_ifc_ipv6_simple_layout_bits {};

mlx5_ifc_ipv6_layout_ipv4_layout_auto_bits;

enum {};

struct mlx5_ifc_fte_match_set_lyr_2_4_bits {};

struct mlx5_ifc_nvgre_key_bits {};

mlx5_ifc_gre_key_bits;

struct mlx5_ifc_fte_match_set_misc_bits {};

struct mlx5_ifc_fte_match_mpls_bits {};

struct mlx5_ifc_fte_match_set_misc2_bits {};

struct mlx5_ifc_fte_match_set_misc3_bits {};

struct mlx5_ifc_fte_match_set_misc4_bits {};

struct mlx5_ifc_fte_match_set_misc5_bits {};

struct mlx5_ifc_cmd_pas_bits {};

struct mlx5_ifc_uint64_bits {};

enum {};

struct mlx5_ifc_ads_bits {};

struct mlx5_ifc_flow_table_nic_cap_bits {};

struct mlx5_ifc_port_selection_cap_bits {};

enum {};

struct mlx5_ifc_flow_table_eswitch_cap_bits {};

struct mlx5_ifc_wqe_based_flow_table_cap_bits {};

struct mlx5_ifc_esw_cap_bits {};

enum {};

struct mlx5_ifc_e_switch_cap_bits {};

struct mlx5_ifc_qos_cap_bits {};

struct mlx5_ifc_debug_cap_bits {};

struct mlx5_ifc_per_protocol_networking_offload_caps_bits {};

enum {};

struct mlx5_ifc_roce_cap_bits {};

struct mlx5_ifc_sync_steering_in_bits {};

struct mlx5_ifc_sync_steering_out_bits {};

struct mlx5_ifc_sync_crypto_in_bits {};

struct mlx5_ifc_sync_crypto_out_bits {};

struct mlx5_ifc_device_mem_cap_bits {};

struct mlx5_ifc_device_event_cap_bits {};

struct mlx5_ifc_virtio_emulation_cap_bits {};

enum {};

enum {};

struct mlx5_ifc_atomic_caps_bits {};

struct mlx5_ifc_odp_scheme_cap_bits {};

struct mlx5_ifc_odp_cap_bits {};

struct mlx5_ifc_tls_cap_bits {};

struct mlx5_ifc_ipsec_cap_bits {};

struct mlx5_ifc_macsec_cap_bits {};

enum {};

enum {};

enum {};

enum {};

enum {};

enum {};

enum {};

enum {};

enum {};

enum {};

#define MLX5_FC_BULK_SIZE_FACTOR

enum mlx5_fc_bulk_alloc_bitmask {};

#define MLX5_FC_BULK_NUM_FCS(fc_enum)

#define MLX5_FT_MAX_MULTIPATH_LEVEL

enum {};

struct mlx5_ifc_cmd_hca_cap_bits {};

enum {};

enum {};

struct mlx5_ifc_cmd_hca_cap_2_bits {};

enum mlx5_ifc_flow_destination_type {};

enum mlx5_flow_table_miss_action {};

struct mlx5_ifc_dest_format_struct_bits {};

struct mlx5_ifc_flow_counter_list_bits {};

struct mlx5_ifc_extended_dest_format_bits {};

mlx5_ifc_dest_format_flow_counter_list_auto_bits;

struct mlx5_ifc_fte_match_param_bits {};

enum {};

struct mlx5_ifc_rx_hash_field_select_bits {};

enum {};

enum {};

struct mlx5_ifc_wq_bits {};

struct mlx5_ifc_rq_num_bits {};

struct mlx5_ifc_rq_vhca_bits {};

struct mlx5_ifc_mac_address_layout_bits {};

struct mlx5_ifc_vlan_layout_bits {};

struct mlx5_ifc_cong_control_r_roce_ecn_np_bits {};

struct mlx5_ifc_cong_control_r_roce_ecn_rp_bits {};

struct mlx5_ifc_cong_control_r_roce_general_bits {};

struct mlx5_ifc_cong_control_802_1qau_rp_bits {};

enum {};

struct mlx5_ifc_resize_field_select_bits {};

struct mlx5_ifc_resource_dump_bits {};

struct mlx5_ifc_resource_dump_menu_record_bits {};

struct mlx5_ifc_resource_dump_segment_header_bits {};

struct mlx5_ifc_resource_dump_command_segment_bits {};

struct mlx5_ifc_resource_dump_error_segment_bits {};

struct mlx5_ifc_resource_dump_info_segment_bits {};

struct mlx5_ifc_resource_dump_menu_segment_bits {};

struct mlx5_ifc_resource_dump_resource_segment_bits {};

struct mlx5_ifc_resource_dump_terminate_segment_bits {};

struct mlx5_ifc_menu_resource_dump_response_bits {};

enum {};

struct mlx5_ifc_modify_field_select_bits {};

struct mlx5_ifc_field_select_r_roce_np_bits {};

struct mlx5_ifc_field_select_r_roce_rp_bits {};

enum {};

struct mlx5_ifc_field_select_802_1qau_rp_bits {};

struct mlx5_ifc_phys_layer_cntrs_bits {};

struct mlx5_ifc_phys_layer_statistical_cntrs_bits {};

struct mlx5_ifc_ib_port_cntrs_grp_data_layout_bits {};

struct mlx5_ifc_ib_ext_port_cntrs_grp_data_layout_bits {};

struct mlx5_ifc_eth_per_tc_prio_grp_data_layout_bits {};

struct mlx5_ifc_eth_per_tc_congest_prio_grp_data_layout_bits {};

struct mlx5_ifc_eth_per_prio_grp_data_layout_bits {};

struct mlx5_ifc_eth_extended_cntrs_grp_data_layout_bits {};

struct mlx5_ifc_eth_3635_cntrs_grp_data_layout_bits {};

struct mlx5_ifc_eth_2819_cntrs_grp_data_layout_bits {};

struct mlx5_ifc_eth_2863_cntrs_grp_data_layout_bits {};

struct mlx5_ifc_eth_802_3_cntrs_grp_data_layout_bits {};

struct mlx5_ifc_pcie_perf_cntrs_grp_data_layout_bits {};

struct mlx5_ifc_cmd_inter_comp_event_bits {};

struct mlx5_ifc_stall_vl_event_bits {};

struct mlx5_ifc_db_bf_congestion_event_bits {};

struct mlx5_ifc_gpio_event_bits {};

struct mlx5_ifc_port_state_change_event_bits {};

struct mlx5_ifc_dropped_packet_logged_bits {};

struct mlx5_ifc_default_timeout_bits {};

struct mlx5_ifc_dtor_reg_bits {};

enum {};

struct mlx5_ifc_cq_error_bits {};

struct mlx5_ifc_rdma_page_fault_event_bits {};

struct mlx5_ifc_wqe_associated_page_fault_event_bits {};

struct mlx5_ifc_qp_events_bits {};

struct mlx5_ifc_dct_events_bits {};

struct mlx5_ifc_comp_event_bits {};

enum {};

enum {};

enum {};

enum {};

enum {};

enum {};

enum {};

enum {};

enum {};

enum {};

struct mlx5_ifc_qpc_bits {};

struct mlx5_ifc_roce_addr_layout_bits {};

struct mlx5_ifc_crypto_cap_bits {};

mlx5_ifc_hca_cap_union_bits;

enum {};

enum {};

enum {};

struct mlx5_ifc_vlan_bits {};

enum {};

enum {};

struct mlx5_ifc_exe_aso_ctrl_flow_meter_bits {};

mlx5_ifc_exe_aso_ctrl;

struct mlx5_ifc_execute_aso_bits {};

struct mlx5_ifc_flow_context_bits {};

enum {};

struct mlx5_ifc_xrc_srqc_bits {};

struct mlx5_ifc_vnic_diagnostic_statistics_bits {};

struct mlx5_ifc_traffic_counter_bits {};

struct mlx5_ifc_tisc_bits {};

enum {};

enum {};

enum {};

enum {};

struct mlx5_ifc_tirc_bits {};

enum {};

struct mlx5_ifc_srqc_bits {};

enum {};

struct mlx5_ifc_sqc_bits {};

enum {};

enum {};

struct mlx5_ifc_scheduling_context_bits {};

struct mlx5_ifc_rqtc_bits {};

enum {};

enum {};

enum {};

enum {};

struct mlx5_ifc_rqc_bits {};

enum {};

struct mlx5_ifc_rmpc_bits {};

enum {};

struct mlx5_ifc_nic_vport_context_bits {};

enum {};

struct mlx5_ifc_mkc_bits {};

struct mlx5_ifc_pkey_bits {};

struct mlx5_ifc_array128_auto_bits {};

struct mlx5_ifc_hca_vport_context_bits {};

struct mlx5_ifc_esw_vport_context_bits {};

enum {};

enum {};

struct mlx5_ifc_eqc_bits {};

enum {};

enum {};

enum {};

struct mlx5_ifc_dctc_bits {};

enum {};

enum {};

enum {};

enum mlx5_cq_period_mode {};

struct mlx5_ifc_cqc_bits {};

mlx5_ifc_cong_control_roce_ecn_auto_bits;

struct mlx5_ifc_query_adapter_param_block_bits {};

enum {};

enum {};

enum {};

struct mlx5_ifc_tag_matching_topology_context_bits {};

struct mlx5_ifc_xrqc_bits {};

mlx5_ifc_modify_field_select_resize_field_select_auto_bits;

mlx5_ifc_field_select_802_1_r_roce_auto_bits;

mlx5_ifc_eth_cntrs_grp_data_layout_auto_bits;

mlx5_ifc_pcie_cntrs_grp_data_layout_auto_bits;

mlx5_ifc_event_auto_bits;

struct mlx5_ifc_health_buffer_bits {};

struct mlx5_ifc_register_loopback_control_bits {};

struct mlx5_ifc_vport_tc_element_bits {};

struct mlx5_ifc_vport_element_bits {};

enum {};

enum {};

struct mlx5_ifc_tsar_element_bits {};

enum {};

struct mlx5_ifc_teardown_hca_out_bits {};

enum {};

struct mlx5_ifc_teardown_hca_in_bits {};

struct mlx5_ifc_sqerr2rts_qp_out_bits {};

struct mlx5_ifc_sqerr2rts_qp_in_bits {};

struct mlx5_ifc_sqd2rts_qp_out_bits {};

struct mlx5_ifc_sqd2rts_qp_in_bits {};

struct mlx5_ifc_set_roce_address_out_bits {};

struct mlx5_ifc_set_roce_address_in_bits {};

struct mlx5_ifc_set_mad_demux_out_bits {};

enum {};

struct mlx5_ifc_set_mad_demux_in_bits {};

struct mlx5_ifc_set_l2_table_entry_out_bits {};

struct mlx5_ifc_set_l2_table_entry_in_bits {};

struct mlx5_ifc_set_issi_out_bits {};

struct mlx5_ifc_set_issi_in_bits {};

struct mlx5_ifc_set_hca_cap_out_bits {};

struct mlx5_ifc_set_hca_cap_in_bits {};

enum {};

struct mlx5_ifc_set_fte_out_bits {};

struct mlx5_ifc_set_fte_in_bits {};

struct mlx5_ifc_dest_format_bits {};

struct mlx5_ifc_rts2rts_qp_out_bits {};

struct mlx5_ifc_rts2rts_qp_in_bits {};

struct mlx5_ifc_rtr2rts_qp_out_bits {};

struct mlx5_ifc_rtr2rts_qp_in_bits {};

struct mlx5_ifc_rst2init_qp_out_bits {};

struct mlx5_ifc_rst2init_qp_in_bits {};

struct mlx5_ifc_query_xrq_out_bits {};

struct mlx5_ifc_query_xrq_in_bits {};

struct mlx5_ifc_query_xrc_srq_out_bits {};

struct mlx5_ifc_query_xrc_srq_in_bits {};

enum {};

struct mlx5_ifc_query_vport_state_out_bits {};

struct mlx5_ifc_array1024_auto_bits {};

struct mlx5_ifc_query_vuid_in_bits {};

struct mlx5_ifc_query_vuid_out_bits {};

enum {};

struct mlx5_ifc_arm_monitor_counter_in_bits {};

struct mlx5_ifc_arm_monitor_counter_out_bits {};

enum {};

enum mlx5_monitor_counter_ppcnt {};

enum {};

struct mlx5_ifc_monitor_counter_output_bits {};

#define MLX5_CMD_SET_MONITOR_NUM_PPCNT_COUNTER_SET1
#define MLX5_CMD_SET_MONITOR_NUM_Q_COUNTERS_SET1
#define MLX5_CMD_SET_MONITOR_NUM_COUNTER

struct mlx5_ifc_set_monitor_counter_in_bits {};

struct mlx5_ifc_set_monitor_counter_out_bits {};

struct mlx5_ifc_query_vport_state_in_bits {};

struct mlx5_ifc_query_vnic_env_out_bits {};

enum {};

struct mlx5_ifc_query_vnic_env_in_bits {};

struct mlx5_ifc_query_vport_counter_out_bits {};

enum {};

struct mlx5_ifc_query_vport_counter_in_bits {};

struct mlx5_ifc_query_tis_out_bits {};

struct mlx5_ifc_query_tis_in_bits {};

struct mlx5_ifc_query_tir_out_bits {};

struct mlx5_ifc_query_tir_in_bits {};

struct mlx5_ifc_query_srq_out_bits {};

struct mlx5_ifc_query_srq_in_bits {};

struct mlx5_ifc_query_sq_out_bits {};

struct mlx5_ifc_query_sq_in_bits {};

struct mlx5_ifc_query_special_contexts_out_bits {};

struct mlx5_ifc_query_special_contexts_in_bits {};

struct mlx5_ifc_query_scheduling_element_out_bits {};

enum {};

struct mlx5_ifc_query_scheduling_element_in_bits {};

struct mlx5_ifc_query_rqt_out_bits {};

struct mlx5_ifc_query_rqt_in_bits {};

struct mlx5_ifc_query_rq_out_bits {};

struct mlx5_ifc_query_rq_in_bits {};

struct mlx5_ifc_query_roce_address_out_bits {};

struct mlx5_ifc_query_roce_address_in_bits {};

struct mlx5_ifc_query_rmp_out_bits {};

struct mlx5_ifc_query_rmp_in_bits {};

struct mlx5_ifc_cqe_error_syndrome_bits {};

struct mlx5_ifc_qp_context_extension_bits {};

struct mlx5_ifc_qpc_extension_and_pas_list_in_bits {};

struct mlx5_ifc_qp_pas_list_in_bits {};

mlx5_ifc_qp_pas_or_qpc_ext_and_pas_bits;

struct mlx5_ifc_query_qp_out_bits {};

struct mlx5_ifc_query_qp_in_bits {};

struct mlx5_ifc_query_q_counter_out_bits {};

struct mlx5_ifc_query_q_counter_in_bits {};

struct mlx5_ifc_query_pages_out_bits {};

enum {};

struct mlx5_ifc_query_pages_in_bits {};

struct mlx5_ifc_query_nic_vport_context_out_bits {};

struct mlx5_ifc_query_nic_vport_context_in_bits {};

struct mlx5_ifc_query_mkey_out_bits {};

struct mlx5_ifc_query_mkey_in_bits {};

struct mlx5_ifc_query_mad_demux_out_bits {};

struct mlx5_ifc_query_mad_demux_in_bits {};

struct mlx5_ifc_query_l2_table_entry_out_bits {};

struct mlx5_ifc_query_l2_table_entry_in_bits {};

struct mlx5_ifc_query_issi_out_bits {};

struct mlx5_ifc_query_issi_in_bits {};

struct mlx5_ifc_set_driver_version_out_bits {};

struct mlx5_ifc_set_driver_version_in_bits {};

struct mlx5_ifc_query_hca_vport_pkey_out_bits {};

struct mlx5_ifc_query_hca_vport_pkey_in_bits {};

enum {};

struct mlx5_ifc_query_hca_vport_gid_out_bits {};

struct mlx5_ifc_query_hca_vport_gid_in_bits {};

struct mlx5_ifc_query_hca_vport_context_out_bits {};

struct mlx5_ifc_query_hca_vport_context_in_bits {};

struct mlx5_ifc_query_hca_cap_out_bits {};

struct mlx5_ifc_query_hca_cap_in_bits {};

struct mlx5_ifc_other_hca_cap_bits {};

struct mlx5_ifc_query_other_hca_cap_out_bits {};

struct mlx5_ifc_query_other_hca_cap_in_bits {};

struct mlx5_ifc_modify_other_hca_cap_out_bits {};

struct mlx5_ifc_modify_other_hca_cap_in_bits {};

struct mlx5_ifc_flow_table_context_bits {};

struct mlx5_ifc_query_flow_table_out_bits {};

struct mlx5_ifc_query_flow_table_in_bits {};

struct mlx5_ifc_query_fte_out_bits {};

struct mlx5_ifc_query_fte_in_bits {};

struct mlx5_ifc_match_definer_format_0_bits {};

struct mlx5_ifc_match_definer_format_22_bits {};

struct mlx5_ifc_match_definer_format_23_bits {};

struct mlx5_ifc_match_definer_format_29_bits {};

struct mlx5_ifc_match_definer_format_30_bits {};

struct mlx5_ifc_match_definer_format_31_bits {};

struct mlx5_ifc_match_definer_format_32_bits {};

enum {};

#define MLX5_IFC_DEFINER_FORMAT_OFFSET_UNUSED
#define MLX5_IFC_DEFINER_FORMAT_OFFSET_OUTER_ETH_PKT_LEN
#define MLX5_IFC_DEFINER_DW_SELECTORS_NUM
#define MLX5_IFC_DEFINER_BYTE_SELECTORS_NUM

struct mlx5_ifc_match_definer_match_mask_bits {};

struct mlx5_ifc_match_definer_bits {};

struct mlx5_ifc_general_obj_create_param_bits {};

struct mlx5_ifc_general_obj_query_param_bits {};

struct mlx5_ifc_general_obj_in_cmd_hdr_bits {};

struct mlx5_ifc_general_obj_out_cmd_hdr_bits {};

struct mlx5_ifc_allow_other_vhca_access_in_bits {};

struct mlx5_ifc_allow_other_vhca_access_out_bits {};

struct mlx5_ifc_modify_header_arg_bits {};

struct mlx5_ifc_create_modify_header_arg_in_bits {};

struct mlx5_ifc_create_match_definer_in_bits {};

struct mlx5_ifc_create_match_definer_out_bits {};

struct mlx5_ifc_alias_context_bits {};

struct mlx5_ifc_create_alias_obj_in_bits {};

enum {};

struct mlx5_ifc_query_flow_group_out_bits {};

struct mlx5_ifc_query_flow_group_in_bits {};

struct mlx5_ifc_query_flow_counter_out_bits {};

struct mlx5_ifc_query_flow_counter_in_bits {};

struct mlx5_ifc_query_esw_vport_context_out_bits {};

struct mlx5_ifc_query_esw_vport_context_in_bits {};

struct mlx5_ifc_modify_esw_vport_context_out_bits {};

struct mlx5_ifc_esw_vport_context_fields_select_bits {};

struct mlx5_ifc_modify_esw_vport_context_in_bits {};

struct mlx5_ifc_query_eq_out_bits {};

struct mlx5_ifc_query_eq_in_bits {};

struct mlx5_ifc_packet_reformat_context_in_bits {};

struct mlx5_ifc_query_packet_reformat_context_out_bits {};

struct mlx5_ifc_query_packet_reformat_context_in_bits {};

struct mlx5_ifc_alloc_packet_reformat_context_out_bits {};

enum {};

enum mlx5_reformat_ctx_type {};

struct mlx5_ifc_alloc_packet_reformat_context_in_bits {};

struct mlx5_ifc_dealloc_packet_reformat_context_out_bits {};

struct mlx5_ifc_dealloc_packet_reformat_context_in_bits {};

struct mlx5_ifc_set_action_in_bits {};

struct mlx5_ifc_add_action_in_bits {};

struct mlx5_ifc_copy_action_in_bits {};

mlx5_ifc_set_add_copy_action_in_auto_bits;

enum {};

enum {};

struct mlx5_ifc_alloc_modify_header_context_out_bits {};

struct mlx5_ifc_alloc_modify_header_context_in_bits {};

struct mlx5_ifc_dealloc_modify_header_context_out_bits {};

struct mlx5_ifc_dealloc_modify_header_context_in_bits {};

struct mlx5_ifc_query_modify_header_context_in_bits {};

struct mlx5_ifc_query_dct_out_bits {};

struct mlx5_ifc_query_dct_in_bits {};

struct mlx5_ifc_query_cq_out_bits {};

struct mlx5_ifc_query_cq_in_bits {};

struct mlx5_ifc_query_cong_status_out_bits {};

struct mlx5_ifc_query_cong_status_in_bits {};

struct mlx5_ifc_query_cong_statistics_out_bits {};

struct mlx5_ifc_query_cong_statistics_in_bits {};

struct mlx5_ifc_query_cong_params_out_bits {};

struct mlx5_ifc_query_cong_params_in_bits {};

struct mlx5_ifc_query_adapter_out_bits {};

struct mlx5_ifc_query_adapter_in_bits {};

struct mlx5_ifc_qp_2rst_out_bits {};

struct mlx5_ifc_qp_2rst_in_bits {};

struct mlx5_ifc_qp_2err_out_bits {};

struct mlx5_ifc_qp_2err_in_bits {};

struct mlx5_ifc_trans_page_fault_info_bits {};

struct mlx5_ifc_mem_page_fault_info_bits {};

mlx5_ifc_page_fault_resume_in_page_fault_info_auto_bits;

struct mlx5_ifc_page_fault_resume_out_bits {};

struct mlx5_ifc_page_fault_resume_in_bits {};

struct mlx5_ifc_nop_out_bits {};

struct mlx5_ifc_nop_in_bits {};

struct mlx5_ifc_modify_vport_state_out_bits {};

struct mlx5_ifc_modify_vport_state_in_bits {};

struct mlx5_ifc_modify_tis_out_bits {};

struct mlx5_ifc_modify_tis_bitmask_bits {};

struct mlx5_ifc_modify_tis_in_bits {};

struct mlx5_ifc_modify_tir_bitmask_bits {};

struct mlx5_ifc_modify_tir_out_bits {};

struct mlx5_ifc_modify_tir_in_bits {};

struct mlx5_ifc_modify_sq_out_bits {};

struct mlx5_ifc_modify_sq_in_bits {};

struct mlx5_ifc_modify_scheduling_element_out_bits {};

enum {};

struct mlx5_ifc_modify_scheduling_element_in_bits {};

struct mlx5_ifc_modify_rqt_out_bits {};

struct mlx5_ifc_rqt_bitmask_bits {};

struct mlx5_ifc_modify_rqt_in_bits {};

struct mlx5_ifc_modify_rq_out_bits {};

enum {};

struct mlx5_ifc_modify_rq_in_bits {};

struct mlx5_ifc_modify_rmp_out_bits {};

struct mlx5_ifc_rmp_bitmask_bits {};

struct mlx5_ifc_modify_rmp_in_bits {};

struct mlx5_ifc_modify_nic_vport_context_out_bits {};

struct mlx5_ifc_modify_nic_vport_field_select_bits {};

struct mlx5_ifc_modify_nic_vport_context_in_bits {};

struct mlx5_ifc_modify_hca_vport_context_out_bits {};

struct mlx5_ifc_modify_hca_vport_context_in_bits {};

struct mlx5_ifc_modify_cq_out_bits {};

enum {};

struct mlx5_ifc_modify_cq_in_bits {};

struct mlx5_ifc_modify_cong_status_out_bits {};

struct mlx5_ifc_modify_cong_status_in_bits {};

struct mlx5_ifc_modify_cong_params_out_bits {};

struct mlx5_ifc_modify_cong_params_in_bits {};

struct mlx5_ifc_manage_pages_out_bits {};

enum {};

struct mlx5_ifc_manage_pages_in_bits {};

struct mlx5_ifc_mad_ifc_out_bits {};

struct mlx5_ifc_mad_ifc_in_bits {};

struct mlx5_ifc_init_hca_out_bits {};

struct mlx5_ifc_init_hca_in_bits {};

struct mlx5_ifc_init2rtr_qp_out_bits {};

struct mlx5_ifc_init2rtr_qp_in_bits {};

struct mlx5_ifc_init2init_qp_out_bits {};

struct mlx5_ifc_init2init_qp_in_bits {};

struct mlx5_ifc_get_dropped_packet_log_out_bits {};

struct mlx5_ifc_get_dropped_packet_log_in_bits {};

struct mlx5_ifc_gen_eqe_in_bits {};

struct mlx5_ifc_gen_eq_out_bits {};

struct mlx5_ifc_enable_hca_out_bits {};

struct mlx5_ifc_enable_hca_in_bits {};

struct mlx5_ifc_drain_dct_out_bits {};

struct mlx5_ifc_drain_dct_in_bits {};

struct mlx5_ifc_disable_hca_out_bits {};

struct mlx5_ifc_disable_hca_in_bits {};

struct mlx5_ifc_detach_from_mcg_out_bits {};

struct mlx5_ifc_detach_from_mcg_in_bits {};

struct mlx5_ifc_destroy_xrq_out_bits {};

struct mlx5_ifc_destroy_xrq_in_bits {};

struct mlx5_ifc_destroy_xrc_srq_out_bits {};

struct mlx5_ifc_destroy_xrc_srq_in_bits {};

struct mlx5_ifc_destroy_tis_out_bits {};

struct mlx5_ifc_destroy_tis_in_bits {};

struct mlx5_ifc_destroy_tir_out_bits {};

struct mlx5_ifc_destroy_tir_in_bits {};

struct mlx5_ifc_destroy_srq_out_bits {};

struct mlx5_ifc_destroy_srq_in_bits {};

struct mlx5_ifc_destroy_sq_out_bits {};

struct mlx5_ifc_destroy_sq_in_bits {};

struct mlx5_ifc_destroy_scheduling_element_out_bits {};

struct mlx5_ifc_destroy_scheduling_element_in_bits {};

struct mlx5_ifc_destroy_rqt_out_bits {};

struct mlx5_ifc_destroy_rqt_in_bits {};

struct mlx5_ifc_destroy_rq_out_bits {};

struct mlx5_ifc_destroy_rq_in_bits {};

struct mlx5_ifc_set_delay_drop_params_in_bits {};

struct mlx5_ifc_set_delay_drop_params_out_bits {};

struct mlx5_ifc_destroy_rmp_out_bits {};

struct mlx5_ifc_destroy_rmp_in_bits {};

struct mlx5_ifc_destroy_qp_out_bits {};

struct mlx5_ifc_destroy_qp_in_bits {};

struct mlx5_ifc_destroy_psv_out_bits {};

struct mlx5_ifc_destroy_psv_in_bits {};

struct mlx5_ifc_destroy_mkey_out_bits {};

struct mlx5_ifc_destroy_mkey_in_bits {};

struct mlx5_ifc_destroy_flow_table_out_bits {};

struct mlx5_ifc_destroy_flow_table_in_bits {};

struct mlx5_ifc_destroy_flow_group_out_bits {};

struct mlx5_ifc_destroy_flow_group_in_bits {};

struct mlx5_ifc_destroy_eq_out_bits {};

struct mlx5_ifc_destroy_eq_in_bits {};

struct mlx5_ifc_destroy_dct_out_bits {};

struct mlx5_ifc_destroy_dct_in_bits {};

struct mlx5_ifc_destroy_cq_out_bits {};

struct mlx5_ifc_destroy_cq_in_bits {};

struct mlx5_ifc_delete_vxlan_udp_dport_out_bits {};

struct mlx5_ifc_delete_vxlan_udp_dport_in_bits {};

struct mlx5_ifc_delete_l2_table_entry_out_bits {};

struct mlx5_ifc_delete_l2_table_entry_in_bits {};

struct mlx5_ifc_delete_fte_out_bits {};

struct mlx5_ifc_delete_fte_in_bits {};

struct mlx5_ifc_dealloc_xrcd_out_bits {};

struct mlx5_ifc_dealloc_xrcd_in_bits {};

struct mlx5_ifc_dealloc_uar_out_bits {};

struct mlx5_ifc_dealloc_uar_in_bits {};

struct mlx5_ifc_dealloc_transport_domain_out_bits {};

struct mlx5_ifc_dealloc_transport_domain_in_bits {};

struct mlx5_ifc_dealloc_q_counter_out_bits {};

struct mlx5_ifc_dealloc_q_counter_in_bits {};

struct mlx5_ifc_dealloc_pd_out_bits {};

struct mlx5_ifc_dealloc_pd_in_bits {};

struct mlx5_ifc_dealloc_flow_counter_out_bits {};

struct mlx5_ifc_dealloc_flow_counter_in_bits {};

struct mlx5_ifc_create_xrq_out_bits {};

struct mlx5_ifc_create_xrq_in_bits {};

struct mlx5_ifc_create_xrc_srq_out_bits {};

struct mlx5_ifc_create_xrc_srq_in_bits {};

struct mlx5_ifc_create_tis_out_bits {};

struct mlx5_ifc_create_tis_in_bits {};

struct mlx5_ifc_create_tir_out_bits {};

struct mlx5_ifc_create_tir_in_bits {};

struct mlx5_ifc_create_srq_out_bits {};

struct mlx5_ifc_create_srq_in_bits {};

struct mlx5_ifc_create_sq_out_bits {};

struct mlx5_ifc_create_sq_in_bits {};

struct mlx5_ifc_create_scheduling_element_out_bits {};

struct mlx5_ifc_create_scheduling_element_in_bits {};

struct mlx5_ifc_create_rqt_out_bits {};

struct mlx5_ifc_create_rqt_in_bits {};

struct mlx5_ifc_create_rq_out_bits {};

struct mlx5_ifc_create_rq_in_bits {};

struct mlx5_ifc_create_rmp_out_bits {};

struct mlx5_ifc_create_rmp_in_bits {};

struct mlx5_ifc_create_qp_out_bits {};

struct mlx5_ifc_create_qp_in_bits {};

struct mlx5_ifc_create_psv_out_bits {};

struct mlx5_ifc_create_psv_in_bits {};

struct mlx5_ifc_create_mkey_out_bits {};

struct mlx5_ifc_create_mkey_in_bits {};

enum {};

struct mlx5_ifc_create_flow_table_out_bits {};

struct mlx5_ifc_create_flow_table_in_bits {};

struct mlx5_ifc_create_flow_group_out_bits {};

enum {};

enum {};

struct mlx5_ifc_create_flow_group_in_bits {};

struct mlx5_ifc_create_eq_out_bits {};

struct mlx5_ifc_create_eq_in_bits {};

struct mlx5_ifc_create_dct_out_bits {};

struct mlx5_ifc_create_dct_in_bits {};

struct mlx5_ifc_create_cq_out_bits {};

struct mlx5_ifc_create_cq_in_bits {};

struct mlx5_ifc_config_int_moderation_out_bits {};

enum {};

struct mlx5_ifc_config_int_moderation_in_bits {};

struct mlx5_ifc_attach_to_mcg_out_bits {};

struct mlx5_ifc_attach_to_mcg_in_bits {};

struct mlx5_ifc_arm_xrq_out_bits {};

struct mlx5_ifc_arm_xrq_in_bits {};

struct mlx5_ifc_arm_xrc_srq_out_bits {};

enum {};

struct mlx5_ifc_arm_xrc_srq_in_bits {};

struct mlx5_ifc_arm_rq_out_bits {};

enum {};

struct mlx5_ifc_arm_rq_in_bits {};

struct mlx5_ifc_arm_dct_out_bits {};

struct mlx5_ifc_arm_dct_in_bits {};

struct mlx5_ifc_alloc_xrcd_out_bits {};

struct mlx5_ifc_alloc_xrcd_in_bits {};

struct mlx5_ifc_alloc_uar_out_bits {};

struct mlx5_ifc_alloc_uar_in_bits {};

struct mlx5_ifc_alloc_transport_domain_out_bits {};

struct mlx5_ifc_alloc_transport_domain_in_bits {};

struct mlx5_ifc_alloc_q_counter_out_bits {};

struct mlx5_ifc_alloc_q_counter_in_bits {};

struct mlx5_ifc_alloc_pd_out_bits {};

struct mlx5_ifc_alloc_pd_in_bits {};

struct mlx5_ifc_alloc_flow_counter_out_bits {};

struct mlx5_ifc_alloc_flow_counter_in_bits {};

struct mlx5_ifc_add_vxlan_udp_dport_out_bits {};

struct mlx5_ifc_add_vxlan_udp_dport_in_bits {};

struct mlx5_ifc_set_pp_rate_limit_out_bits {};

struct mlx5_ifc_set_pp_rate_limit_context_bits {};

struct mlx5_ifc_set_pp_rate_limit_in_bits {};

struct mlx5_ifc_access_register_out_bits {};

enum {};

struct mlx5_ifc_access_register_in_bits {};

struct mlx5_ifc_sltp_reg_bits {};

struct mlx5_ifc_slrg_reg_bits {};

struct mlx5_ifc_pvlc_reg_bits {};

struct mlx5_ifc_pude_reg_bits {};

struct mlx5_ifc_ptys_reg_bits {};

struct mlx5_ifc_mlcr_reg_bits {};

struct mlx5_ifc_ptas_reg_bits {};

struct mlx5_ifc_pspa_reg_bits {};

struct mlx5_ifc_pqdr_reg_bits {};

struct mlx5_ifc_ppsc_reg_bits {};

struct mlx5_ifc_pplr_reg_bits {};

struct mlx5_ifc_pplm_reg_bits {};

struct mlx5_ifc_ppcnt_reg_bits {};

struct mlx5_ifc_mpein_reg_bits {};

struct mlx5_ifc_mpcnt_reg_bits {};

struct mlx5_ifc_ppad_reg_bits {};

struct mlx5_ifc_pmtu_reg_bits {};

struct mlx5_ifc_pmpr_reg_bits {};

struct mlx5_ifc_pmpe_reg_bits {};

struct mlx5_ifc_pmpc_reg_bits {};

struct mlx5_ifc_pmlpn_reg_bits {};

struct mlx5_ifc_pmlp_reg_bits {};

struct mlx5_ifc_pmaos_reg_bits {};

struct mlx5_ifc_plpc_reg_bits {};

struct mlx5_ifc_plib_reg_bits {};

struct mlx5_ifc_plbf_reg_bits {};

struct mlx5_ifc_pipg_reg_bits {};

struct mlx5_ifc_pifr_reg_bits {};

struct mlx5_ifc_pfcc_reg_bits {};

struct mlx5_ifc_pelc_reg_bits {};

struct mlx5_ifc_peir_reg_bits {};

struct mlx5_ifc_mpegc_reg_bits {};

struct mlx5_ifc_mpir_reg_bits {};

enum {};

enum {};

struct mlx5_ifc_mtutc_reg_bits {};

struct mlx5_ifc_pcam_enhanced_features_bits {};

struct mlx5_ifc_pcam_regs_5000_to_507f_bits {};

struct mlx5_ifc_pcam_reg_bits {};

struct mlx5_ifc_mcam_enhanced_features_bits {};

struct mlx5_ifc_mcam_access_reg_bits {};

struct mlx5_ifc_mcam_access_reg_bits1 {};

struct mlx5_ifc_mcam_access_reg_bits2 {};

struct mlx5_ifc_mcam_access_reg_bits3 {};

struct mlx5_ifc_mcam_reg_bits {};

struct mlx5_ifc_qcam_access_reg_cap_mask {};

struct mlx5_ifc_qcam_qos_feature_cap_mask {};

struct mlx5_ifc_qcam_reg_bits {};

struct mlx5_ifc_core_dump_reg_bits {};

struct mlx5_ifc_pcap_reg_bits {};

struct mlx5_ifc_paos_reg_bits {};

struct mlx5_ifc_pamp_reg_bits {};

struct mlx5_ifc_pcmr_reg_bits {};

struct mlx5_ifc_lane_2_module_mapping_bits {};

struct mlx5_ifc_bufferx_reg_bits {};

struct mlx5_ifc_set_node_in_bits {};

struct mlx5_ifc_register_power_settings_bits {};

struct mlx5_ifc_register_host_endianness_bits {};

struct mlx5_ifc_umr_pointer_desc_argument_bits {};

struct mlx5_ifc_ud_adrs_vector_bits {};

struct mlx5_ifc_pages_req_event_bits {};

struct mlx5_ifc_eqe_bits {};

enum {};

struct mlx5_ifc_cmd_queue_entry_bits {};

struct mlx5_ifc_cmd_out_bits {};

struct mlx5_ifc_cmd_in_bits {};

struct mlx5_ifc_cmd_if_box_bits {};

struct mlx5_ifc_mtt_bits {};

struct mlx5_ifc_query_wol_rol_out_bits {};

struct mlx5_ifc_query_wol_rol_in_bits {};

struct mlx5_ifc_set_wol_rol_out_bits {};

struct mlx5_ifc_set_wol_rol_in_bits {};

enum {};

enum {};

enum {};

struct mlx5_ifc_initial_seg_bits {};

struct mlx5_ifc_mtpps_reg_bits {};

struct mlx5_ifc_mtppse_reg_bits {};

struct mlx5_ifc_mcqs_reg_bits {};

struct mlx5_ifc_mcqi_cap_bits {};

struct mlx5_ifc_mcqi_version_bits {};

struct mlx5_ifc_mcqi_activation_method_bits {};

mlx5_ifc_mcqi_reg_data_bits;

struct mlx5_ifc_mcqi_reg_bits {};

struct mlx5_ifc_mcc_reg_bits {};

struct mlx5_ifc_mcda_reg_bits {};

enum {};

enum {};

enum {};

enum {};

struct mlx5_ifc_mfrl_reg_bits {};

struct mlx5_ifc_mirc_reg_bits {};

struct mlx5_ifc_pddr_monitor_opcode_bits {};

mlx5_ifc_pddr_troubleshooting_page_status_opcode_auto_bits;

enum {};

struct mlx5_ifc_pddr_troubleshooting_page_bits {};

mlx5_ifc_pddr_reg_page_data_auto_bits;

enum {};

struct mlx5_ifc_pddr_reg_bits {};

struct mlx5_ifc_mrtc_reg_bits {};

struct mlx5_ifc_mtcap_reg_bits {};

struct mlx5_ifc_mtmp_reg_bits {};

struct mlx5_ifc_mtptm_reg_bits {};

enum {};

struct mlx5_ifc_mtctr_reg_bits {};

mlx5_ifc_ports_control_registers_document_bits;

mlx5_ifc_debug_enhancements_document_bits;

mlx5_ifc_uplink_pci_interface_document_bits;

struct mlx5_ifc_set_flow_table_root_out_bits {};

struct mlx5_ifc_set_flow_table_root_in_bits {};

enum {};

struct mlx5_ifc_modify_flow_table_out_bits {};

struct mlx5_ifc_modify_flow_table_in_bits {};

struct mlx5_ifc_ets_tcn_config_reg_bits {};

struct mlx5_ifc_ets_global_config_reg_bits {};

struct mlx5_ifc_qetc_reg_bits {};

struct mlx5_ifc_qpdpm_dscp_reg_bits {};

struct mlx5_ifc_qpdpm_reg_bits {};

struct mlx5_ifc_qpts_reg_bits {};

struct mlx5_ifc_pptb_reg_bits {};

struct mlx5_ifc_sbcam_reg_bits {};

struct mlx5_ifc_pbmc_reg_bits {};

struct mlx5_ifc_sbpr_reg_bits {};

struct mlx5_ifc_sbcm_reg_bits {};

struct mlx5_ifc_qtct_reg_bits {};

struct mlx5_ifc_mcia_reg_bits {};

struct mlx5_ifc_dcbx_param_bits {};

enum {};

struct mlx5_ifc_lagc_bits {};

struct mlx5_ifc_create_lag_out_bits {};

struct mlx5_ifc_create_lag_in_bits {};

struct mlx5_ifc_modify_lag_out_bits {};

struct mlx5_ifc_modify_lag_in_bits {};

struct mlx5_ifc_query_lag_out_bits {};

struct mlx5_ifc_query_lag_in_bits {};

struct mlx5_ifc_destroy_lag_out_bits {};

struct mlx5_ifc_destroy_lag_in_bits {};

struct mlx5_ifc_create_vport_lag_out_bits {};

struct mlx5_ifc_create_vport_lag_in_bits {};

struct mlx5_ifc_destroy_vport_lag_out_bits {};

struct mlx5_ifc_destroy_vport_lag_in_bits {};

enum {};

struct mlx5_ifc_modify_memic_in_bits {};

struct mlx5_ifc_modify_memic_out_bits {};

struct mlx5_ifc_alloc_memic_in_bits {};

struct mlx5_ifc_alloc_memic_out_bits {};

struct mlx5_ifc_dealloc_memic_in_bits {};

struct mlx5_ifc_dealloc_memic_out_bits {};

struct mlx5_ifc_umem_bits {};

struct mlx5_ifc_uctx_bits {};

struct mlx5_ifc_sw_icm_bits {};

struct mlx5_ifc_geneve_tlv_option_bits {};

struct mlx5_ifc_create_umem_in_bits {};

struct mlx5_ifc_create_umem_out_bits {};

struct mlx5_ifc_destroy_umem_in_bits {};

struct mlx5_ifc_destroy_umem_out_bits {};

struct mlx5_ifc_create_uctx_in_bits {};

struct mlx5_ifc_create_uctx_out_bits {};

struct mlx5_ifc_destroy_uctx_in_bits {};

struct mlx5_ifc_destroy_uctx_out_bits {};

struct mlx5_ifc_create_sw_icm_in_bits {};

struct mlx5_ifc_create_geneve_tlv_option_in_bits {};

struct mlx5_ifc_mtrc_string_db_param_bits {};

struct mlx5_ifc_mtrc_cap_bits {};

struct mlx5_ifc_mtrc_conf_bits {};

struct mlx5_ifc_mtrc_stdb_bits {};

struct mlx5_ifc_mtrc_ctrl_bits {};

struct mlx5_ifc_host_params_context_bits {};

struct mlx5_ifc_query_esw_functions_in_bits {};

struct mlx5_ifc_query_esw_functions_out_bits {};

struct mlx5_ifc_sf_partition_bits {};

struct mlx5_ifc_query_sf_partitions_out_bits {};

struct mlx5_ifc_query_sf_partitions_in_bits {};

struct mlx5_ifc_dealloc_sf_out_bits {};

struct mlx5_ifc_dealloc_sf_in_bits {};

struct mlx5_ifc_alloc_sf_out_bits {};

struct mlx5_ifc_alloc_sf_in_bits {};

struct mlx5_ifc_affiliated_event_header_bits {};

enum {};

enum {};

enum {};

enum {};

enum {};

enum {};

struct mlx5_ifc_ipsec_aso_bits {};

struct mlx5_ifc_ipsec_obj_bits {};

struct mlx5_ifc_create_ipsec_obj_in_bits {};

enum {};

struct mlx5_ifc_query_ipsec_obj_out_bits {};

struct mlx5_ifc_modify_ipsec_obj_in_bits {};

enum {};

enum {};

#define MLX5_MACSEC_ASO_INC_SN
#define MLX5_MACSEC_ASO_REG_C_4_5

struct mlx5_ifc_macsec_aso_bits {};

struct mlx5_ifc_macsec_offload_obj_bits {};

struct mlx5_ifc_create_macsec_obj_in_bits {};

struct mlx5_ifc_modify_macsec_obj_in_bits {};

enum {};

struct mlx5_ifc_query_macsec_obj_out_bits {};

struct mlx5_ifc_wrapped_dek_bits {};

struct mlx5_ifc_encryption_key_obj_bits {};

struct mlx5_ifc_create_encryption_key_in_bits {};

struct mlx5_ifc_modify_encryption_key_in_bits {};

enum {};

struct mlx5_ifc_flow_meter_parameters_bits {};

struct mlx5_ifc_flow_meter_aso_obj_bits {};

struct mlx5_ifc_create_flow_meter_aso_obj_in_bits {};

struct mlx5_ifc_int_kek_obj_bits {};

struct mlx5_ifc_create_int_kek_obj_in_bits {};

struct mlx5_ifc_create_int_kek_obj_out_bits {};

struct mlx5_ifc_sampler_obj_bits {};

struct mlx5_ifc_create_sampler_obj_in_bits {};

struct mlx5_ifc_query_sampler_obj_out_bits {};

enum {};

enum {};

struct mlx5_ifc_tls_static_params_bits {};

struct mlx5_ifc_tls_progress_params_bits {};

enum {};

enum {};

struct mlx5_ifc_suspend_vhca_in_bits {};

struct mlx5_ifc_suspend_vhca_out_bits {};

enum {};

struct mlx5_ifc_resume_vhca_in_bits {};

struct mlx5_ifc_resume_vhca_out_bits {};

struct mlx5_ifc_query_vhca_migration_state_in_bits {};

struct mlx5_ifc_query_vhca_migration_state_out_bits {};

struct mlx5_ifc_save_vhca_state_in_bits {};

struct mlx5_ifc_save_vhca_state_out_bits {};

struct mlx5_ifc_load_vhca_state_in_bits {};

struct mlx5_ifc_load_vhca_state_out_bits {};

struct mlx5_ifc_adv_virtualization_cap_bits {};

struct mlx5_ifc_page_track_report_entry_bits {};

enum {};

struct mlx5_ifc_page_track_range_bits {};

struct mlx5_ifc_page_track_bits {};

struct mlx5_ifc_create_page_track_obj_in_bits {};

struct mlx5_ifc_modify_page_track_obj_in_bits {};

struct mlx5_ifc_query_page_track_obj_out_bits {};

struct mlx5_ifc_msecq_reg_bits {};

enum {};

enum mlx5_msees_admin_status {};

enum mlx5_msees_oper_status {};

enum mlx5_msees_failure_reason {};

struct mlx5_ifc_msees_reg_bits {};

#endif /* MLX5_IFC_H */