Merge tag 'sparc-for-6.10-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-block.git] / include / linux / qat / qat_mig_dev.h
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /* Copyright(c) 2024 Intel Corporation */
3 #ifndef QAT_MIG_DEV_H_
4 #define QAT_MIG_DEV_H_
5
6 struct pci_dev;
7
8 struct qat_mig_dev {
9         void *parent_accel_dev;
10         u8 *state;
11         u32 setup_size;
12         u32 remote_setup_size;
13         u32 state_size;
14         s32 vf_id;
15 };
16
17 struct qat_mig_dev *qat_vfmig_create(struct pci_dev *pdev, int vf_id);
18 int qat_vfmig_init(struct qat_mig_dev *mdev);
19 void qat_vfmig_cleanup(struct qat_mig_dev *mdev);
20 void qat_vfmig_reset(struct qat_mig_dev *mdev);
21 int qat_vfmig_open(struct qat_mig_dev *mdev);
22 void qat_vfmig_close(struct qat_mig_dev *mdev);
23 int qat_vfmig_suspend(struct qat_mig_dev *mdev);
24 int qat_vfmig_resume(struct qat_mig_dev *mdev);
25 int qat_vfmig_save_state(struct qat_mig_dev *mdev);
26 int qat_vfmig_save_setup(struct qat_mig_dev *mdev);
27 int qat_vfmig_load_state(struct qat_mig_dev *mdev);
28 int qat_vfmig_load_setup(struct qat_mig_dev *mdev, int size);
29 void qat_vfmig_destroy(struct qat_mig_dev *mdev);
30
31 #endif /*QAT_MIG_DEV_H_*/