All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915: Do hw quiescing first during unload
@ 2013-10-17 12:02 Chris Wilson
  2013-10-17 19:07 ` Ben Widawsky
  0 siblings, 1 reply; 8+ messages in thread
From: Chris Wilson @ 2013-10-17 12:02 UTC (permalink / raw)
  To: intel-gfx

If we force the hw to idle as our first step during unload, we can abort
the unload upon failure. Later we can probe whether the hardware remain
active even after we try to shut it down.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/i915_dma.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
index fd848ef043c0..1781be7bf845 100644
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
@@ -1704,6 +1704,12 @@ int i915_driver_unload(struct drm_device *dev)
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	int ret;
 
+	ret = i915_gem_suspend(dev);
+	if (ret) {
+		DRM_ERROR("failed to idle hardware: %d\n", ret);
+		return ret;
+	}
+
 	intel_gpu_ips_teardown();
 
 	if (HAS_POWER_WELL(dev)) {
@@ -1719,10 +1725,6 @@ int i915_driver_unload(struct drm_device *dev)
 	if (dev_priv->mm.inactive_shrinker.scan_objects)
 		unregister_shrinker(&dev_priv->mm.inactive_shrinker);
 
-	ret = i915_gem_suspend(dev);
-	if (ret)
-		DRM_ERROR("failed to idle hardware: %d\n", ret);
-
 	io_mapping_free(dev_priv->gtt.mappable);
 	arch_phys_wc_del(dev_priv->gtt.mtrr);
 
-- 
1.8.4.rc3

^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2013-10-18 18:18 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-17 12:02 [PATCH] drm/i915: Do hw quiescing first during unload Chris Wilson
2013-10-17 19:07 ` Ben Widawsky
2013-10-17 19:37   ` Chris Wilson
2013-10-17 21:04     ` Ben Widawsky
2013-10-17 21:19       ` Chris Wilson
2013-10-18  7:36       ` Ville Syrjälä
2013-10-18 18:09         ` Ben Widawsky
2013-10-18 18:18           ` Ville Syrjälä

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.