summaryrefslogtreecommitdiff
path: root/drivers/vfio/pci/mlx5/cmd.h
diff options
context:
space:
mode:
authorYishai Hadas <yishaih@nvidia.com>2022-12-06 10:34:28 +0200
committerAlex Williamson <alex.williamson@redhat.com>2022-12-06 12:36:44 -0700
commit9945a67ea4b30657dd998c7fbbea1b3950747168 (patch)
treec1a5806e46ec31ccd53fded217edee3a05db6e6a /drivers/vfio/pci/mlx5/cmd.h
parent0e7caa65d707b93fbb4322c6313f739fa9103dfa (diff)
downloadlwn-9945a67ea4b30657dd998c7fbbea1b3950747168.tar.gz
lwn-9945a67ea4b30657dd998c7fbbea1b3950747168.zip
vfio/mlx5: Refactor PD usage
This patch refactors PD usage such as its life cycle will be as of the migration file instead of allocating/destroying it upon each SAVE/LOAD command. This is a preparation step towards the PRE_COPY series where multiple images will be SAVED/LOADED and a single PD can be simply reused. Reviewed-by: Jason Gunthorpe <jgg@nvidia.com> Signed-off-by: Yishai Hadas <yishaih@nvidia.com> Link: https://lore.kernel.org/r/20221206083438.37807-5-yishaih@nvidia.com Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Diffstat (limited to 'drivers/vfio/pci/mlx5/cmd.h')
-rw-r--r--drivers/vfio/pci/mlx5/cmd.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/vfio/pci/mlx5/cmd.h b/drivers/vfio/pci/mlx5/cmd.h
index 8ffa7699872c..ba760f956d53 100644
--- a/drivers/vfio/pci/mlx5/cmd.h
+++ b/drivers/vfio/pci/mlx5/cmd.h
@@ -16,7 +16,6 @@ struct mlx5vf_async_data {
struct mlx5_async_work cb_work;
struct work_struct work;
int status;
- u32 pdn;
u32 mkey;
void *out;
};
@@ -27,6 +26,7 @@ struct mlx5_vf_migration_file {
u8 disabled:1;
u8 is_err:1;
+ u32 pdn;
struct sg_append_table table;
size_t total_length;
size_t allocated_length;
@@ -127,6 +127,9 @@ int mlx5vf_cmd_save_vhca_state(struct mlx5vf_pci_core_device *mvdev,
struct mlx5_vf_migration_file *migf);
int mlx5vf_cmd_load_vhca_state(struct mlx5vf_pci_core_device *mvdev,
struct mlx5_vf_migration_file *migf);
+int mlx5vf_cmd_alloc_pd(struct mlx5_vf_migration_file *migf);
+void mlx5vf_cmd_dealloc_pd(struct mlx5_vf_migration_file *migf);
+void mlx5fv_cmd_clean_migf_resources(struct mlx5_vf_migration_file *migf);
void mlx5vf_state_mutex_unlock(struct mlx5vf_pci_core_device *mvdev);
void mlx5vf_disable_fds(struct mlx5vf_pci_core_device *mvdev);
void mlx5vf_mig_file_cleanup_cb(struct work_struct *_work);