Expose firmware indication that it supports setting eswitch uplink state to follow (follow the physical link). Condition setting the eswitch uplink admin-state with this capability bit. Older FW may not support the uplink state setting.
Unified · Split
| @@ -3161,7 +3161,8 @@ static void mlx5e_modify_admin_state(struct mlx5_core_dev *mdev, · 3160 unmodified lines | ||
| 3161 | 3161 | |
| 3162 | 3162 | mlx5_set_port_admin_status(mdev, state); |
| 3163 | 3163 | |
| 3164 | − if (mlx5_eswitch_mode(mdev) != MLX5_ESWITCH_LEGACY) | |
| 3164 | + if (mlx5_eswitch_mode(mdev) == MLX5_ESWITCH_OFFLOADS || | |
| 3165 | + !MLX5_CAP_GEN(mdev, uplink_follow)) | |
| 3165 | 3166 | return; |
| 3166 | 3167 | |
| 3167 | 3168 | if (state == MLX5_PORT_UP) |
| @@ -1280,7 +1280,8 @@ struct mlx5_ifc_cmd_hca_cap_bits { · 1279 unmodified lines | ||
| 1280 | 1280 | u8 ece_support[0x1]; |
| 1281 | 1281 | u8 reserved_at_a4[0x7]; |
| 1282 | 1282 | u8 log_max_srq[0x5]; |
| 1283 | − u8 reserved_at_b0[0x2]; | |
| 1283 | + u8 reserved_at_b0[0x1]; | |
| 1284 | + u8 uplink_follow[0x1]; | |
| 1284 | 1285 | u8 ts_cqe_to_dest_cqn[0x1]; |
| 1285 | 1286 | u8 reserved_at_b3[0xd]; |
| 1286 | 1287 | |