[PATCH 1/6] drm/i915/guc: Update ggtt invalidate function prior to reset/suspend
Chris Wilson
chris at chris-wilson.co.uk
Wed Aug 2 13:48:33 UTC 2017
Quoting Sagar Arun Kamble (2017-08-02 14:29:22)
> drv_hangman at error-state-basic and gem_exec_suspend at basic-s3 caught
> below kernel bug with GuC.
>
> kernel BUG at drivers/gpu/drm/i915/i915_gem_gtt.c:3086!
> GEM_BUG_ON(i915->ggtt.invalidate != gen6_ggtt_invalidate);
>
> This was happening since ggtt_disable_guc was not done prior to reset
> and suspend.
>
> Cc: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Michal Wajdeczko <michal.wajdeczko at intel.com>
> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio at intel.com>
> Cc: Tomi Sarvela <tomi.p.sarvela at intel.com>
> Signed-off-by: Sagar Arun Kamble <sagar.a.kamble at intel.com>
> ---
> drivers/gpu/drm/i915/i915_gem.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index 000a764..a1c450e 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -2984,6 +2984,9 @@ void i915_gem_reset(struct drm_i915_private *dev_priv)
> if (INTEL_GEN(dev_priv) >= 6)
> gen6_rps_busy(dev_priv);
> }
> +
> + if (i915.enable_guc_loading)
> + i915_ggtt_disable_guc(dev_priv);
Missing intel_guc_reset() ?
> }
>
> void i915_gem_reset_finish_engine(struct intel_engine_cs *engine)
> @@ -4557,6 +4560,9 @@ int i915_gem_suspend(struct drm_i915_private *dev_priv)
>
> intel_guc_suspend(dev_priv);
>
> + if (i915.enable_guc_loading)
> + i915_ggtt_disable_guc(dev_priv);
> +
Then why not part of intel_guc_suspend() ?
-Chris
More information about the Intel-gfx-trybot
mailing list