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_*/ 32