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 72949cb85244da3b2bf90afe880d6caca4a854f7..099a716f1784ae13c4939fb3e5deeb7d325a4998 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)