diff options
author | Dave Airlie <airlied@redhat.com> | 2009-11-18 00:09:55 (GMT) |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2009-11-18 00:09:55 (GMT) |
commit | 46557bef3f3834ac33031c7be27d39d90d507442 (patch) | |
tree | 5cfc4a9e1263fe0a15e516ca9695ee2f9b8899e4 /include/drm/drm_crtc.h | |
parent | 4efc50d697ed8d9a91f0005d922907a7b6c9290d (diff) | |
parent | d91d8a3f88059d93e34ac70d059153ec69a9ffc7 (diff) | |
download | linux-fsl-qoriq-46557bef3f3834ac33031c7be27d39d90d507442.tar.xz |
Merge branch 'drm-core-next' of ../linux-2.6 into drm-next
Diffstat (limited to 'include/drm/drm_crtc.h')
-rw-r--r-- | include/drm/drm_crtc.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h index b69347b..4cc8a32 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h @@ -290,6 +290,7 @@ struct drm_property { struct drm_crtc; struct drm_connector; struct drm_encoder; +struct drm_pending_vblank_event; /** * drm_crtc_funcs - control CRTCs for a given device @@ -333,6 +334,19 @@ struct drm_crtc_funcs { void (*destroy)(struct drm_crtc *crtc); int (*set_config)(struct drm_mode_set *set); + + /* + * Flip to the given framebuffer. This implements the page + * flip ioctl descibed in drm_mode.h, specifically, the + * implementation must return immediately and block all + * rendering to the current fb until the flip has completed. + * If userspace set the event flag in the ioctl, the event + * argument will point to an event to send back when the flip + * completes, otherwise it will be NULL. + */ + int (*page_flip)(struct drm_crtc *crtc, + struct drm_framebuffer *fb, + struct drm_pending_vblank_event *event); }; /** @@ -756,6 +770,8 @@ extern int drm_mode_gamma_get_ioctl(struct drm_device *dev, extern int drm_mode_gamma_set_ioctl(struct drm_device *dev, void *data, struct drm_file *file_priv); extern bool drm_detect_hdmi_monitor(struct edid *edid); +extern int drm_mode_page_flip_ioctl(struct drm_device *dev, + void *data, struct drm_file *file_priv); extern struct drm_display_mode *drm_cvt_mode(struct drm_device *dev, int hdisplay, int vdisplay, int vrefresh, bool reduced, bool interlaced, bool margins); |