[Intel-gfx] [PATCH v10 4/9] drm/i915/guc: Update GuC load status as NONE on GPU reset
Michal Wajdeczko
michal.wajdeczko at intel.com
Wed Sep 27 16:34:04 UTC 2017
On Wed, 27 Sep 2017 11:30:34 +0200, Sagar Arun Kamble
<sagar.a.kamble at intel.com> wrote:
> Currently GPU is reset at the end of suspend via i915_gem_sanitize.
> On resume, GuC will not be loaded until intel_uc_init_hw happens
> during GEM resume flow but action to exit sleep can be sent to GuC
> considering the FW load status. To make sure we don't invoke that
> action update GuC FW load status at the end of GPU reset as NONE.
>
> v2: Rebase.
>
> v3: Removed intel_guc_sanitize. Marking load status as NONE at the
> GPU reset point. (Chris/Michal)
Hmm, I'm not sure that touching guc private member from the outside
of guc/uc code is a good idea. Maybe we should keep call
intel_uc_sanitize()
but call it from i915_gem_reset() as that place looks more appropriate?
Michal
>
> Signed-off-by: Sagar Arun Kamble <sagar.a.kamble at intel.com>
> Cc: Michal Wajdeczko <michal.wajdeczko at intel.com>
> Cc: MichaĆ Winiarski <michal.winiarski at intel.com>
> Cc: Chris Wilson <chris at chris-wilson.co.uk>
> ---
> drivers/gpu/drm/i915/intel_uncore.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/intel_uncore.c
> b/drivers/gpu/drm/i915/intel_uncore.c
> index b3c3f94..83300f3 100644
> --- a/drivers/gpu/drm/i915/intel_uncore.c
> +++ b/drivers/gpu/drm/i915/intel_uncore.c
> @@ -1763,6 +1763,16 @@ int intel_gpu_reset(struct drm_i915_private
> *dev_priv, unsigned engine_mask)
> }
> intel_uncore_forcewake_put(dev_priv, FORCEWAKE_ALL);
> + /*
> + * FIXME: intel_uc_resume currently depends on load_status to resume
> + * GuC. Since we are resetting Full GPU at the end of suspend, let us
> + * mark the load status as NONE. Once intel_uc_resume is updated to
> take
> + * into consideration GuC load state based on WOPCM, we can skip this
> + * state change.
> + */
> + if (engine_mask == ALL_ENGINES)
> + dev_priv->guc.fw.load_status = INTEL_UC_FIRMWARE_NONE;
> +
> return ret;
> }
More information about the Intel-gfx
mailing list