Commit 22d00862 authored by Lucas De Marchi's avatar Lucas De Marchi
Browse files

drm/xe: Set survivability mode before heci init



Commit d40f275d ("drm/xe: Move survivability entirely to xe_pci")
tried to follow the logic: initialize everything needed and if
everything succeeds, set the flag that it's enabled. While it fixed some
corner cases of those calls failing, it was wrong for setting the flag
after the call to xe_heci_gsc_init(): that function does a different
initialization for survivability mode.

Fix that and add comments about this being done on purpose.

Suggested-by: default avatarRiana Tauro <riana.tauro@intel.com>
Fixes: d40f275d ("drm/xe: Move survivability entirely to xe_pci")
Reviewed-by: default avatarRiana Tauro <riana.tauro@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250314-fix-survivability-v5-2-fdb3559ea965@intel.com


Signed-off-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
(cherry picked from commit 14efa739)
Signed-off-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
parent caf2f156
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -155,13 +155,21 @@ static int enable_survivability_mode(struct pci_dev *pdev)
	if (ret)
		return ret;

	/* Make sure xe_heci_gsc_init() knows about survivability mode */
	survivability->mode = true;

	ret = xe_heci_gsc_init(xe);
	if (ret)
	if (ret) {
		/*
		 * But if it fails, device can't enter survivability
		 * so move it back for correct error handling
		 */
		survivability->mode = false;
		return ret;
	}

	xe_vsec_init(xe);

	survivability->mode = true;
	dev_err(dev, "In Survivability Mode\n");

	return 0;