diff options
author | Moni Shoua | 2018-11-08 20:10:10 +0100 |
---|---|---|
committer | Leon Romanovsky | 2018-11-12 21:20:29 +0100 |
commit | 27e95603f4dfec470c6d26bea5174aa71b30e971 (patch) | |
tree | 7e8a2a7d6c5d71ecd3a88e302607352220c4edea /drivers/net/ethernet/mellanox/mlx5/core | |
parent | net/mlx5: Release resource on error flow (diff) | |
download | kernel-qcow2-linux-27e95603f4dfec470c6d26bea5174aa71b30e971.tar.gz kernel-qcow2-linux-27e95603f4dfec470c6d26bea5174aa71b30e971.tar.xz kernel-qcow2-linux-27e95603f4dfec470c6d26bea5174aa71b30e971.zip |
net/mlx5: Add interface to hold and release core resources
Sometimes upper layers may want to prevent the destruction of a core
resource for a period of time while work on that resource is in
progress. Add API to support this.
Signed-off-by: Moni Shoua <monis@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx5/core')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx5/core/qp.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/qp.c b/drivers/net/ethernet/mellanox/mlx5/core/qp.c index 690dc1dd9391..cba4a435043a 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/qp.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/qp.c @@ -670,3 +670,19 @@ int mlx5_core_query_q_counter(struct mlx5_core_dev *dev, u16 counter_id, return mlx5_cmd_exec(dev, in, sizeof(in), out, out_size); } EXPORT_SYMBOL_GPL(mlx5_core_query_q_counter); + +struct mlx5_core_rsc_common *mlx5_core_res_hold(struct mlx5_core_dev *dev, + int res_num, + enum mlx5_res_type res_type) +{ + u32 rsn = res_num | (res_type << MLX5_USER_INDEX_LEN); + + return mlx5_get_rsc(dev, rsn); +} +EXPORT_SYMBOL_GPL(mlx5_core_res_hold); + +void mlx5_core_res_put(struct mlx5_core_rsc_common *res) +{ + mlx5_core_put_rsc(res); +} +EXPORT_SYMBOL_GPL(mlx5_core_res_put); |