diff options
| -rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 12 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/intel_uncore.c | 2 | 
2 files changed, 12 insertions, 2 deletions
| diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 56664e63e10f..910df02840d6 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -2803,6 +2803,9 @@ static void intel_update_primary_planes(struct drm_device *dev)  void intel_prepare_reset(struct drm_device *dev)  { +	struct drm_i915_private *dev_priv = to_i915(dev); +	struct intel_crtc *crtc; +  	/* no reset support for gen2 */  	if (IS_GEN2(dev))  		return; @@ -2812,6 +2815,15 @@ void intel_prepare_reset(struct drm_device *dev)  		return;  	drm_modeset_lock_all(dev); + +	/* +	 * Disabling the crtcs gracefully seems nicer. Also the +	 * g33 docs say we should at least disable all the planes. +	 */ +	for_each_intel_crtc(dev, crtc) { +		if (crtc->active) +			dev_priv->display.crtc_disable(&crtc->base); +	}  }  void intel_finish_reset(struct drm_device *dev) diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c index cf8ecc01deb4..2b34c046da66 100644 --- a/drivers/gpu/drm/i915/intel_uncore.c +++ b/drivers/gpu/drm/i915/intel_uncore.c @@ -1371,8 +1371,6 @@ static int g4x_reset_complete(struct drm_device *dev)  static int g33_do_reset(struct drm_device *dev)  { -	/* FIXME spec says to turn off all planes and wait 1 usec before reset */ -  	pci_write_config_byte(dev->pdev, I915_GDRST, GRDOM_RESET_ENABLE);  	return wait_for(g4x_reset_complete(dev), 500);  } | 
