#include <linux/delay.h>
#include <linux/dev_printk.h>
#include <linux/kernel.h>
#include <linux/slab.h>
#include <linux/string.h>
#include <linux/types.h>
#include <asm/errno.h>
#include "adf_accel_devices.h"
#include "adf_common_drv.h"
#include "adf_gen4_hw_data.h"
#include "adf_gen4_pfvf.h"
#include "adf_pfvf_utils.h"
#include "adf_mstate_mgr.h"
#include "adf_gen4_vf_mig.h"
#define ADF_GEN4_VF_MSTATE_SIZE …
#define ADF_GEN4_PFVF_RSP_TIMEOUT_US …
static int adf_gen4_vfmig_save_setup(struct qat_mig_dev *mdev);
static int adf_gen4_vfmig_load_setup(struct qat_mig_dev *mdev, int len);
static int adf_gen4_vfmig_init_device(struct qat_mig_dev *mdev)
{ … }
static void adf_gen4_vfmig_cleanup_device(struct qat_mig_dev *mdev)
{ … }
static void adf_gen4_vfmig_reset_device(struct qat_mig_dev *mdev)
{ … }
static int adf_gen4_vfmig_open_device(struct qat_mig_dev *mdev)
{ … }
static void adf_gen4_vfmig_close_device(struct qat_mig_dev *mdev)
{ … }
static int adf_gen4_vfmig_suspend_device(struct qat_mig_dev *mdev)
{ … }
static int adf_gen4_vfmig_resume_device(struct qat_mig_dev *mdev)
{ … }
struct adf_vf_bank_info { … };
struct mig_user_sla { … };
static int adf_mstate_sla_check(struct adf_mstate_mgr *sub_mgr, u8 *src_buf,
u32 src_size, void *opaque)
{ … }
static inline int adf_mstate_check_cap_size(u32 src_sz, u32 dst_sz, u32 max_sz)
{ … }
static int adf_mstate_compatver_check(struct adf_mstate_mgr *sub_mgr,
u8 *src_buf, u32 src_sz, void *opaque)
{ … }
static int adf_mstate_capmask_compare(struct adf_mstate_vreginfo *sinfo,
struct adf_mstate_vreginfo *dinfo)
{ … }
static int adf_mstate_capmask_superset(struct adf_mstate_mgr *sub_mgr, u8 *buf,
u32 size, void *opa)
{ … }
static int adf_mstate_capmask_equal(struct adf_mstate_mgr *sub_mgr, u8 *buf,
u32 size, void *opa)
{ … }
static int adf_mstate_set_vreg(struct adf_mstate_mgr *sub_mgr, u8 *buf,
u32 size, void *opa)
{ … }
static u32 adf_gen4_vfmig_get_slas(struct adf_accel_dev *accel_dev, u32 vf_nr,
struct mig_user_sla *pmig_slas)
{ … }
static int adf_gen4_vfmig_load_etr_regs(struct adf_mstate_mgr *sub_mgr,
u8 *state, u32 size, void *opa)
{ … }
static int adf_gen4_vfmig_load_etr_bank(struct adf_accel_dev *accel_dev,
u32 vf_nr, u32 bank_nr,
struct adf_mstate_mgr *mstate_mgr)
{ … }
static int adf_gen4_vfmig_load_etr(struct adf_accel_dev *accel_dev, u32 vf_nr)
{ … }
static int adf_gen4_vfmig_load_misc(struct adf_accel_dev *accel_dev, u32 vf_nr)
{ … }
static int adf_gen4_vfmig_load_generic(struct adf_accel_dev *accel_dev, u32 vf_nr)
{ … }
static int adf_gen4_vfmig_load_config(struct adf_accel_dev *accel_dev, u32 vf_nr)
{ … }
static int adf_gen4_vfmig_save_etr_regs(struct adf_mstate_mgr *subs, u8 *state,
u32 size, void *opa)
{ … }
static int adf_gen4_vfmig_save_etr_bank(struct adf_accel_dev *accel_dev,
u32 vf_nr, u32 bank_nr,
struct adf_mstate_mgr *mstate_mgr)
{ … }
static int adf_gen4_vfmig_save_etr(struct adf_accel_dev *accel_dev, u32 vf_nr)
{ … }
static int adf_gen4_vfmig_save_misc(struct adf_accel_dev *accel_dev, u32 vf_nr)
{ … }
static int adf_gen4_vfmig_save_generic(struct adf_accel_dev *accel_dev, u32 vf_nr)
{ … }
static int adf_gen4_vfmig_save_config(struct adf_accel_dev *accel_dev, u32 vf_nr)
{ … }
static int adf_gen4_vfmig_save_state(struct qat_mig_dev *mdev)
{ … }
static int adf_gen4_vfmig_load_state(struct qat_mig_dev *mdev)
{ … }
static int adf_gen4_vfmig_save_setup(struct qat_mig_dev *mdev)
{ … }
static int adf_gen4_vfmig_load_setup(struct qat_mig_dev *mdev, int len)
{ … }
void adf_gen4_init_vf_mig_ops(struct qat_migdev_ops *vfmig_ops)
{ … }
EXPORT_SYMBOL_GPL(…);