Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

net/mlx5: Add silent mode set/query and VHCA RX IFC bits

Update the mlx5 IFC headers with newly defined capability and
command-layout bits:

- Add silent_mode_query and rename silent_mode to silent_mode_set cap
fields.
- Add forward_vhca_rx and MLX5_IFC_FLOW_DESTINATION_TYPE_VHCA_RX.
- Expose silent mode fields in the L2 table query command structures.

Update the SD support check to use the new capability name
(silent_mode_set) to match the updated IFC definition.

Signed-off-by: Shay Drory <shayd@nvidia.com>
Reviewed-by: Mark Bloch <mbloch@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Link: https://patch.msgid.link/20260309093435.1850724-3-tariqt@nvidia.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>

authored by

Shay Drory and committed by
Leon Romanovsky
691dffc7 f8e76165

+16 -7
+1 -1
drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c
··· 1183 1183 { 1184 1184 u32 in[MLX5_ST_SZ_DW(set_l2_table_entry_in)] = {}; 1185 1185 1186 - if (silent_mode && !MLX5_CAP_GEN(dev, silent_mode)) 1186 + if (silent_mode && !MLX5_CAP_GEN(dev, silent_mode_set)) 1187 1187 return -EOPNOTSUPP; 1188 1188 1189 1189 MLX5_SET(set_l2_table_entry_in, in, opcode, MLX5_CMD_OP_SET_L2_TABLE_ENTRY);
+1 -1
drivers/net/ethernet/mellanox/mlx5/core/lib/sd.c
··· 107 107 /* Disconnect secondaries from the network */ 108 108 if (!MLX5_CAP_GEN(dev, eswitch_manager)) 109 109 return false; 110 - if (!MLX5_CAP_GEN(dev, silent_mode)) 110 + if (!MLX5_CAP_GEN(dev, silent_mode_set)) 111 111 return false; 112 112 113 113 /* RX steering from primary to secondaries */
+14 -5
include/linux/mlx5/mlx5_ifc.h
··· 469 469 u8 table_miss_action_domain[0x1]; 470 470 u8 termination_table[0x1]; 471 471 u8 reformat_and_fwd_to_table[0x1]; 472 - u8 reserved_at_1a[0x2]; 472 + u8 forward_vhca_rx[0x1]; 473 + u8 reserved_at_1b[0x1]; 473 474 u8 ipsec_encrypt[0x1]; 474 475 u8 ipsec_decrypt[0x1]; 475 476 u8 sw_owner_v2[0x1]; ··· 2013 2012 u8 disable_local_lb_mc[0x1]; 2014 2013 u8 log_min_hairpin_wq_data_sz[0x5]; 2015 2014 u8 reserved_at_3e8[0x1]; 2016 - u8 silent_mode[0x1]; 2015 + u8 silent_mode_set[0x1]; 2017 2016 u8 vhca_state[0x1]; 2018 2017 u8 log_max_vlan_list[0x5]; 2019 2018 u8 reserved_at_3f0[0x3]; 2020 2019 u8 log_max_current_mc_list[0x5]; 2021 - u8 reserved_at_3f8[0x3]; 2020 + u8 reserved_at_3f8[0x1]; 2021 + u8 silent_mode_query[0x1]; 2022 + u8 reserved_at_3fa[0x1]; 2022 2023 u8 log_max_current_uc_list[0x5]; 2023 2024 2024 2025 u8 general_obj_types[0x40]; ··· 2282 2279 MLX5_IFC_FLOW_DESTINATION_TYPE_VPORT = 0x0, 2283 2280 MLX5_IFC_FLOW_DESTINATION_TYPE_FLOW_TABLE = 0x1, 2284 2281 MLX5_IFC_FLOW_DESTINATION_TYPE_TIR = 0x2, 2282 + MLX5_IFC_FLOW_DESTINATION_TYPE_VHCA_RX = 0x4, 2285 2283 MLX5_IFC_FLOW_DESTINATION_TYPE_FLOW_SAMPLER = 0x6, 2286 2284 MLX5_IFC_FLOW_DESTINATION_TYPE_UPLINK = 0x8, 2287 2285 MLX5_IFC_FLOW_DESTINATION_TYPE_TABLE_TYPE = 0xA, ··· 6269 6265 6270 6266 u8 reserved_at_40[0xa0]; 6271 6267 6272 - u8 reserved_at_e0[0x13]; 6268 + u8 reserved_at_e0[0x11]; 6269 + u8 silent_mode[0x1]; 6270 + u8 reserved_at_f2[0x1]; 6273 6271 u8 vlan_valid[0x1]; 6274 6272 u8 vlan[0xc]; 6275 6273 ··· 6287 6281 u8 reserved_at_20[0x10]; 6288 6282 u8 op_mod[0x10]; 6289 6283 6290 - u8 reserved_at_40[0x60]; 6284 + u8 reserved_at_40[0x40]; 6285 + 6286 + u8 silent_mode_query[0x1]; 6287 + u8 reserved_at_81[0x1f]; 6291 6288 6292 6289 u8 reserved_at_a0[0x8]; 6293 6290 u8 table_index[0x18];