drm/exynos: extend vblank off delay time.
authorInki Dae <inki.dae@samsung.com>
Fri, 16 Dec 2011 12:31:12 +0000 (21:31 +0900)
committerInki Dae <inki.dae@samsung.com>
Thu, 29 Dec 2011 02:21:42 +0000 (11:21 +0900)
some platform could be entering to sleep after short time once lcd panel off
but before that vblank could be off by vblank off delay feature. at that time,
vblank doesn't have the pair between vblank_get/put. so this path makes vblank
off delay to have enough.

Signed-off-by: Inki Dae <inki.dae@samsung.com>
drivers/gpu/drm/exynos/exynos_drm_drv.c
drivers/gpu/drm/exynos/exynos_drm_drv.h

index 141072089fb2491f947374824b23d57d6adce989..35889ca255e93996f6cc37094a44147f756051f8 100644 (file)
@@ -44,6 +44,8 @@
 #define DRIVER_MAJOR   1
 #define DRIVER_MINOR   0
 
+#define VBLANK_OFF_DELAY       50000
+
 static int exynos_drm_load(struct drm_device *dev, unsigned long flags)
 {
        struct exynos_drm_private *private;
@@ -107,6 +109,8 @@ static int exynos_drm_load(struct drm_device *dev, unsigned long flags)
                goto err_drm_device;
        }
 
+       drm_vblank_offdelay = VBLANK_OFF_DELAY;
+
        return 0;
 
 err_drm_device:
index 24f4ef48e4745db46e7744a75a4e8745a15af3ec..e685e1e33055fd21e08446da5215e368c46c02cc 100644 (file)
@@ -41,6 +41,8 @@ struct drm_device;
 struct exynos_drm_overlay;
 struct drm_connector;
 
+extern unsigned int drm_vblank_offdelay;
+
 /* this enumerates display type. */
 enum exynos_drm_output_type {
        EXYNOS_DISPLAY_TYPE_NONE,