[PATCH] Add modesetting pageflip ioctl and corresponding drm event

2009-07-16 Thread krh
From: Kristian Høgsberg This patch adds a vblank synced pageflip ioctl for to the modesetting family of ioctls. The ioctl takes a crtc and an fb and schedules a pageflip to the new fb at the next coming vertical blank event. This feature lets userspace implement tear-free updating of the screen

[PATCH] drm: Return EINVAL on duplicate objects in execbuffer object list

2009-03-03 Thread krh
From: Kristian Høgsberg If userspace passes an object list with the same object appearing more than once, we end up hitting the BUG_ON() in i915_gem_object_set_to_gpu_domain() as it gets called a second time for the same object. Signed-off-by: Kristian Høgsberg --- drivers/gpu/drm/i915/i915_dr

[PATCH] drm: Take mmap_sem up front to avoid lock order violations.

2009-02-18 Thread krh
From: Kristian Høgsberg A number of GEM operations (and legacy drm ones) want to copy data to or from userspace while holding the struct_mutex lock. However, the fault handler calls us with the mmap_sem held and thus enforces the opposite locking order. This patch downs the mmap_sem up front fo

[PATCH] drm: Take mmap_sem up front to avoid lock order violations.

2009-02-18 Thread krh
From: Kristian Høgsberg A number of GEM operations (and legacy drm ones) want to copy data to or from userspace while holding the struct_mutex lock. However, the fault handler calls us with the mmap_sem held and thus enforces the opposite locking order. This patch downs the mmap_sem up front fo

[PATCH] drm: Copy cliprects from user outside struct_mutex.

2009-02-17 Thread krh
From: Kristian Høgsberg This fixes a potential dead lock similar to the one where we copy the new buffer offsets back to userspace, fixed in 0e2f967303023f7f82a0963b7f7f3980d4c08f20. In this case the lock order violation occurs when i915_emit_box() copies the cliprects from userspace from i915_d