On 10/5/2017 11:52 PM, Chris Wilson wrote:
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.kam...@intel.com>
Cc: Michal Wajdeczko <michal.wajdec...@intel.com>
Cc: Michał Winiarski <michal.winiar...@intel.com>
Cc: Chris Wilson <ch...@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahti...@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.
Ok. Will split then.
-Chris

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to