Commit 1fb12c58 authored by Daniele Ceraolo Spurio's avatar Daniele Ceraolo Spurio Committed by Daniel Vetter

drm/i915/guc: skip disabling CTBs before sanitizing the GuC

If we're about to sanitize the GuC, something might have going wrong
beforehand, so we should avoid trying to talk to it. Even if GuC is
still running fine, the sanitize will reset its internal state and clear
the CTB registration, so there is still no need to explicitly do so.

References: https://gitlab.freedesktop.org/drm/intel/-/issues/2469Signed-off-by: default avatarDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Signed-off-by: default avatarMatthew Brost <matthew.brost@intel.com>
Reviewed-by: default avatarMatthew Brost <matthew.brost@intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: John Harrison <John.C.Harrison@Intel.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20210603051630.2635-2-matthew.brost@intel.com
parent f4db23f2
...@@ -504,7 +504,7 @@ static int __uc_init_hw(struct intel_uc *uc) ...@@ -504,7 +504,7 @@ static int __uc_init_hw(struct intel_uc *uc)
ret = intel_guc_sample_forcewake(guc); ret = intel_guc_sample_forcewake(guc);
if (ret) if (ret)
goto err_communication; goto err_log_capture;
if (intel_uc_uses_guc_submission(uc)) if (intel_uc_uses_guc_submission(uc))
intel_guc_submission_enable(guc); intel_guc_submission_enable(guc);
...@@ -529,8 +529,6 @@ static int __uc_init_hw(struct intel_uc *uc) ...@@ -529,8 +529,6 @@ static int __uc_init_hw(struct intel_uc *uc)
/* /*
* We've failed to load the firmware :( * We've failed to load the firmware :(
*/ */
err_communication:
guc_disable_communication(guc);
err_log_capture: err_log_capture:
__uc_capture_load_err_log(uc); __uc_capture_load_err_log(uc);
err_out: err_out:
...@@ -558,9 +556,6 @@ static void __uc_fini_hw(struct intel_uc *uc) ...@@ -558,9 +556,6 @@ static void __uc_fini_hw(struct intel_uc *uc)
if (intel_uc_uses_guc_submission(uc)) if (intel_uc_uses_guc_submission(uc))
intel_guc_submission_disable(guc); intel_guc_submission_disable(guc);
if (guc_communication_enabled(guc))
guc_disable_communication(guc);
__uc_sanitize(uc); __uc_sanitize(uc);
} }
...@@ -577,7 +572,6 @@ void intel_uc_reset_prepare(struct intel_uc *uc) ...@@ -577,7 +572,6 @@ void intel_uc_reset_prepare(struct intel_uc *uc)
if (!intel_guc_is_ready(guc)) if (!intel_guc_is_ready(guc))
return; return;
guc_disable_communication(guc);
__uc_sanitize(uc); __uc_sanitize(uc);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment