Merge branch 'mlx5-next' into rdma.git
From git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux mlx5 updates taken for dependencies on following patches. * branche 'mlx5-next': (23 commits) IB/mlx5: Introduce uid as part of alloc/dealloc transport domain net/mlx5: Add shared Q counter bits net/mlx5: Continue driver initialization despite debugfs failure net/mlx5: Fold the modify lag code into function net/mlx5: Add lag affinity info to log net/mlx5: Split the activate lag function into two routines net/mlx5: E-Switch, Introduce flow counter affinity IB/mlx5: Unify e-switch representors load approach between uplink and VFs net/mlx5: Use lowercase 'X' for hex values net/mlx5: Remove duplicated include from eswitch.c net/mlx5: Remove the get protocol device interface entry net/mlx5: Support extended destination format in flow steering command net/mlx5: E-Switch, Change vhca id valid bool field to bit flag net/mlx5: Introduce extended destination fields net/mlx5: Revise gre and nvgre key formats net/mlx5: Add monitor commands layout and event data net/mlx5: Add support for plugged-disabled cable status in PME net/mlx5: Add support for PCIe power slot exceeded error in PME net/mlx5: Rework handling of port module events net/mlx5: Move flow counters data structures from flow steering header ...
This commit is contained in:
+128
-11
@@ -85,6 +85,10 @@ enum {
|
||||
MLX5_OBJ_TYPE_UMEM = 0x0005,
|
||||
};
|
||||
|
||||
enum {
|
||||
MLX5_SHARED_RESOURCE_UID = 0xffff,
|
||||
};
|
||||
|
||||
enum {
|
||||
MLX5_CMD_OP_QUERY_HCA_CAP = 0x100,
|
||||
MLX5_CMD_OP_QUERY_ADAPTER = 0x101,
|
||||
@@ -164,6 +168,8 @@ enum {
|
||||
MLX5_CMD_OP_ALLOC_Q_COUNTER = 0x771,
|
||||
MLX5_CMD_OP_DEALLOC_Q_COUNTER = 0x772,
|
||||
MLX5_CMD_OP_QUERY_Q_COUNTER = 0x773,
|
||||
MLX5_CMD_OP_SET_MONITOR_COUNTER = 0x774,
|
||||
MLX5_CMD_OP_ARM_MONITOR_COUNTER = 0x775,
|
||||
MLX5_CMD_OP_SET_PP_RATE_LIMIT = 0x780,
|
||||
MLX5_CMD_OP_QUERY_RATE_LIMIT = 0x781,
|
||||
MLX5_CMD_OP_CREATE_SCHEDULING_ELEMENT = 0x782,
|
||||
@@ -431,6 +437,16 @@ struct mlx5_ifc_fte_match_set_lyr_2_4_bits {
|
||||
union mlx5_ifc_ipv6_layout_ipv4_layout_auto_bits dst_ipv4_dst_ipv6;
|
||||
};
|
||||
|
||||
struct mlx5_ifc_nvgre_key_bits {
|
||||
u8 hi[0x18];
|
||||
u8 lo[0x8];
|
||||
};
|
||||
|
||||
union mlx5_ifc_gre_key_bits {
|
||||
struct mlx5_ifc_nvgre_key_bits nvgre;
|
||||
u8 key[0x20];
|
||||
};
|
||||
|
||||
struct mlx5_ifc_fte_match_set_misc_bits {
|
||||
u8 reserved_at_0[0x8];
|
||||
u8 source_sqn[0x18];
|
||||
@@ -452,8 +468,7 @@ struct mlx5_ifc_fte_match_set_misc_bits {
|
||||
u8 reserved_at_64[0xc];
|
||||
u8 gre_protocol[0x10];
|
||||
|
||||
u8 gre_key_h[0x18];
|
||||
u8 gre_key_l[0x8];
|
||||
union mlx5_ifc_gre_key_bits gre_key;
|
||||
|
||||
u8 vxlan_vni[0x18];
|
||||
u8 reserved_at_b8[0x8];
|
||||
@@ -607,20 +622,28 @@ struct mlx5_ifc_flow_table_eswitch_cap_bits {
|
||||
u8 reserved_at_800[0x7800];
|
||||
};
|
||||
|
||||
enum {
|
||||
MLX5_COUNTER_SOURCE_ESWITCH = 0x0,
|
||||
MLX5_COUNTER_FLOW_ESWITCH = 0x1,
|
||||
};
|
||||
|
||||
struct mlx5_ifc_e_switch_cap_bits {
|
||||
u8 vport_svlan_strip[0x1];
|
||||
u8 vport_cvlan_strip[0x1];
|
||||
u8 vport_svlan_insert[0x1];
|
||||
u8 vport_cvlan_insert_if_not_exist[0x1];
|
||||
u8 vport_cvlan_insert_overwrite[0x1];
|
||||
u8 reserved_at_5[0x18];
|
||||
u8 reserved_at_5[0x17];
|
||||
u8 counter_eswitch_affinity[0x1];
|
||||
u8 merged_eswitch[0x1];
|
||||
u8 nic_vport_node_guid_modify[0x1];
|
||||
u8 nic_vport_port_guid_modify[0x1];
|
||||
|
||||
u8 vxlan_encap_decap[0x1];
|
||||
u8 nvgre_encap_decap[0x1];
|
||||
u8 reserved_at_22[0x9];
|
||||
u8 reserved_at_22[0x1];
|
||||
u8 log_max_fdb_encap_uplink[0x5];
|
||||
u8 reserved_at_21[0x3];
|
||||
u8 log_max_packet_reformat_context[0x5];
|
||||
u8 reserved_2b[0x6];
|
||||
u8 max_encap_header_size[0xa];
|
||||
@@ -1210,7 +1233,13 @@ struct mlx5_ifc_cmd_hca_cap_bits {
|
||||
u8 sw_owner_id[0x1];
|
||||
u8 reserved_at_61f[0x1];
|
||||
|
||||
u8 reserved_at_620[0x80];
|
||||
u8 max_num_of_monitor_counters[0x10];
|
||||
u8 num_ppcnt_monitor_counters[0x10];
|
||||
|
||||
u8 reserved_at_640[0x10];
|
||||
u8 num_q_monitor_counters[0x10];
|
||||
|
||||
u8 reserved_at_660[0x40];
|
||||
|
||||
u8 uctx_cap[0x20];
|
||||
|
||||
@@ -1230,8 +1259,10 @@ enum mlx5_flow_destination_type {
|
||||
struct mlx5_ifc_dest_format_struct_bits {
|
||||
u8 destination_type[0x8];
|
||||
u8 destination_id[0x18];
|
||||
|
||||
u8 destination_eswitch_owner_vhca_id_valid[0x1];
|
||||
u8 reserved_at_21[0xf];
|
||||
u8 packet_reformat[0x1];
|
||||
u8 reserved_at_22[0xe];
|
||||
u8 destination_eswitch_owner_vhca_id[0x10];
|
||||
};
|
||||
|
||||
@@ -1241,6 +1272,14 @@ struct mlx5_ifc_flow_counter_list_bits {
|
||||
u8 reserved_at_20[0x20];
|
||||
};
|
||||
|
||||
struct mlx5_ifc_extended_dest_format_bits {
|
||||
struct mlx5_ifc_dest_format_struct_bits destination_entry;
|
||||
|
||||
u8 packet_reformat_id[0x20];
|
||||
|
||||
u8 reserved_at_60[0x20];
|
||||
};
|
||||
|
||||
union mlx5_ifc_dest_format_struct_flow_counter_list_auto_bits {
|
||||
struct mlx5_ifc_dest_format_struct_bits dest_format_struct;
|
||||
struct mlx5_ifc_flow_counter_list_bits flow_counter_list;
|
||||
@@ -2462,7 +2501,8 @@ struct mlx5_ifc_flow_context_bits {
|
||||
u8 reserved_at_60[0x10];
|
||||
u8 action[0x10];
|
||||
|
||||
u8 reserved_at_80[0x8];
|
||||
u8 extended_destination[0x1];
|
||||
u8 reserved_at_80[0x7];
|
||||
u8 destination_list_size[0x18];
|
||||
|
||||
u8 reserved_at_a0[0x8];
|
||||
@@ -3818,6 +3858,83 @@ enum {
|
||||
MLX5_VPORT_STATE_OP_MOD_ESW_VPORT = 0x1,
|
||||
};
|
||||
|
||||
struct mlx5_ifc_arm_monitor_counter_in_bits {
|
||||
u8 opcode[0x10];
|
||||
u8 uid[0x10];
|
||||
|
||||
u8 reserved_at_20[0x10];
|
||||
u8 op_mod[0x10];
|
||||
|
||||
u8 reserved_at_40[0x20];
|
||||
|
||||
u8 reserved_at_60[0x20];
|
||||
};
|
||||
|
||||
struct mlx5_ifc_arm_monitor_counter_out_bits {
|
||||
u8 status[0x8];
|
||||
u8 reserved_at_8[0x18];
|
||||
|
||||
u8 syndrome[0x20];
|
||||
|
||||
u8 reserved_at_40[0x40];
|
||||
};
|
||||
|
||||
enum {
|
||||
MLX5_QUERY_MONITOR_CNT_TYPE_PPCNT = 0x0,
|
||||
MLX5_QUERY_MONITOR_CNT_TYPE_Q_COUNTER = 0x1,
|
||||
};
|
||||
|
||||
enum mlx5_monitor_counter_ppcnt {
|
||||
MLX5_QUERY_MONITOR_PPCNT_IN_RANGE_LENGTH_ERRORS = 0x0,
|
||||
MLX5_QUERY_MONITOR_PPCNT_OUT_OF_RANGE_LENGTH_FIELD = 0x1,
|
||||
MLX5_QUERY_MONITOR_PPCNT_FRAME_TOO_LONG_ERRORS = 0x2,
|
||||
MLX5_QUERY_MONITOR_PPCNT_FRAME_CHECK_SEQUENCE_ERRORS = 0x3,
|
||||
MLX5_QUERY_MONITOR_PPCNT_ALIGNMENT_ERRORS = 0x4,
|
||||
MLX5_QUERY_MONITOR_PPCNT_IF_OUT_DISCARDS = 0x5,
|
||||
};
|
||||
|
||||
enum {
|
||||
MLX5_QUERY_MONITOR_Q_COUNTER_RX_OUT_OF_BUFFER = 0x4,
|
||||
};
|
||||
|
||||
struct mlx5_ifc_monitor_counter_output_bits {
|
||||
u8 reserved_at_0[0x4];
|
||||
u8 type[0x4];
|
||||
u8 reserved_at_8[0x8];
|
||||
u8 counter[0x10];
|
||||
|
||||
u8 counter_group_id[0x20];
|
||||
};
|
||||
|
||||
#define MLX5_CMD_SET_MONITOR_NUM_PPCNT_COUNTER_SET1 (6)
|
||||
#define MLX5_CMD_SET_MONITOR_NUM_Q_COUNTERS_SET1 (1)
|
||||
#define MLX5_CMD_SET_MONITOR_NUM_COUNTER (MLX5_CMD_SET_MONITOR_NUM_PPCNT_COUNTER_SET1 +\
|
||||
MLX5_CMD_SET_MONITOR_NUM_Q_COUNTERS_SET1)
|
||||
|
||||
struct mlx5_ifc_set_monitor_counter_in_bits {
|
||||
u8 opcode[0x10];
|
||||
u8 uid[0x10];
|
||||
|
||||
u8 reserved_at_20[0x10];
|
||||
u8 op_mod[0x10];
|
||||
|
||||
u8 reserved_at_40[0x10];
|
||||
u8 num_of_counters[0x10];
|
||||
|
||||
u8 reserved_at_60[0x20];
|
||||
|
||||
struct mlx5_ifc_monitor_counter_output_bits monitor_counter[MLX5_CMD_SET_MONITOR_NUM_COUNTER];
|
||||
};
|
||||
|
||||
struct mlx5_ifc_set_monitor_counter_out_bits {
|
||||
u8 status[0x8];
|
||||
u8 reserved_at_8[0x18];
|
||||
|
||||
u8 syndrome[0x20];
|
||||
|
||||
u8 reserved_at_40[0x40];
|
||||
};
|
||||
|
||||
struct mlx5_ifc_query_vport_state_in_bits {
|
||||
u8 opcode[0x10];
|
||||
u8 reserved_at_10[0x10];
|
||||
@@ -4683,7 +4800,7 @@ enum {
|
||||
MLX5_QUERY_FLOW_GROUP_OUT_MATCH_CRITERIA_ENABLE_OUTER_HEADERS = 0x0,
|
||||
MLX5_QUERY_FLOW_GROUP_OUT_MATCH_CRITERIA_ENABLE_MISC_PARAMETERS = 0x1,
|
||||
MLX5_QUERY_FLOW_GROUP_OUT_MATCH_CRITERIA_ENABLE_INNER_HEADERS = 0x2,
|
||||
MLX5_QUERY_FLOW_GROUP_IN_MATCH_CRITERIA_ENABLE_MISC_PARAMETERS_2 = 0X3,
|
||||
MLX5_QUERY_FLOW_GROUP_IN_MATCH_CRITERIA_ENABLE_MISC_PARAMETERS_2 = 0x3,
|
||||
};
|
||||
|
||||
struct mlx5_ifc_query_flow_group_out_bits {
|
||||
@@ -6589,7 +6706,7 @@ struct mlx5_ifc_dealloc_transport_domain_out_bits {
|
||||
|
||||
struct mlx5_ifc_dealloc_transport_domain_in_bits {
|
||||
u8 opcode[0x10];
|
||||
u8 reserved_at_10[0x10];
|
||||
u8 uid[0x10];
|
||||
|
||||
u8 reserved_at_20[0x10];
|
||||
u8 op_mod[0x10];
|
||||
@@ -7442,7 +7559,7 @@ struct mlx5_ifc_alloc_transport_domain_out_bits {
|
||||
|
||||
struct mlx5_ifc_alloc_transport_domain_in_bits {
|
||||
u8 opcode[0x10];
|
||||
u8 reserved_at_10[0x10];
|
||||
u8 uid[0x10];
|
||||
|
||||
u8 reserved_at_20[0x10];
|
||||
u8 op_mod[0x10];
|
||||
@@ -7464,7 +7581,7 @@ struct mlx5_ifc_alloc_q_counter_out_bits {
|
||||
|
||||
struct mlx5_ifc_alloc_q_counter_in_bits {
|
||||
u8 opcode[0x10];
|
||||
u8 reserved_at_10[0x10];
|
||||
u8 uid[0x10];
|
||||
|
||||
u8 reserved_at_20[0x10];
|
||||
u8 op_mod[0x10];
|
||||
|
||||
Reference in New Issue
Block a user