net/mlx5: Add cap bits for flow table destination in FDB table
[sfrench/cifs-2.6.git] / include / linux / mlx5 / mlx5_ifc.h
index b4ea8a9914c4f66f93db6e3a1953f9787b4018e4..05b480fae27d17ebbecf94538702db5f148de9fb 100644 (file)
@@ -524,7 +524,9 @@ struct mlx5_ifc_flow_table_nic_cap_bits {
 };
 
 struct mlx5_ifc_flow_table_eswitch_cap_bits {
-       u8     reserved_at_0[0x200];
+       u8      reserved_at_0[0x1c];
+       u8      fdb_multi_path_to_table[0x1];
+       u8      reserved_at_1d[0x1e3];
 
        struct mlx5_ifc_flow_table_prop_layout_bits flow_table_properties_nic_esw_fdb;
 
@@ -8003,6 +8005,17 @@ struct mlx5_ifc_pcam_enhanced_features_bits {
        u8         ppcnt_statistical_group[0x1];
 };
 
+struct mlx5_ifc_pcam_regs_5000_to_507f_bits {
+       u8         port_access_reg_cap_mask_127_to_96[0x20];
+       u8         port_access_reg_cap_mask_95_to_64[0x20];
+       u8         port_access_reg_cap_mask_63_to_32[0x20];
+
+       u8         port_access_reg_cap_mask_31_to_13[0x13];
+       u8         pbmc[0x1];
+       u8         pptb[0x1];
+       u8         port_access_reg_cap_mask_10_to_0[0xb];
+};
+
 struct mlx5_ifc_pcam_reg_bits {
        u8         reserved_at_0[0x8];
        u8         feature_group[0x8];
@@ -8012,6 +8025,7 @@ struct mlx5_ifc_pcam_reg_bits {
        u8         reserved_at_20[0x20];
 
        union {
+               struct mlx5_ifc_pcam_regs_5000_to_507f_bits regs_5000_to_507f;
                u8         reserved_at_0[0x80];
        } port_access_reg_cap_mask;
 
@@ -8776,6 +8790,41 @@ struct mlx5_ifc_qpts_reg_bits {
        u8         trust_state[0x3];
 };
 
+struct mlx5_ifc_pptb_reg_bits {
+       u8         reserved_at_0[0x2];
+       u8         mm[0x2];
+       u8         reserved_at_4[0x4];
+       u8         local_port[0x8];
+       u8         reserved_at_10[0x6];
+       u8         cm[0x1];
+       u8         um[0x1];
+       u8         pm[0x8];
+
+       u8         prio_x_buff[0x20];
+
+       u8         pm_msb[0x8];
+       u8         reserved_at_48[0x10];
+       u8         ctrl_buff[0x4];
+       u8         untagged_buff[0x4];
+};
+
+struct mlx5_ifc_pbmc_reg_bits {
+       u8         reserved_at_0[0x8];
+       u8         local_port[0x8];
+       u8         reserved_at_10[0x10];
+
+       u8         xoff_timer_value[0x10];
+       u8         xoff_refresh[0x10];
+
+       u8         reserved_at_40[0x9];
+       u8         fullness_threshold[0x7];
+       u8         port_buffer_size[0x10];
+
+       struct mlx5_ifc_bufferx_reg_bits buffer[10];
+
+       u8         reserved_at_2e0[0x40];
+};
+
 struct mlx5_ifc_qtct_reg_bits {
        u8         reserved_at_0[0x8];
        u8         port_number[0x8];