xref: /linux/drivers/gpu/drm/xe/xe_gt_sriov_vf.h (revision e7e86d7697c6ed1dbbde18d7185c35b6967945ed)
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 struct xe_uc_fw_version;
15 
16 int xe_gt_sriov_vf_reset(struct xe_gt *gt);
17 int xe_gt_sriov_vf_bootstrap(struct xe_gt *gt);
18 void xe_gt_sriov_vf_guc_versions(struct xe_gt *gt,
19 				 struct xe_uc_fw_version *wanted,
20 				 struct xe_uc_fw_version *found);
21 int xe_gt_sriov_vf_query_config(struct xe_gt *gt);
22 int xe_gt_sriov_vf_connect(struct xe_gt *gt);
23 int xe_gt_sriov_vf_query_runtime(struct xe_gt *gt);
24 int xe_gt_sriov_vf_notify_resfix_done(struct xe_gt *gt);
25 void xe_gt_sriov_vf_migrated_event_handler(struct xe_gt *gt);
26 
27 u32 xe_gt_sriov_vf_gmdid(struct xe_gt *gt);
28 u16 xe_gt_sriov_vf_guc_ids(struct xe_gt *gt);
29 u64 xe_gt_sriov_vf_lmem(struct xe_gt *gt);
30 u64 xe_gt_sriov_vf_ggtt(struct xe_gt *gt);
31 u64 xe_gt_sriov_vf_ggtt_base(struct xe_gt *gt);
32 s64 xe_gt_sriov_vf_ggtt_shift(struct xe_gt *gt);
33 
34 u32 xe_gt_sriov_vf_read32(struct xe_gt *gt, struct xe_reg reg);
35 void xe_gt_sriov_vf_write32(struct xe_gt *gt, struct xe_reg reg, u32 val);
36 
37 void xe_gt_sriov_vf_print_config(struct xe_gt *gt, struct drm_printer *p);
38 void xe_gt_sriov_vf_print_runtime(struct xe_gt *gt, struct drm_printer *p);
39 void xe_gt_sriov_vf_print_version(struct xe_gt *gt, struct drm_printer *p);
40 
41 #endif
42