Skip to content

Commit d24e3a1

Browse files
msanallagregkh
authored andcommitted
net/mlx5: Update log_max_qp value to FW max capability
[ Upstream commit f79a609 ] log_max_qp in driver's default profile #2 was set to 18, but FW actually supports 17 at the most - a situation that led to the concerning print when the driver is loaded: "log_max_qp value in current profile is 18, changing to HCA capabaility limit (17)" The expected behavior from mlx5_profile #2 is to match the maximum FW capability in regards to log_max_qp. Thus, log_max_qp in profile #2 is initialized to a defined static value (0xff) - which basically means that when loading this profile, log_max_qp value will be what the currently installed FW supports at most. Signed-off-by: Maher Sanalla <msanalla@nvidia.com> Reviewed-by: Maor Gottlieb <maorg@nvidia.com> Signed-off-by: Saeed Mahameed <saeedm@nvidia.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent 8c751aa commit d24e3a1

1 file changed

Lines changed: 6 additions & 2 deletions

File tree

  • drivers/net/ethernet/mellanox/mlx5/core

drivers/net/ethernet/mellanox/mlx5/core/main.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,8 @@ enum {
9797
MLX5_ATOMIC_REQ_MODE_HOST_ENDIANNESS = 0x1,
9898
};
9999

100+
#define LOG_MAX_SUPPORTED_QPS 0xff
101+
100102
static struct mlx5_profile profile[] = {
101103
[0] = {
102104
.mask = 0,
@@ -108,7 +110,7 @@ static struct mlx5_profile profile[] = {
108110
[2] = {
109111
.mask = MLX5_PROF_MASK_QP_SIZE |
110112
MLX5_PROF_MASK_MR_CACHE,
111-
.log_max_qp = 18,
113+
.log_max_qp = LOG_MAX_SUPPORTED_QPS,
112114
.mr_cache[0] = {
113115
.size = 500,
114116
.limit = 250
@@ -513,7 +515,9 @@ static int handle_hca_cap(struct mlx5_core_dev *dev, void *set_ctx)
513515
to_fw_pkey_sz(dev, 128));
514516

515517
/* Check log_max_qp from HCA caps to set in current profile */
516-
if (MLX5_CAP_GEN_MAX(dev, log_max_qp) < prof->log_max_qp) {
518+
if (prof->log_max_qp == LOG_MAX_SUPPORTED_QPS) {
519+
prof->log_max_qp = MLX5_CAP_GEN_MAX(dev, log_max_qp);
520+
} else if (MLX5_CAP_GEN_MAX(dev, log_max_qp) < prof->log_max_qp) {
517521
mlx5_core_warn(dev, "log_max_qp value in current profile is %d, changing it to HCA capability limit (%d)\n",
518522
prof->log_max_qp,
519523
MLX5_CAP_GEN_MAX(dev, log_max_qp));

0 commit comments

Comments
 (0)