1 /* SPDX-License-Identifier: MIT */ 2 /* 3 * Copyright © 2025 Intel Corporation 4 */ 5 6 #ifndef _XE_SRIOV_PF_MIGRATION_H_ 7 #define _XE_SRIOV_PF_MIGRATION_H_ 8 9 #include <linux/types.h> 10 #include <linux/wait.h> 11 12 struct xe_device; 13 struct xe_sriov_packet; 14 15 int xe_sriov_pf_migration_init(struct xe_device *xe); 16 bool xe_sriov_pf_migration_supported(struct xe_device *xe); 17 void xe_sriov_pf_migration_disable(struct xe_device *xe, const char *fmt, ...); 18 int xe_sriov_pf_migration_restore_produce(struct xe_device *xe, unsigned int vfid, 19 struct xe_sriov_packet *data); 20 struct xe_sriov_packet * 21 xe_sriov_pf_migration_save_consume(struct xe_device *xe, unsigned int vfid); 22 ssize_t xe_sriov_pf_migration_size(struct xe_device *xe, unsigned int vfid); 23 wait_queue_head_t *xe_sriov_pf_migration_waitqueue(struct xe_device *xe, unsigned int vfid); 24 25 ssize_t xe_sriov_pf_migration_read(struct xe_device *xe, unsigned int vfid, 26 char __user *buf, size_t len); 27 ssize_t xe_sriov_pf_migration_write(struct xe_device *xe, unsigned int vfid, 28 const char __user *buf, size_t len); 29 30 #endif 31