[Intel-gfx] [PATCH 1/1] drm/i915: Move i915_gem_suspend_gtt_mappings to i915_gem_suspend
Chris Wilson
chris at chris-wilson.co.uk
Thu Oct 5 18:22:39 UTC 2017
Quoting Sagar Arun Kamble (2017-10-05 19:17:46)
>
>
> On 10/5/2017 11:41 PM, Chris Wilson wrote:
> > Quoting Sagar Arun Kamble (2017-10-05 19:07:37)
> >> suspend_gtt_mappings was happening post i915_gem_suspend where
> >> GPU is reset in the end. Call it before i915_gem_sanitize.
> >> This also makes portion of i915_gem_suspend symmetrical to
> >> i915_gem_resume and will facilitate proper ordering of GuC resume
> >> where ggtt.invalidate gets updated.
> >>
> >> 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>
> >> Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
> >> ---
> >> drivers/gpu/drm/i915/i915_drv.c | 2 --
> >> drivers/gpu/drm/i915/i915_gem.c | 2 ++
> >> 2 files changed, 2 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> >> index 66fc156..05c71a9 100644
> >> --- a/drivers/gpu/drm/i915/i915_drv.c
> >> +++ b/drivers/gpu/drm/i915/i915_drv.c
> >> @@ -1558,8 +1558,6 @@ static int i915_drm_suspend(struct drm_device *dev)
> >>
> >> intel_suspend_hw(dev_priv);
> >>
> >> - i915_gem_suspend_gtt_mappings(dev_priv);
> >> -
> >> i915_save_state(dev_priv);
> >>
> >> opregion_target_state = suspend_to_idle(dev_priv) ? PCI_D1 : PCI_D3cold;
> >> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> >> index ab8c694..4abd6fd 100644
> >> --- a/drivers/gpu/drm/i915/i915_gem.c
> >> +++ b/drivers/gpu/drm/i915/i915_gem.c
> >> @@ -4557,6 +4557,8 @@ int i915_gem_suspend(struct drm_i915_private *dev_priv)
> >> if (WARN_ON(!intel_engines_are_idle(dev_priv)))
> >> i915_gem_set_wedged(dev_priv); /* no hope, discard everything */
> >>
> >> + i915_gem_suspend_gtt_mappings(dev_priv);
> > Hmm. suspend_gtt_mappings zaps the GGTT. We shouldn't do that before we
> > shutdown the display. Maybe we need to move the i915_gem_sanitize instead?
> > -Chris
> Any particular reason gem_suspend is being done prior to display
> suspend? ...
It grew from idling the GPU as the first action - which makes sure that
user updates to the screen stop etc.
> if we could change that order current gem_suspend (i915_gem_suspend post
> intel_suspend*) with this fix should be fine ...
> Else will have to call gem_sanitize separately.
I guess we are looking at splitting gem_suspend into the user quiescing
section and the hw cleanup.
-Chris
More information about the Intel-gfx
mailing list