drm/xe/vf: Enable VF migration only on supported GuC versions

Enable VF migration starting with GuC 70.54.0 (compatibility version
1.27.0) which supports additional VF2GUC_RESFIX_START message required
to handle migration recovery in a more robust way.

Signed-off-by: Satyanarayana K V P <satyanarayana.k.v.p@intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: Tomasz Lis <tomasz.lis@intel.com>
Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Link: https://patch.msgid.link/20251201095011.21453-7-satyanarayana.k.v.p@intel.com
This commit is contained in:
Satyanarayana K V P
2025-12-01 15:20:13 +05:30
committed by Michal Wajdeczko
parent aa8225d4ee
commit 2e2dab20dd

View File

@@ -170,6 +170,26 @@ void xe_sriov_vf_init_early(struct xe_device *xe)
vf_migration_init_early(xe);
}
static bool vf_migration_init_late(struct xe_device *xe)
{
struct xe_gt *gt = xe_root_mmio_gt(xe);
struct xe_uc_fw_version guc_version;
if (!xe_sriov_vf_migration_supported(xe))
return 0;
xe_gt_sriov_vf_guc_versions(gt, NULL, &guc_version);
if (MAKE_GUC_VER_STRUCT(guc_version) < MAKE_GUC_VER(1, 27, 0)) {
xe_sriov_vf_migration_disable(xe,
"requires GuC ABI >= 1.27.0, but only %u.%u.%u found",
guc_version.major, guc_version.minor,
guc_version.patch);
return 0;
}
return xe_sriov_vf_ccs_init(xe);
}
/**
* xe_sriov_vf_init_late() - SR-IOV VF late initialization functions.
* @xe: the &xe_device to initialize
@@ -180,7 +200,7 @@ void xe_sriov_vf_init_early(struct xe_device *xe)
*/
int xe_sriov_vf_init_late(struct xe_device *xe)
{
return xe_sriov_vf_ccs_init(xe);
return vf_migration_init_late(xe);
}
static int sa_info_vf_ccs(struct seq_file *m, void *data)