net/mlx5: Use shared code for checking lag is supported
authorRoi Dayan <roid@nvidia.com>
Tue, 13 Jun 2023 07:42:05 +0000 (10:42 +0300)
committerSaeed Mahameed <saeedm@nvidia.com>
Thu, 27 Jul 2023 18:37:28 +0000 (11:37 -0700)
Move shared function to check lag is supported to lag header file.

Signed-off-by: Roi Dayan <roid@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
drivers/net/ethernet/mellanox/mlx5/core/lag/lag.h

index edb06fb..7909f37 100644 (file)
@@ -36,6 +36,7 @@
 #include <linux/mlx5/vport.h>
 #include "mlx5_core.h"
 #include "devlink.h"
+#include "lag/lag.h"
 
 /* intf dev list mutex */
 static DEFINE_MUTEX(mlx5_intf_mutex);
@@ -587,10 +588,7 @@ static int next_phys_dev_lag(struct device *dev, const void *data)
        if (!mdev)
                return 0;
 
-       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) <= 1))
+       if (!mlx5_lag_is_supported(mdev))
                return 0;
 
        return _next_phys_dev(mdev, data);
index f0a074b..900a188 100644 (file)
@@ -1268,16 +1268,6 @@ recheck:
        mlx5_ldev_put(ldev);
 }
 
-bool mlx5_lag_is_supported(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) < 2 ||
-           MLX5_CAP_GEN(dev, num_lag_ports) > MLX5_MAX_PORTS)
-               return false;
-       return true;
-}
-
 void mlx5_lag_add_mdev(struct mlx5_core_dev *dev)
 {
        int err;
index a061b18..481e92f 100644 (file)
@@ -74,8 +74,6 @@ struct mlx5_lag {
        struct lag_mpesw          lag_mpesw;
 };
 
-bool mlx5_lag_is_supported(struct mlx5_core_dev *dev);
-
 static inline struct mlx5_lag *
 mlx5_lag_dev(struct mlx5_core_dev *dev)
 {
@@ -115,4 +113,14 @@ void mlx5_lag_remove_devices(struct mlx5_lag *ldev);
 int mlx5_deactivate_lag(struct mlx5_lag *ldev);
 void mlx5_lag_add_devices(struct mlx5_lag *ldev);
 
+static inline bool mlx5_lag_is_supported(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) < 2 ||
+           MLX5_CAP_GEN(dev, num_lag_ports) > MLX5_MAX_PORTS)
+               return false;
+       return true;
+}
+
 #endif /* __MLX5_LAG_H__ */