drm/i915: don't call modeset_init_hw in i915_reset
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 19 Jun 2012 16:40:00 +0000 (18:40 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 20 Jun 2012 09:31:44 +0000 (11:31 +0200)
It seems to blow up my ilk in all kinds of strange ways. And now that
we're no longer resetting the entire modeset state, it shouldn't be
necessary any longer.

This essentially reverts

commit f817586cebf1b946d1f327f9a596048efd6b64e9
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Tue Apr 10 15:50:11 2012 +0200

    drm/i915: re-init modeset hw state after gpu reset

safe for the introduction of modeset_init_hw, that one is nice to
prevent code duplication between driver load and resume.

v2: Add a comment to the code to warn future travellers of the dragon
dungeon ahead, suggested by Chris Wilson.

Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_drv.c

index e41aadef99378282a9bd49dbc9a1f4aee1277cb6..d7dd60bb27453683a30edfe1fa1fe1d804f6d07f 100644 (file)
@@ -904,10 +904,13 @@ int i915_reset(struct drm_device *dev)
                i915_gem_context_init(dev);
                i915_gem_init_ppgtt(dev);
 
-               mutex_unlock(&dev->struct_mutex);
+               /*
+                * It would make sense to re-init all the other hw state, at
+                * least the rps/rc6/emon init done within modeset_init_hw. For
+                * some unknown reason, this blows up my ilk, so don't.
+                */
 
-               if (drm_core_check_feature(dev, DRIVER_MODESET))
-                       intel_modeset_init_hw(dev);
+               mutex_unlock(&dev->struct_mutex);
 
                drm_irq_uninstall(dev);
                drm_irq_install(dev);