drm/i915: No need to wait for eDP power off delay if panel is on
authorKeith Packard <keithp@keithp.com>
Thu, 29 Sep 2011 23:51:26 +0000 (16:51 -0700)
committerKeith Packard <keithp@keithp.com>
Wed, 12 Oct 2011 16:37:46 +0000 (10:37 -0600)
If the panel is powered up, there's no need to delay for the 'off'
interval when turning the panel on.

Signed-off-by: Keith Packard <keithp@keithp.com>
drivers/gpu/drm/i915/intel_dp.c

index f5303e18e791fdfcdb91aced530502193df8aa0e..6db2a2d824c066328d6de6a4195cff098c97914e 100644 (file)
@@ -869,7 +869,16 @@ static void ironlake_wait_panel_off(struct intel_dp *intel_dp)
 {
        unsigned long   off_time;
        unsigned long   delay;
+
        DRM_DEBUG_KMS("Wait for panel power off time\n");
+
+       if (ironlake_edp_have_panel_power(intel_dp) ||
+           ironlake_edp_have_panel_vdd(intel_dp))
+       {
+               DRM_DEBUG_KMS("Panel still on, no delay needed\n");
+               return;
+       }
+
        off_time = intel_dp->panel_off_jiffies + msecs_to_jiffies(intel_dp->panel_power_down_delay);
        if (time_after(jiffies, off_time)) {
                DRM_DEBUG_KMS("Time already passed");