net/mlx5: Update log_max_qp value to FW max capability
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>
This commit is contained in:
parent
061f5b2358
commit
f79a609ea6
@ -98,6 +98,8 @@ enum {
|
|||||||
MLX5_ATOMIC_REQ_MODE_HOST_ENDIANNESS = 0x1,
|
MLX5_ATOMIC_REQ_MODE_HOST_ENDIANNESS = 0x1,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define LOG_MAX_SUPPORTED_QPS 0xff
|
||||||
|
|
||||||
static struct mlx5_profile profile[] = {
|
static struct mlx5_profile profile[] = {
|
||||||
[0] = {
|
[0] = {
|
||||||
.mask = 0,
|
.mask = 0,
|
||||||
@ -109,7 +111,7 @@ static struct mlx5_profile profile[] = {
|
|||||||
[2] = {
|
[2] = {
|
||||||
.mask = MLX5_PROF_MASK_QP_SIZE |
|
.mask = MLX5_PROF_MASK_QP_SIZE |
|
||||||
MLX5_PROF_MASK_MR_CACHE,
|
MLX5_PROF_MASK_MR_CACHE,
|
||||||
.log_max_qp = 18,
|
.log_max_qp = LOG_MAX_SUPPORTED_QPS,
|
||||||
.mr_cache[0] = {
|
.mr_cache[0] = {
|
||||||
.size = 500,
|
.size = 500,
|
||||||
.limit = 250
|
.limit = 250
|
||||||
@ -523,7 +525,9 @@ static int handle_hca_cap(struct mlx5_core_dev *dev, void *set_ctx)
|
|||||||
to_fw_pkey_sz(dev, 128));
|
to_fw_pkey_sz(dev, 128));
|
||||||
|
|
||||||
/* Check log_max_qp from HCA caps to set in current profile */
|
/* Check log_max_qp from HCA caps to set in current profile */
|
||||||
if (MLX5_CAP_GEN_MAX(dev, log_max_qp) < prof->log_max_qp) {
|
if (prof->log_max_qp == LOG_MAX_SUPPORTED_QPS) {
|
||||||
|
prof->log_max_qp = MLX5_CAP_GEN_MAX(dev, log_max_qp);
|
||||||
|
} else if (MLX5_CAP_GEN_MAX(dev, log_max_qp) < prof->log_max_qp) {
|
||||||
mlx5_core_warn(dev, "log_max_qp value in current profile is %d, changing it to HCA capability limit (%d)\n",
|
mlx5_core_warn(dev, "log_max_qp value in current profile is %d, changing it to HCA capability limit (%d)\n",
|
||||||
prof->log_max_qp,
|
prof->log_max_qp,
|
||||||
MLX5_CAP_GEN_MAX(dev, log_max_qp));
|
MLX5_CAP_GEN_MAX(dev, log_max_qp));
|
||||||
|
Loading…
Reference in New Issue
Block a user