net/mlx5: Support devices with more than 2 ports
authorMark Bloch <mbloch@nvidia.com>
Tue, 1 Mar 2022 17:34:58 +0000 (17:34 +0000)
committerSaeed Mahameed <saeedm@nvidia.com>
Tue, 10 May 2022 05:54:03 +0000 (22:54 -0700)
Increase the define MLX5_MAX_PORTS to 4 as the driver is ready
to support NICs with 4 ports.

Signed-off-by: Mark Bloch <mbloch@nvidia.com>
Reviewed-by: Maor Gottlieb <maorg@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/dev.c
drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c
include/linux/mlx5/driver.h

index 3e750b8..11f7c03 100644 (file)
@@ -586,7 +586,8 @@ static int next_phys_dev_lag(struct device *dev, const void *data)
 
        if (!MLX5_CAP_GEN(mdev, vport_group_manager) ||
            !MLX5_CAP_GEN(mdev, lag_master) ||
-           MLX5_CAP_GEN(mdev, num_lag_ports) != MLX5_MAX_PORTS)
+           (MLX5_CAP_GEN(mdev, num_lag_ports) > MLX5_MAX_PORTS ||
+            MLX5_CAP_GEN(mdev, num_lag_ports) <= 1))
                return 0;
 
        return _next_phys_dev(mdev, data);
index f2659b0..716e073 100644 (file)
@@ -1050,7 +1050,8 @@ void mlx5_lag_add_mdev(struct mlx5_core_dev *dev)
 
        if (!MLX5_CAP_GEN(dev, vport_group_manager) ||
            !MLX5_CAP_GEN(dev, lag_master) ||
-           MLX5_CAP_GEN(dev, num_lag_ports) != MLX5_MAX_PORTS)
+           (MLX5_CAP_GEN(dev, num_lag_ports) > MLX5_MAX_PORTS ||
+            MLX5_CAP_GEN(dev, num_lag_ports) <= 1))
                return;
 
 recheck:
index 62ea112..fdb9d07 100644 (file)
@@ -84,7 +84,7 @@ enum mlx5_sqp_t {
 };
 
 enum {
-       MLX5_MAX_PORTS  = 2,
+       MLX5_MAX_PORTS  = 4,
 };
 
 enum {