drm/i915: wait for actual vblank, not just 20ms
authorJesse Barnes <jbarnes@virtuousgeek.org>
Wed, 18 Aug 2010 20:20:54 +0000 (13:20 -0700)
committerEric Anholt <eric@anholt.net>
Sun, 22 Aug 2010 05:59:23 +0000 (22:59 -0700)
commit9d0498a2bf7455159b317f19531a3e5db2ecc9c4
tree41f2a8b1013d2ee12852d8885b9952120f3d6ebb
parentd240f20f545fa4ed78ce48d1eb62ab529f2b1467
drm/i915: wait for actual vblank, not just 20ms

Waiting for a hard coded 20ms isn't always enough to make sure a vblank
period has actually occurred, so add code to make sure we really have
passed through a vblank period (or that the pipe is off when disabling).

This prevents problems with mode setting and link training, and seems to
fix a bug like https://bugs.freedesktop.org/show_bug.cgi?id=29278, but
on an HP 8440p instead.  Hopefully also fixes
https://bugs.freedesktop.org/show_bug.cgi?id=29141.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
drivers/gpu/drm/i915/i915_reg.h
drivers/gpu/drm/i915/intel_crt.c
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/i915/intel_dp.c
drivers/gpu/drm/i915/intel_drv.h
drivers/gpu/drm/i915/intel_sdvo.c
drivers/gpu/drm/i915/intel_tv.c