1 /* SPDX-License-Identifier: MIT */
2 /*
3  * Copyright © 2023-2024 Intel Corporation
4  */
5 
6 #ifndef _XE_GT_SRIOV_VF_H_
7 #define _XE_GT_SRIOV_VF_H_
8 
9 #include <linux/types.h>
10 
11 struct drm_printer;
12 struct xe_gt;
13 struct xe_reg;
14 
15 int xe_gt_sriov_vf_reset(struct xe_gt *gt);
16 int xe_gt_sriov_vf_bootstrap(struct xe_gt *gt);
17 int xe_gt_sriov_vf_query_config(struct xe_gt *gt);
18 int xe_gt_sriov_vf_connect(struct xe_gt *gt);
19 int xe_gt_sriov_vf_query_runtime(struct xe_gt *gt);
20 int xe_gt_sriov_vf_prepare_ggtt(struct xe_gt *gt);
21 int xe_gt_sriov_vf_notify_resfix_done(struct xe_gt *gt);
22 void xe_gt_sriov_vf_migrated_event_handler(struct xe_gt *gt);
23 
24 u32 xe_gt_sriov_vf_gmdid(struct xe_gt *gt);
25 u16 xe_gt_sriov_vf_guc_ids(struct xe_gt *gt);
26 u64 xe_gt_sriov_vf_lmem(struct xe_gt *gt);
27 u32 xe_gt_sriov_vf_read32(struct xe_gt *gt, struct xe_reg reg);
28 void xe_gt_sriov_vf_write32(struct xe_gt *gt, struct xe_reg reg, u32 val);
29 
30 void xe_gt_sriov_vf_print_config(struct xe_gt *gt, struct drm_printer *p);
31 void xe_gt_sriov_vf_print_runtime(struct xe_gt *gt, struct drm_printer *p);
32 void xe_gt_sriov_vf_print_version(struct xe_gt *gt, struct drm_printer *p);
33 
34 #endif
35