aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrisious Haddad <phaddad@nvidia.com>2023-05-11 09:48:26 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2023-12-03 08:21:44 +0000
commit0cd90ee598cef68cef72db8b912241868d1067d0 (patch)
tree22d85827bb774fcac685d93533fe044f935d52af
parent3b3195f6767b39eb33b3523134ef988931c9c86d (diff)
downloadsrc-0cd90ee598cef68cef72db8b912241868d1067d0.tar.gz
src-0cd90ee598cef68cef72db8b912241868d1067d0.zip
mlx5: Fix HCA cap 2 query
Previously we were trying to set hca_cap_2 without checking if sw_vhca_id_valid max value, which is the only settable value inside hca_cap_2, and seeing that we dont have driver support for sw_vhca_id yet there is no need to set hca_cap_2 at all, it is enough to query it. Fixes: 7b959396ca6fae5635260131eedb9bc19f2726a3 ("mlx5: Introduce new destination type TABLE_TYPE") MFC after: 3 days
-rw-r--r--sys/dev/mlx5/mlx5_core/mlx5_main.c26
1 files changed, 1 insertions, 25 deletions
diff --git a/sys/dev/mlx5/mlx5_core/mlx5_main.c b/sys/dev/mlx5/mlx5_core/mlx5_main.c
index efaf726e19e5..f6dc1158f085 100644
--- a/sys/dev/mlx5/mlx5_core/mlx5_main.c
+++ b/sys/dev/mlx5/mlx5_core/mlx5_main.c
@@ -561,39 +561,15 @@ static int handle_hca_cap_atomic(struct mlx5_core_dev *dev)
static int handle_hca_cap_2(struct mlx5_core_dev *dev)
{
- void *set_ctx;
- void *set_hca_cap;
- int set_sz = MLX5_ST_SZ_BYTES(set_hca_cap_in);
int err;
if (MLX5_CAP_GEN_MAX(dev, hca_cap_2)) {
err = mlx5_core_get_caps(dev, MLX5_CAP_GENERAL_2);
if (err)
return err;
- } else {
- return 0;
}
- /* To be added if sw_vhca support was added */
- /*if (!MLX5_CAP_GEN_2_MAX(dev, sw_vhca_id_valid) ||
- !(dev->priv.sw_vhca_id > 0))
- return 0;*/
-
- set_ctx = kzalloc(set_sz, GFP_KERNEL);
- if (!set_ctx)
- return -ENOMEM;
-
- MLX5_SET(set_hca_cap_in, set_ctx, op_mod,
- MLX5_CAP_GENERAL_2 << 1);
- set_hca_cap = MLX5_ADDR_OF(set_hca_cap_in, set_ctx, capability);
- memcpy(set_hca_cap, dev->hca_caps_cur[MLX5_CAP_GENERAL_2],
- MLX5_ST_SZ_BYTES(cmd_hca_cap_2));
- //MLX5_SET(cmd_hca_cap_2, set_hca_cap, sw_vhca_id_valid, 1);
-
- err = set_caps(dev, set_ctx, set_sz);
-
- kfree(set_ctx);
- return err;
+ return 0;
}
static int set_hca_ctrl(struct mlx5_core_dev *dev)