diff options
Diffstat (limited to 'include/drm/drm_mode.h')
-rw-r--r-- | include/drm/drm_mode.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/include/drm/drm_mode.h b/include/drm/drm_mode.h index 1f908416aed..68ddc6175ae 100644 --- a/include/drm/drm_mode.h +++ b/include/drm/drm_mode.h | |||
@@ -268,4 +268,37 @@ struct drm_mode_crtc_lut { | |||
268 | __u64 blue; | 268 | __u64 blue; |
269 | }; | 269 | }; |
270 | 270 | ||
271 | #define DRM_MODE_PAGE_FLIP_EVENT 0x01 | ||
272 | #define DRM_MODE_PAGE_FLIP_FLAGS DRM_MODE_PAGE_FLIP_EVENT | ||
273 | |||
274 | /* | ||
275 | * Request a page flip on the specified crtc. | ||
276 | * | ||
277 | * This ioctl will ask KMS to schedule a page flip for the specified | ||
278 | * crtc. Once any pending rendering targeting the specified fb (as of | ||
279 | * ioctl time) has completed, the crtc will be reprogrammed to display | ||
280 | * that fb after the next vertical refresh. The ioctl returns | ||
281 | * immediately, but subsequent rendering to the current fb will block | ||
282 | * in the execbuffer ioctl until the page flip happens. If a page | ||
283 | * flip is already pending as the ioctl is called, EBUSY will be | ||
284 | * returned. | ||
285 | * | ||
286 | * The ioctl supports one flag, DRM_MODE_PAGE_FLIP_EVENT, which will | ||
287 | * request that drm sends back a vblank event (see drm.h: struct | ||
288 | * drm_event_vblank) when the page flip is done. The user_data field | ||
289 | * passed in with this ioctl will be returned as the user_data field | ||
290 | * in the vblank event struct. | ||
291 | * | ||
292 | * The reserved field must be zero until we figure out something | ||
293 | * clever to use it for. | ||
294 | */ | ||
295 | |||
296 | struct drm_mode_crtc_page_flip { | ||
297 | __u32 crtc_id; | ||
298 | __u32 fb_id; | ||
299 | __u32 flags; | ||
300 | __u32 reserved; | ||
301 | __u64 user_data; | ||
302 | }; | ||
303 | |||
271 | #endif | 304 | #endif |