diff options
author | Lama Kayal <lkayal@nvidia.com> | 2022-01-31 10:14:58 +0200 |
---|---|---|
committer | Saeed Mahameed <saeedm@nvidia.com> | 2022-07-28 13:55:27 -0700 |
commit | 23bde065c3a228e1e65c7ba9495f0b54535bea1a (patch) | |
tree | 13f1f2822e22e080ec918644d7566739875293f6 /drivers/net/ethernet/mellanox/mlx5/core/en_fs.c | |
parent | net/mlx5e: Convert mlx5e_tc_table member of mlx5e_flow_steering to pointer (diff) | |
download | linux-dev-23bde065c3a228e1e65c7ba9495f0b54535bea1a.tar.xz linux-dev-23bde065c3a228e1e65c7ba9495f0b54535bea1a.zip |
net/mlx5e: Make mlx5e_tc_table private
Move mlx5e_tc_table struct to en_tc.c thus make it private.
Introduce allocation and deallocation functions as part of the tc API
to allow this switch smoothly.
Convert mlx5e_nic_chain() macro to a function of en_tc.c.
Signed-off-by: Lama Kayal <lkayal@nvidia.com>
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx5/core/en_fs.c')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx5/core/en_fs.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_fs.c b/drivers/net/ethernet/mellanox/mlx5/core/en_fs.c index 82dc114284da..86c5533950f1 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_fs.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_fs.c @@ -38,6 +38,7 @@ #include <linux/mlx5/mpfs.h> #include "en.h" #include "en_rep.h" +#include "en_tc.h" #include "lib/mpfs.h" #include "en/ptp.h" @@ -1347,9 +1348,11 @@ int mlx5e_fs_init(struct mlx5e_priv *priv) priv->fs.vlan = kvzalloc(sizeof(*priv->fs.vlan), GFP_KERNEL); if (!priv->fs.vlan) goto err; - priv->fs.tc = kvzalloc(sizeof(*priv->fs.tc), GFP_KERNEL); - if (!priv->fs.tc) + + priv->fs.tc = mlx5e_tc_table_alloc(); + if (IS_ERR(priv->fs.tc)) goto err_free_vlan; + return 0; err_free_vlan: kvfree(priv->fs.vlan); @@ -1360,7 +1363,7 @@ err: void mlx5e_fs_cleanup(struct mlx5e_priv *priv) { - kvfree(priv->fs.tc); + mlx5e_tc_table_free(priv->fs.tc); kvfree(priv->fs.vlan); priv->fs.vlan = NULL; } |