|
@@ -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;
|
|
|
}
|