commit d5eb1b4d54985388c4712d66c44fcbe4ed3c0cf4 Author: Francisco Jerez <currojerez@riseup.net> Date: Wed Oct 20 23:35:40 2010 +0200
- drm/nouveau: Implement the pageflip ioctl. nv0x-nv4x should be mostly fine, nv50 doesn't work yet.
commit 17ed468f83fa0f2fe17ed60164f5660a55b3a424 Author: Ben Skeggs <bskeggs@redhat.com> Date: 2011-02-07 04:27:04 (GMT)
- drm/nv50: enable page flipping
commit 66cb427f17d16d28ba324171486a17964757864e Author: Ben Skeggs <bskeggs@redhat.com> Date: 2011-02-08 05:16:23 (GMT)
- drm/nvc0: support for sw methods + enable page flippingmaster
Specification (from drm_mode.h)
- Request a page flip on the specified crtc. This ioctl will ask KMS to schedule a page flip for the specified crtc. Once any pending rendering targeting the specified fb (as of ioctl time) has completed, the crtc will be reprogrammed to display that fb after the next vertical refresh. The ioctl returns immediately, but subsequent rendering to the current fb will block in the execbuffer ioctl until the page flip happens. If a page flip is already pending as the ioctl is called, EBUSY will be returned. The ioctl supports one flag, DRM_MODE_PAGE_FLIP_EVENT, which will request that drm sends back a vblank event (see drm.h: struct drm_event_vblank) when the page flip is done. The user_data field passed in with this ioctl will be returned as the user_data field in the vblank event struct. The reserved field must be zero until we figure out something clever to use it for.

