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