summaryrefslogtreecommitdiff
path: root/drivers/vdpa/mlx5/core/mr.c
diff options
context:
space:
mode:
authorDragos Tatulea <dtatulea@nvidia.com>2024-08-30 13:58:37 +0300
committerMichael S. Tsirkin <mst@redhat.com>2024-09-25 07:07:44 -0400
commitf30a1232b6979c7fc14e821cb349c40073c6191d (patch)
tree8f12292357a1c7befc84523e96360d1651f97510 /drivers/vdpa/mlx5/core/mr.c
parent58d4d50e758ab1e880b30ba815d733d46f5cbfac (diff)
downloadlinux-f30a1232b6979c7fc14e821cb349c40073c6191d.tar.gz
linux-f30a1232b6979c7fc14e821cb349c40073c6191d.tar.bz2
linux-f30a1232b6979c7fc14e821cb349c40073c6191d.zip
vdpa/mlx5: Introduce init/destroy for MR resources
There's currently not a lot of action happening during the init/destroy of MR resources. But more will be added in the upcoming patches. As the mr mutex lock init/destroy has been moved to these new functions, the lifetime has now shifted away from mlx5_vdpa_alloc_resources() / mlx5_vdpa_free_resources() into these new functions. However, the lifetime at the outer scope remains the same: mlx5_vdpa_dev_add() / mlx5_vdpa_dev_free() Signed-off-by: Dragos Tatulea <dtatulea@nvidia.com> Reviewed-by: Cosmin Ratiu <cratiu@nvidia.com> Message-Id: <20240830105838.2666587-8-dtatulea@nvidia.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'drivers/vdpa/mlx5/core/mr.c')
-rw-r--r--drivers/vdpa/mlx5/core/mr.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/vdpa/mlx5/core/mr.c b/drivers/vdpa/mlx5/core/mr.c
index cac470125612..64683a39d3db 100644
--- a/drivers/vdpa/mlx5/core/mr.c
+++ b/drivers/vdpa/mlx5/core/mr.c
@@ -846,3 +846,20 @@ int mlx5_vdpa_reset_mr(struct mlx5_vdpa_dev *mvdev, unsigned int asid)
return 0;
}
+
+int mlx5_vdpa_init_mr_resources(struct mlx5_vdpa_dev *mvdev)
+{
+ struct mlx5_vdpa_mr_resources *mres = &mvdev->mres;
+
+ INIT_LIST_HEAD(&mres->mr_list_head);
+ mutex_init(&mres->lock);
+
+ return 0;
+}
+
+void mlx5_vdpa_destroy_mr_resources(struct mlx5_vdpa_dev *mvdev)
+{
+ struct mlx5_vdpa_mr_resources *mres = &mvdev->mres;
+
+ mutex_destroy(&mres->lock);
+}