[Intel-gfx] [PATCH] drm/i914/guc: Fix resume on platforms w/o GuC submission but enabled

don.hiatt at intel.com don.hiatt at intel.com
Thu Oct 24 16:29:58 UTC 2019


From: Don Hiatt <don.hiatt at intel.com>

Check to see if GuC submission is enabled before requesting the
EXIT_S_STATE action.

On some platforms (e.g. KBL) that do not support GuC submission, but
the user enabled the GuC communication (e.g for HuC authentication)
calling the GuC EXIT_S_STATE action results in lose of ability to
enter RC6. Guard against this by only requesting the GuC action on
platforms that support GuC submission.

I've verfied that intel_guc_resume() only gets called when driver
is loaded with: guc_enable={1,2,3}, all other cases (no args,
guc_enable={0,-1} the intel_guc_resume() is not called.

Signed-off-by: Don Hiatt <don.hiatt at intel.com>
---
 drivers/gpu/drm/i915/gt/uc/intel_guc.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc.c b/drivers/gpu/drm/i915/gt/uc/intel_guc.c
index 37f7bcbf7dac..33318ed135c0 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc.c
@@ -565,7 +565,10 @@ int intel_guc_resume(struct intel_guc *guc)
 		GUC_POWER_D0,
 	};
 
-	return intel_guc_send(guc, action, ARRAY_SIZE(action));
+	if (guc->submission_supported)
+		return intel_guc_send(guc, action, ARRAY_SIZE(action));
+
+	return 0;
 }
 
 /**
-- 
2.20.1



More information about the Intel-gfx mailing list