drm/i915: check modeset state after a pipe_set_base if using fastboot
authorJesse Barnes <jbarnes@virtuousgeek.org>
Tue, 7 Jan 2014 21:50:49 +0000 (13:50 -0800)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 8 Jan 2014 07:37:37 +0000 (08:37 +0100)
Otherwise we won't check the state until the next DPMS transition, which
may never happen.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_display.c

index b6c76a911624cccdb3c8ea55e887c665dd375d46..c9761b096a8696929afdc6a994da455dce0dc196 100644 (file)
@@ -10002,6 +10002,16 @@ static int intel_crtc_set_config(struct drm_mode_set *set)
 
                ret = intel_pipe_set_base(set->crtc,
                                          set->x, set->y, set->fb);
+               /*
+                * In the fastboot case this may be our only check of the
+                * state after boot.  It would be better to only do it on
+                * the first update, but we don't have a nice way of doing that
+                * (and really, set_config isn't used much for high freq page
+                * flipping, so increasing its cost here shouldn't be a big
+                * deal).
+                */
+               if (i915_fastboot && ret == 0)
+                       intel_modeset_check_state(set->crtc->dev);
        }
 
        if (ret) {