[Intel-gfx] [PATCH 2/2] drm/i915/guc: Skip suspend/resume GuC action on platforms w/o GuC submission

Summers, Stuart stuart.summers at intel.com
Fri Nov 15 17:12:58 UTC 2019


On Thu, 2019-11-14 at 17:11 -0800, don.hiatt at intel.com wrote:
> From: Don Hiatt <don.hiatt at intel.com>
> 
> 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. We can remove the GuC suspend/resume entirely as we do
> not need to save the GuC submission status.
> 
> v2: Do not suspend/resume the GuC on platforms that do not support
>     Guc Submission.
> v3: Fix typo, move suspend logic to remove goto.
> v4: Use intel_guc_submission_is_enabled() to check GuC submission
>     status.
> 
> Signed-off-by: Don Hiatt <don.hiatt at intel.com>

Any reason not to just combine both of these into a single patch?

Thanks,
Stuart

> ---
>  drivers/gpu/drm/i915/gt/uc/intel_guc.c | 7 +++++++
>  drivers/gpu/drm/i915/gt/uc/intel_uc.c  | 8 ++++++++
>  2 files changed, 15 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc.c
> b/drivers/gpu/drm/i915/gt/uc/intel_guc.c
> index 019ae6486e8d..92d9305c0d73 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc.c
> @@ -553,6 +553,13 @@ int intel_guc_suspend(struct intel_guc *guc)
>  		GUC_POWER_D1, /* any value greater than GUC_POWER_D0 */
>  	};
>  
> +	/*
> +	 * If GuC communication is enabled but submission is not
> supported,
> +	 * we do not need to suspend the GuC.
> +	 */
> +	if (!intel_guc_submission_is_enabled(guc))
> +		return 0;
> +
>  	/*
>  	 * The ENTER_S_STATE action queues the save/restore operation
> in GuC FW
>  	 * and then returns, so waiting on the H2G is not enough to
> guarantee
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc.c
> b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
> index 629b19377a29..4dd43b99a334 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_uc.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
> @@ -605,6 +605,14 @@ static int __uc_resume(struct intel_uc *uc, bool
> enable_communication)
>  	if (enable_communication)
>  		guc_enable_communication(guc);
>  
> +	/*
> +	 * If GuC communication is enabled but submission is not
> supported,
> +	 * we do not need to resume the GuC but we do need to enable
> the
> +	 * GuC communication on resume (above).
> +	 */
> +	if (!intel_guc_submission_is_enabled(guc))
> +		return 0;
> +
>  	err = intel_guc_resume(guc);
>  	if (err) {
>  		DRM_DEBUG_DRIVER("Failed to resume GuC, err=%d", err);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3270 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/intel-gfx/attachments/20191115/360020e9/attachment.bin>


More information about the Intel-gfx mailing list