diff options
author | Ariel Levkovich <lariel@mellanox.com> | 2019-08-29 23:42:30 +0000 |
---|---|---|
committer | Saeed Mahameed <saeedm@mellanox.com> | 2019-09-01 23:44:41 -0700 |
commit | c9b9dcb430b3cd0ad2b04c360c4e528d73430481 (patch) | |
tree | ffbbfc9522ccfbd64d101c2f24fabe914464c51e /drivers/net/ethernet/mellanox/mlx5/core/main.c | |
parent | net/mlx5: Set ODP capabilities for DC transport to max (diff) | |
download | wireguard-linux-c9b9dcb430b3cd0ad2b04c360c4e528d73430481.tar.xz wireguard-linux-c9b9dcb430b3cd0ad2b04c360c4e528d73430481.zip |
net/mlx5: Move device memory management to mlx5_core
Move the device memory allocation and deallocation commands
SW ICM memory to mlx5_core to expose this API for all
mlx5_core users.
This comes as preparation for supporting SW steering in kernel
where it will be required to allocate and register device
memory for direct rule insertion.
In addition, an API to register this device memory for future
remote access operations is introduced using the create_mkey
commands.
Signed-off-by: Ariel Levkovich <lariel@mellanox.com>
Reviewed-by: Mark Bloch <markb@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx5/core/main.c')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx5/core/main.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/main.c b/drivers/net/ethernet/mellanox/mlx5/core/main.c index 7f70ecb1db6d..c1679d11d71f 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/main.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/main.c @@ -879,6 +879,10 @@ static int mlx5_init_once(struct mlx5_core_dev *dev) goto err_eswitch_cleanup; } + dev->dm = mlx5_dm_create(dev); + if (IS_ERR(dev->dm)) + mlx5_core_warn(dev, "Failed to init device memory%d\n", err); + dev->tracer = mlx5_fw_tracer_create(dev); return 0; @@ -912,6 +916,7 @@ err_devcom: static void mlx5_cleanup_once(struct mlx5_core_dev *dev) { mlx5_fw_tracer_destroy(dev->tracer); + mlx5_dm_cleanup(dev); mlx5_fpga_cleanup(dev); mlx5_eswitch_cleanup(dev->priv.eswitch); mlx5_sriov_cleanup(dev); |