drm/i915: Restore the KMS modeset for every activated CRTC
authorZhao Yakui <yakui.zhao@intel.com>
Wed, 8 Jul 2009 06:13:12 +0000 (14:13 +0800)
committerEric Anholt <eric@anholt.net>
Fri, 10 Jul 2009 19:36:11 +0000 (12:36 -0700)
Restore the modeset for every activated CRTC in course of resume.
This is realized by calling the function of drm_helper_resume_force_mode.
Note: it is meaningful only for the KMS mode.

https://bugs.freedesktop.org/show_bug.cgi?id=21719
https://bugs.freedesktop.org/show_bug.cgi?id=21708
https://bugs.freedesktop.org/show_bug.cgi?id=22285
https://bugs.freedesktop.org/show_bug.cgi?id=22263

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
drivers/gpu/drm/i915/i915_drv.c

index aef2a261a837404048d73785005d5475efa4f256..fc4b68aa2d056e9c8b9256860c38b4ac2175f529 100644 (file)
@@ -35,6 +35,7 @@
 
 #include "drm_pciids.h"
 #include <linux/console.h>
+#include "drm_crtc_helper.h"
 
 static unsigned int i915_modeset = -1;
 module_param_named(modeset, i915_modeset, int, 0400);
@@ -115,6 +116,10 @@ static int i915_resume(struct drm_device *dev)
 
                drm_irq_install(dev);
        }
+       if (drm_core_check_feature(dev, DRIVER_MODESET)) {
+               /* Resume the modeset for every activated CRTC */
+               drm_helper_resume_force_mode(dev);
+       }
 
        return ret;
 }