diff options
author | Jesse Barnes <jbarnes@virtuousgeek.org> | 2009-01-06 13:21:24 -0500 |
---|---|---|
committer | Dave Airlie <airlied@linux.ie> | 2009-01-10 17:59:52 -0500 |
commit | dc1336ff4fe08ae7cfe8301bfd7f0b2cfd31d20a (patch) | |
tree | ff3e5a15ccbacb401b256f603fde16da9ec6e482 /drivers/base/firmware_class.c | |
parent | 71e0ffa599f54058d9b8724b4b14d0486751681d (diff) |
drm/i915: set vblank enabled flag correctly across IRQ install/uninstall
In the absence of kernel mode setting, many drivers disable IRQs across VT
switch. The core DRM vblank code is missing a check for this case however;
even after IRQ disable, the vblank code will still have the vblank_enabled
flag set, so unless we track the fact that they're disabled at IRQ uninstall
time, when we VT switch back in we won't actually re-enable them, which means
any apps waiting on vblank before the switch will hang.
This patch does that and also adds a sanity check to the wait condition to
look for the irq_enabled flag in general, as well as adding a wakeup to the
IRQ uninstall path.
Fixes fdo bug #18879 with compiz hangs at VT switch.
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@linux.ie>
Diffstat (limited to 'drivers/base/firmware_class.c')
0 files changed, 0 insertions, 0 deletions