]> git.itanic.dy.fi Git - linux-stable/commitdiff
net/mlx5: Enable 4 ports VF LAG
authorShay Drory <shayd@nvidia.com>
Tue, 6 Jun 2023 07:12:12 +0000 (00:12 -0700)
committerSaeed Mahameed <saeedm@nvidia.com>
Wed, 7 Jun 2023 21:00:43 +0000 (14:00 -0700)
Now, after all preparation are done, enable 4 ports VF LAG

Signed-off-by: Shay Drory <shayd@nvidia.com>
Reviewed-by: Mark Bloch <mbloch@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c
drivers/net/ethernet/mellanox/mlx5/core/lib/devcom.c
drivers/net/ethernet/mellanox/mlx5/core/lib/devcom.h

index 6ce71c42c755a7ef6da96ece81b3f3f1630339f7..ffd7e17b8ebe3e0c86a8dbb2aa5f15087169c96c 100644 (file)
@@ -711,7 +711,7 @@ int mlx5_deactivate_lag(struct mlx5_lag *ldev)
        return 0;
 }
 
-#define MLX5_LAG_OFFLOADS_SUPPORTED_PORTS 2
+#define MLX5_LAG_OFFLOADS_SUPPORTED_PORTS 4
 bool mlx5_lag_check_prereq(struct mlx5_lag *ldev)
 {
 #ifdef CONFIG_MLX5_ESWITCH
@@ -737,7 +737,7 @@ bool mlx5_lag_check_prereq(struct mlx5_lag *ldev)
                if (mlx5_eswitch_mode(ldev->pf[i].dev) != mode)
                        return false;
 
-       if (mode == MLX5_ESWITCH_OFFLOADS && ldev->ports != MLX5_LAG_OFFLOADS_SUPPORTED_PORTS)
+       if (mode == MLX5_ESWITCH_OFFLOADS && ldev->ports > MLX5_LAG_OFFLOADS_SUPPORTED_PORTS)
                return false;
 #else
        for (i = 0; i < ldev->ports; i++)
index 8472bbb3cd588c97c01fc54de5c45b986ba65fb0..78c94b22bdc09a9b78d1c20107e3b2268855f3f8 100644 (file)
@@ -75,13 +75,14 @@ struct mlx5_devcom *mlx5_devcom_register_device(struct mlx5_core_dev *dev)
 
        if (!mlx5_core_is_pf(dev))
                return NULL;
-       if (MLX5_CAP_GEN(dev, num_lag_ports) != MLX5_DEVCOM_PORTS_SUPPORTED)
+       if (MLX5_CAP_GEN(dev, num_lag_ports) > MLX5_DEVCOM_PORTS_SUPPORTED)
                return NULL;
 
        mlx5_dev_list_lock();
        sguid0 = mlx5_query_nic_system_image_guid(dev);
        list_for_each_entry(iter, &devcom_list, list) {
-               struct mlx5_core_dev *tmp_dev = NULL;
+               /* There is at least one device in iter */
+               struct mlx5_core_dev *tmp_dev;
 
                idx = -1;
                for (i = 0; i < MLX5_DEVCOM_PORTS_SUPPORTED; i++) {
index bb1970ba8730b78b50f397b1fd24998ea554576d..d953a01b8eaac193bd96b10d3778df430e30999f 100644 (file)
@@ -6,7 +6,7 @@
 
 #include <linux/mlx5/driver.h>
 
-#define MLX5_DEVCOM_PORTS_SUPPORTED 2
+#define MLX5_DEVCOM_PORTS_SUPPORTED 4
 
 enum mlx5_devcom_components {
        MLX5_DEVCOM_ESW_OFFLOADS,