net/mlx5: Set sf_eq_usage for SF max EQs
authorDaniel Jurgens <danielj@nvidia.com>
Fri, 12 Jul 2024 00:33:08 +0000 (17:33 -0700)
committerJakub Kicinski <kuba@kernel.org>
Sat, 13 Jul 2024 22:44:16 +0000 (15:44 -0700)
When setting max_io_eqs for an SF function also set the sf_eq_usage_cap.
This is to indicate to the SF driver from the PF that the user has set
the max io eqs via devlink. So the SF driver can later query the proper
max eq value from the new cap.

Signed-off-by: Daniel Jurgens <danielj@nvidia.com>
Reviewed-by: William Tu <witu@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Link: https://patch.msgid.link/20240712003310.355106-3-saeed@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c

index 72949cb..099a716 100644 (file)
@@ -4676,6 +4676,9 @@ mlx5_devlink_port_fn_max_io_eqs_set(struct devlink_port *port, u32 max_io_eqs,
        hca_caps = MLX5_ADDR_OF(query_hca_cap_out, query_ctx, capability);
        MLX5_SET(cmd_hca_cap_2, hca_caps, max_num_eqs_24b, max_eqs);
 
+       if (mlx5_esw_is_sf_vport(esw, vport_num))
+               MLX5_SET(cmd_hca_cap_2, hca_caps, sf_eq_usage, 1);
+
        err = mlx5_vport_set_other_func_cap(esw->dev, hca_caps, vport_num,
                                            MLX5_SET_HCA_CAP_OP_MOD_GENERAL_DEVICE2);
        if (err)