From: Parav Pandit <parav@mellanox.com>
Date: Tue, 17 Dec 2019 23:16:11 -0600
Subject: net/mlx5: Avoid deriving mlx5_core_dev second time
Patch-mainline: v5.7-rc1
Git-commit: 0e6fa491e8b0a9a0115896fc88a404f8d89c2e80
References: jsc#SLE-15172
All callers needs to work on mlx5_core_dev and it is already derived
before calling mlx5_devlink_eswitch_check().
Hence, accept mlx5_core_dev in mlx5_devlink_eswitch_check().
Given that it works on mlx5_core_dev change helper function name to
drop devlink prefix.
Reviewed-by: Roi Dayan <roid@mellanox.com>
Reviewed-by: Bodong Wang <bodong@mellanox.com>
Signed-off-by: Parav Pandit <parav@mellanox.com>
Reviewed-by: Mark Bloch <markb@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
---
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c | 16 +++++--------
1 file changed, 7 insertions(+), 9 deletions(-)
--- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
@@ -2477,10 +2477,8 @@ static int esw_inline_mode_to_devlink(u8
return 0;
}
-static int mlx5_devlink_eswitch_check(struct devlink *devlink)
+static int mlx5_eswitch_check(const struct mlx5_core_dev *dev)
{
- struct mlx5_core_dev *dev = devlink_priv(devlink);
-
if (MLX5_CAP_GEN(dev, port_type) != MLX5_CAP_PORT_TYPE_ETH)
return -EOPNOTSUPP;
@@ -2501,7 +2499,7 @@ int mlx5_devlink_eswitch_mode_set(struct
u16 cur_mlx5_mode, mlx5_mode = 0;
int err;
- err = mlx5_devlink_eswitch_check(devlink);
+ err = mlx5_eswitch_check(dev);
if (err)
return err;
@@ -2526,7 +2524,7 @@ int mlx5_devlink_eswitch_mode_get(struct
struct mlx5_core_dev *dev = devlink_priv(devlink);
int err;
- err = mlx5_devlink_eswitch_check(devlink);
+ err = mlx5_eswitch_check(dev);
if (err)
return err;
@@ -2541,7 +2539,7 @@ int mlx5_devlink_eswitch_inline_mode_set
int err, vport, num_vport;
u8 mlx5_mode;
- err = mlx5_devlink_eswitch_check(devlink);
+ err = mlx5_eswitch_check(dev);
if (err)
return err;
@@ -2595,7 +2593,7 @@ int mlx5_devlink_eswitch_inline_mode_get
struct mlx5_eswitch *esw = dev->priv.eswitch;
int err;
- err = mlx5_devlink_eswitch_check(devlink);
+ err = mlx5_eswitch_check(dev);
if (err)
return err;
@@ -2610,7 +2608,7 @@ int mlx5_devlink_eswitch_encap_mode_set(
struct mlx5_eswitch *esw = dev->priv.eswitch;
int err;
- err = mlx5_devlink_eswitch_check(devlink);
+ err = mlx5_eswitch_check(dev);
if (err)
return err;
@@ -2659,7 +2657,7 @@ int mlx5_devlink_eswitch_encap_mode_get(
struct mlx5_eswitch *esw = dev->priv.eswitch;
int err;
- err = mlx5_devlink_eswitch_check(devlink);
+ err = mlx5_eswitch_check(dev);
if (err)
return err;