mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-16 10:11:38 -04:00
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:
committed by
Michal Wajdeczko
parent
aa8225d4ee
commit
2e2dab20dd
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user