[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