drm/i915: don't queue flips during a flip pending event
authorJesse Barnes <jbarnes@virtuousgeek.org>
Mon, 5 Apr 2010 21:03:51 +0000 (14:03 -0700)
committerEric Anholt <eric@anholt.net>
Sat, 19 Jun 2010 00:59:48 +0000 (17:59 -0700)
commit83f7fd055eb3f1e843803cd906179d309553967b
tree86d17ba0c90eed7347f2a136c44a821b42c5798d
parentbe26a10bd10271b4a810ece2e540c0cdd77881bc
drm/i915: don't queue flips during a flip pending event

Hardware will set the flip pending ISR bit as soon as it receives the
flip instruction, and (supposedly) clear it once the flip completes
(e.g. at the next vblank).  If we try to send down a flip instruction
while the ISR bit is set, the hardware can become very confused, and we
may never receive the corresponding flip pending interrupt, effectively
hanging the chip.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
drivers/gpu/drm/i915/intel_display.c