]> Pileus Git - ~andy/linux/commitdiff
drm/i915: simplify i915_reset a bit
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 27 Apr 2012 13:17:41 +0000 (15:17 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Sat, 5 May 2012 17:46:17 +0000 (19:46 +0200)
- need_display is always true, scrap it.
- don't reacquire the mutex to do nothing after having restored the
  gem state.

Reviewed-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_drv.c

index 90a84f9de8e92ea90cd5ef03c13d3a050cd6f7f1..3ffa9e7c0a8c9c4f726becb202606e381ce53d5e 100644 (file)
@@ -787,11 +787,6 @@ static int gen6_do_reset(struct drm_device *dev, u8 flags)
 int i915_reset(struct drm_device *dev, u8 flags)
 {
        drm_i915_private_t *dev_priv = dev->dev_private;
-       /*
-        * We really should only reset the display subsystem if we actually
-        * need to
-        */
-       bool need_display = true;
        int ret;
 
        if (!i915_try_reset)
@@ -865,22 +860,18 @@ int i915_reset(struct drm_device *dev, u8 flags)
                drm_irq_uninstall(dev);
                drm_mode_config_reset(dev);
                drm_irq_install(dev);
-
-               mutex_lock(&dev->struct_mutex);
+       } else {
+               mutex_unlock(&dev->struct_mutex);
        }
 
-       mutex_unlock(&dev->struct_mutex);
-
        /*
         * Perform a full modeset as on later generations, e.g. Ironlake, we may
         * need to retrain the display link and cannot just restore the register
         * values.
         */
-       if (need_display) {
-               mutex_lock(&dev->mode_config.mutex);
-               drm_helper_resume_force_mode(dev);
-               mutex_unlock(&dev->mode_config.mutex);
-       }
+       mutex_lock(&dev->mode_config.mutex);
+       drm_helper_resume_force_mode(dev);
+       mutex_unlock(&dev->mode_config.mutex);
 
        return 0;
 }