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) | |||
2803 | 2803 | ||
2804 | void intel_prepare_reset(struct drm_device *dev) | 2804 | void intel_prepare_reset(struct drm_device *dev) |
2805 | { | 2805 | { |
2806 | struct drm_i915_private *dev_priv = to_i915(dev); | ||
2807 | struct intel_crtc *crtc; | ||
2808 | |||
2806 | /* no reset support for gen2 */ | 2809 | /* no reset support for gen2 */ |
2807 | if (IS_GEN2(dev)) | 2810 | if (IS_GEN2(dev)) |
2808 | return; | 2811 | return; |
@@ -2812,6 +2815,15 @@ void intel_prepare_reset(struct drm_device *dev) | |||
2812 | return; | 2815 | return; |
2813 | 2816 | ||
2814 | drm_modeset_lock_all(dev); | 2817 | drm_modeset_lock_all(dev); |
2818 | |||
2819 | /* | ||
2820 | * Disabling the crtcs gracefully seems nicer. Also the | ||
2821 | * g33 docs say we should at least disable all the planes. | ||
2822 | */ | ||
2823 | for_each_intel_crtc(dev, crtc) { | ||
2824 | if (crtc->active) | ||
2825 | dev_priv->display.crtc_disable(&crtc->base); | ||
2826 | } | ||
2815 | } | 2827 | } |
2816 | 2828 | ||
2817 | void intel_finish_reset(struct drm_device *dev) | 2829 | 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) | |||
1371 | 1371 | ||
1372 | static int g33_do_reset(struct drm_device *dev) | 1372 | static int g33_do_reset(struct drm_device *dev) |
1373 | { | 1373 | { |
1374 | /* FIXME spec says to turn off all planes and wait 1 usec before reset */ | ||
1375 | |||
1376 | pci_write_config_byte(dev->pdev, I915_GDRST, GRDOM_RESET_ENABLE); | 1374 | pci_write_config_byte(dev->pdev, I915_GDRST, GRDOM_RESET_ENABLE); |
1377 | return wait_for(g4x_reset_complete(dev), 500); | 1375 | return wait_for(g4x_reset_complete(dev), 500); |
1378 | } | 1376 | } |