drm/libdrm
Jesse Barnes f4f76a6894 libdrm: add timeout handling to drmWaitVBlank
In some cases, vblank interrupts may be disabled or otherwise broken.
The kernel has a 3s timeout builtin to handle these cases, but the X
server's SIGALM for cursor handling may interrupt vblank wait ioctls,
causing libdrm to restart the ioctl, making the kernel's timeout
useless.

This change tracks time across ioctl restarts and returns EBUSY to the
caller if the expected vblank sequence doesn't occur within 1s of the
first call.

Fixes fdo bz #18041, which is caused by a drmWaitVBlank hanging due to
the corresponding pipe getting disabled (thus preventing further events
from coming in).
2009-01-07 10:18:08 -08:00
..
intel intel: Cache tiling/swizzle state in user mode. Reset tiling on reuse. 2008-12-17 10:29:15 -08:00
ChangeLog Avoid walking off the end of the hash table. (Coverity report #465) 2006-03-15 01:02:54 +00:00
Makefile.am libdrm: add timeout handling to drmWaitVBlank 2009-01-07 10:18:08 -08:00
TODO Formatting cleanup, dead code removal. Remove N() namespacing macro, 2006-02-20 23:09:00 +00:00
libdrm_lists.h Drop TTM interfaces from the userland library. 2008-08-08 15:57:47 -07:00
xf86drm.c libdrm: add timeout handling to drmWaitVBlank 2009-01-07 10:18:08 -08:00
xf86drm.h libdrm: add mode setting files 2008-12-17 10:11:37 -08:00
xf86drmHash.c drm: remove drm_u64_t, replace with uint64_t everwhere 2007-07-18 09:42:06 +10:00
xf86drmMode.c libdrm: add mode setting files 2008-12-17 10:11:37 -08:00
xf86drmMode.h libdrm: add mode setting files 2008-12-17 10:11:37 -08:00
xf86drmRandom.c drm: remove drm_u64_t, replace with uint64_t everwhere 2007-07-18 09:42:06 +10:00
xf86drmSL.c drm: remove drm_u64_t, replace with uint64_t everwhere 2007-07-18 09:42:06 +10:00
xf86mm.h Fix and hook up bufmgr code to the build. 2008-06-03 14:44:53 -07:00