Commit 2e2dab20 authored by Satyanarayana K V P's avatar Satyanarayana K V P Committed by Michal Wajdeczko
Browse files

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: default avatarSatyanarayana 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: default avatarMichal Wajdeczko <michal.wajdeczko@intel.com>
Signed-off-by: default avatarMichal Wajdeczko <michal.wajdeczko@intel.com>
Link: https://patch.msgid.link/20251201095011.21453-7-satyanarayana.k.v.p@intel.com
parent aa8225d4
Loading
Loading
Loading
Loading
+21 −1
Original line number Diff line number Diff line
@@ -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)