]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/net/ethernet/mellanox/mlx5/core/fw.c
net/mlx5_core: Refactor device capability function
[karo-tx-linux.git] / drivers / net / ethernet / mellanox / mlx5 / core / fw.c
index aa1ab47023852dcf0b163e43e57629121ab71a3a..fe6dfd8697f4457bf6410a53d97ea0aced18db66 100644 (file)
@@ -98,88 +98,49 @@ int mlx5_query_hca_caps(struct mlx5_core_dev *dev)
 {
        int err;
 
-       err = mlx5_core_get_caps(dev, MLX5_CAP_GENERAL, HCA_CAP_OPMOD_GET_CUR);
-       if (err)
-               return err;
-
-       err = mlx5_core_get_caps(dev, MLX5_CAP_GENERAL, HCA_CAP_OPMOD_GET_MAX);
+       err = mlx5_core_get_caps(dev, MLX5_CAP_GENERAL);
        if (err)
                return err;
 
        if (MLX5_CAP_GEN(dev, eth_net_offloads)) {
-               err = mlx5_core_get_caps(dev, MLX5_CAP_ETHERNET_OFFLOADS,
-                                        HCA_CAP_OPMOD_GET_CUR);
-               if (err)
-                       return err;
-               err = mlx5_core_get_caps(dev, MLX5_CAP_ETHERNET_OFFLOADS,
-                                        HCA_CAP_OPMOD_GET_MAX);
+               err = mlx5_core_get_caps(dev, MLX5_CAP_ETHERNET_OFFLOADS);
                if (err)
                        return err;
        }
 
        if (MLX5_CAP_GEN(dev, pg)) {
-               err = mlx5_core_get_caps(dev, MLX5_CAP_ODP,
-                                        HCA_CAP_OPMOD_GET_CUR);
-               if (err)
-                       return err;
-               err = mlx5_core_get_caps(dev, MLX5_CAP_ODP,
-                                        HCA_CAP_OPMOD_GET_MAX);
+               err = mlx5_core_get_caps(dev, MLX5_CAP_ODP);
                if (err)
                        return err;
        }
 
        if (MLX5_CAP_GEN(dev, atomic)) {
-               err = mlx5_core_get_caps(dev, MLX5_CAP_ATOMIC,
-                                        HCA_CAP_OPMOD_GET_CUR);
-               if (err)
-                       return err;
-               err = mlx5_core_get_caps(dev, MLX5_CAP_ATOMIC,
-                                        HCA_CAP_OPMOD_GET_MAX);
+               err = mlx5_core_get_caps(dev, MLX5_CAP_ATOMIC);
                if (err)
                        return err;
        }
 
        if (MLX5_CAP_GEN(dev, roce)) {
-               err = mlx5_core_get_caps(dev, MLX5_CAP_ROCE,
-                                        HCA_CAP_OPMOD_GET_CUR);
-               if (err)
-                       return err;
-               err = mlx5_core_get_caps(dev, MLX5_CAP_ROCE,
-                                        HCA_CAP_OPMOD_GET_MAX);
+               err = mlx5_core_get_caps(dev, MLX5_CAP_ROCE);
                if (err)
                        return err;
        }
 
        if (MLX5_CAP_GEN(dev, nic_flow_table)) {
-               err = mlx5_core_get_caps(dev, MLX5_CAP_FLOW_TABLE,
-                                        HCA_CAP_OPMOD_GET_CUR);
-               if (err)
-                       return err;
-               err = mlx5_core_get_caps(dev, MLX5_CAP_FLOW_TABLE,
-                                        HCA_CAP_OPMOD_GET_MAX);
+               err = mlx5_core_get_caps(dev, MLX5_CAP_FLOW_TABLE);
                if (err)
                        return err;
        }
 
        if (MLX5_CAP_GEN(dev, vport_group_manager) &&
            MLX5_CAP_GEN(dev, eswitch_flow_table)) {
-               err = mlx5_core_get_caps(dev, MLX5_CAP_ESWITCH_FLOW_TABLE,
-                                        HCA_CAP_OPMOD_GET_CUR);
-               if (err)
-                       return err;
-               err = mlx5_core_get_caps(dev, MLX5_CAP_ESWITCH_FLOW_TABLE,
-                                        HCA_CAP_OPMOD_GET_MAX);
+               err = mlx5_core_get_caps(dev, MLX5_CAP_ESWITCH_FLOW_TABLE);
                if (err)
                        return err;
        }
 
        if (MLX5_CAP_GEN(dev, eswitch_flow_table)) {
-               err = mlx5_core_get_caps(dev, MLX5_CAP_ESWITCH,
-                                        HCA_CAP_OPMOD_GET_CUR);
-               if (err)
-                       return err;
-               err = mlx5_core_get_caps(dev, MLX5_CAP_ESWITCH,
-                                        HCA_CAP_OPMOD_GET_MAX);
+               err = mlx5_core_get_caps(dev, MLX5_CAP_ESWITCH);
                if (err)
                        return err;
        }