FILE
xe_gt_sriov_pf_migration.h
File preview with syntax highlighting.
linux-6.19.14/drivers/gpu/drm/xe/xe_gt_sriov_pf_migration.h
1/* SPDX-License-Identifier: MIT */ 2/* 3 * Copyright © 2024 Intel Corporation 4 */ 5 6#ifndef _XE_GT_SRIOV_PF_MIGRATION_H_ 7#define _XE_GT_SRIOV_PF_MIGRATION_H_ 8 9#include <linux/types.h> 10 11struct xe_gt; 12struct xe_sriov_packet; 13enum xe_sriov_packet_type; 14 15/* TODO: get this information by querying GuC in the future */ 16#define XE_GT_SRIOV_PF_MIGRATION_GUC_DATA_MAX_SIZE SZ_8M 17 18int xe_gt_sriov_pf_migration_init(struct xe_gt *gt); 19int xe_gt_sriov_pf_migration_guc_save(struct xe_gt *gt, unsigned int vfid); 20int xe_gt_sriov_pf_migration_guc_restore(struct xe_gt *gt, unsigned int vfid, 21 struct xe_sriov_packet *data); 22int xe_gt_sriov_pf_migration_ggtt_save(struct xe_gt *gt, unsigned int vfid); 23int xe_gt_sriov_pf_migration_ggtt_restore(struct xe_gt *gt, unsigned int vfid, 24 struct xe_sriov_packet *data); 25int xe_gt_sriov_pf_migration_mmio_save(struct xe_gt *gt, unsigned int vfid); 26int xe_gt_sriov_pf_migration_mmio_restore(struct xe_gt *gt, unsigned int vfid, 27 struct xe_sriov_packet *data); 28int xe_gt_sriov_pf_migration_vram_save(struct xe_gt *gt, unsigned int vfid); 29int xe_gt_sriov_pf_migration_vram_restore(struct xe_gt *gt, unsigned int vfid, 30 struct xe_sriov_packet *data); 31 32ssize_t xe_gt_sriov_pf_migration_size(struct xe_gt *gt, unsigned int vfid); 33 34bool xe_gt_sriov_pf_migration_ring_empty(struct xe_gt *gt, unsigned int vfid); 35bool xe_gt_sriov_pf_migration_ring_full(struct xe_gt *gt, unsigned int vfid); 36void xe_gt_sriov_pf_migration_ring_free(struct xe_gt *gt, unsigned int vfid); 37 38void xe_gt_sriov_pf_migration_save_init(struct xe_gt *gt, unsigned int vfid); 39bool xe_gt_sriov_pf_migration_save_data_pending(struct xe_gt *gt, unsigned int vfid, 40 enum xe_sriov_packet_type type); 41void xe_gt_sriov_pf_migration_save_data_complete(struct xe_gt *gt, unsigned int vfid, 42 enum xe_sriov_packet_type type); 43 44int xe_gt_sriov_pf_migration_save_produce(struct xe_gt *gt, unsigned int vfid, 45 struct xe_sriov_packet *data); 46struct xe_sriov_packet * 47xe_gt_sriov_pf_migration_restore_consume(struct xe_gt *gt, unsigned int vfid); 48 49int xe_gt_sriov_pf_migration_restore_produce(struct xe_gt *gt, unsigned int vfid, 50 struct xe_sriov_packet *data); 51struct xe_sriov_packet * 52xe_gt_sriov_pf_migration_save_consume(struct xe_gt *gt, unsigned int vfid); 53 54#endif
~/
Read-only file preview.