]> git.itanic.dy.fi Git - linux-stable/commitdiff
net/mlx5: Don't query MAX caps twice
authorShay Drory <shayd@nvidia.com>
Tue, 11 Jul 2023 13:32:05 +0000 (16:32 +0300)
committerSaeed Mahameed <saeedm@nvidia.com>
Mon, 14 Aug 2023 21:40:22 +0000 (14:40 -0700)
Whenever mlx5 driver is probed or reloaded, it queries some capabilities
in MAX mode via set_hca_cap() API. Afterwards, the driver queries all
capabilities in MAX mode via mlx5_query_hca_caps() API.

Since MAX caps are read only caps, querying them twice is redundant.
Hence, delete the second query.

Signed-off-by: Shay Drory <shayd@nvidia.com>
Reviewed-by: Maher Sanalla <msanalla@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/fw.c

index 0e394408af75cb1cba3b1bee4ab75976c833f3b1..58f4c0d0fafa25ec682eca9be8bda3dc146de044 100644 (file)
@@ -143,18 +143,18 @@ int mlx5_query_hca_caps(struct mlx5_core_dev *dev)
 {
        int err;
 
-       err = mlx5_core_get_caps(dev, MLX5_CAP_GENERAL);
+       err = mlx5_core_get_caps_mode(dev, MLX5_CAP_GENERAL, HCA_CAP_OPMOD_GET_CUR);
        if (err)
                return err;
 
        if (MLX5_CAP_GEN(dev, port_selection_cap)) {
-               err = mlx5_core_get_caps(dev, MLX5_CAP_PORT_SELECTION);
+               err = mlx5_core_get_caps_mode(dev, MLX5_CAP_PORT_SELECTION, HCA_CAP_OPMOD_GET_CUR);
                if (err)
                        return err;
        }
 
        if (MLX5_CAP_GEN(dev, hca_cap_2)) {
-               err = mlx5_core_get_caps(dev, MLX5_CAP_GENERAL_2);
+               err = mlx5_core_get_caps_mode(dev, MLX5_CAP_GENERAL_2, HCA_CAP_OPMOD_GET_CUR);
                if (err)
                        return err;
        }
@@ -174,19 +174,19 @@ int mlx5_query_hca_caps(struct mlx5_core_dev *dev)
        }
 
        if (MLX5_CAP_GEN(dev, pg)) {
-               err = mlx5_core_get_caps(dev, MLX5_CAP_ODP);
+               err = mlx5_core_get_caps_mode(dev, MLX5_CAP_ODP, HCA_CAP_OPMOD_GET_CUR);
                if (err)
                        return err;
        }
 
        if (MLX5_CAP_GEN(dev, atomic)) {
-               err = mlx5_core_get_caps(dev, MLX5_CAP_ATOMIC);
+               err = mlx5_core_get_caps_mode(dev, MLX5_CAP_ATOMIC, HCA_CAP_OPMOD_GET_CUR);
                if (err)
                        return err;
        }
 
        if (MLX5_CAP_GEN(dev, roce)) {
-               err = mlx5_core_get_caps(dev, MLX5_CAP_ROCE);
+               err = mlx5_core_get_caps_mode(dev, MLX5_CAP_ROCE, HCA_CAP_OPMOD_GET_CUR);
                if (err)
                        return err;
        }