Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bcbc324a authored by Daniel Vetter's avatar Daniel Vetter
Browse files

drm/i915: simplify i915_reset a bit



- need_display is always true, scrap it.
- don't reacquire the mutex to do nothing after having restored the
  gem state.

Reviewed-by: default avatarEugeni Dodonov <eugeni.dodonov@intel.com>
Signed-Off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent d5442303
Loading
Loading
Loading
Loading
+5 −14
Original line number Original line Diff line number Diff line
@@ -787,11 +787,6 @@ static int gen6_do_reset(struct drm_device *dev, u8 flags)
int i915_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;
	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;
	int ret;


	if (!i915_try_reset)
	if (!i915_try_reset)
@@ -865,22 +860,18 @@ int i915_reset(struct drm_device *dev, u8 flags)
		drm_irq_uninstall(dev);
		drm_irq_uninstall(dev);
		drm_mode_config_reset(dev);
		drm_mode_config_reset(dev);
		drm_irq_install(dev);
		drm_irq_install(dev);

	} else {
		mutex_lock(&dev->struct_mutex);
	}

		mutex_unlock(&dev->struct_mutex);
		mutex_unlock(&dev->struct_mutex);
	}


	/*
	/*
	 * Perform a full modeset as on later generations, e.g. Ironlake, we may
	 * 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
	 * need to retrain the display link and cannot just restore the register
	 * values.
	 * values.
	 */
	 */
	if (need_display) {
	mutex_lock(&dev->mode_config.mutex);
	mutex_lock(&dev->mode_config.mutex);
	drm_helper_resume_force_mode(dev);
	drm_helper_resume_force_mode(dev);
	mutex_unlock(&dev->mode_config.mutex);
	mutex_unlock(&dev->mode_config.mutex);
	}


	return 0;
	return 0;
}
}