drm/i915: make sure VDD AUX power has time to settle
authorJesse Barnes <jbarnes@virtuousgeek.org>
Wed, 25 Aug 2010 20:09:48 +0000 (13:09 -0700)
committerChris Wilson <chris@chris-wilson.co.uk>
Wed, 8 Sep 2010 20:20:26 +0000 (21:20 +0100)
When turning on or off the VDD AUX bit, we need to give the panel time
to start or stop or AUX transactions may fail.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
drivers/gpu/drm/i915/intel_dp.c

index 153a5934b2e1334757386e37c2abc107a771fbb5..bcd81f96fc7f3357bde6269b6b2bd2d12f50e3d0 100644 (file)
@@ -825,6 +825,7 @@ static void ironlake_edp_panel_vdd_on(struct drm_device *dev)
        pp |= EDP_FORCE_VDD;
        I915_WRITE(PCH_PP_CONTROL, pp);
        POSTING_READ(PCH_PP_CONTROL);
+       msleep(300);
 }
 
 static void ironlake_edp_panel_vdd_off(struct drm_device *dev)
@@ -836,6 +837,7 @@ static void ironlake_edp_panel_vdd_off(struct drm_device *dev)
        pp &= ~EDP_FORCE_VDD;
        I915_WRITE(PCH_PP_CONTROL, pp);
        POSTING_READ(PCH_PP_CONTROL);
+       msleep(300);
 }
 
 static void ironlake_edp_backlight_on (struct drm_device *dev)