aboutsummaryrefslogtreecommitdiffstats
path: root/include/drm/drm_crtc.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/drm/drm_crtc.h')
-rw-r--r--include/drm/drm_crtc.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index bfcc60d101db..51d613673b2e 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -290,6 +290,7 @@ struct drm_property {
290struct drm_crtc; 290struct drm_crtc;
291struct drm_connector; 291struct drm_connector;
292struct drm_encoder; 292struct drm_encoder;
293struct drm_pending_vblank_event;
293 294
294/** 295/**
295 * drm_crtc_funcs - control CRTCs for a given device 296 * drm_crtc_funcs - control CRTCs for a given device
@@ -333,6 +334,19 @@ struct drm_crtc_funcs {
333 void (*destroy)(struct drm_crtc *crtc); 334 void (*destroy)(struct drm_crtc *crtc);
334 335
335 int (*set_config)(struct drm_mode_set *set); 336 int (*set_config)(struct drm_mode_set *set);
337
338 /*
339 * Flip to the given framebuffer. This implements the page
340 * flip ioctl descibed in drm_mode.h, specifically, the
341 * implementation must return immediately and block all
342 * rendering to the current fb until the flip has completed.
343 * If userspace set the event flag in the ioctl, the event
344 * argument will point to an event to send back when the flip
345 * completes, otherwise it will be NULL.
346 */
347 int (*page_flip)(struct drm_crtc *crtc,
348 struct drm_framebuffer *fb,
349 struct drm_pending_vblank_event *event);
336}; 350};
337 351
338/** 352/**
@@ -757,6 +771,8 @@ extern int drm_mode_gamma_get_ioctl(struct drm_device *dev,
757extern int drm_mode_gamma_set_ioctl(struct drm_device *dev, 771extern int drm_mode_gamma_set_ioctl(struct drm_device *dev,
758 void *data, struct drm_file *file_priv); 772 void *data, struct drm_file *file_priv);
759extern bool drm_detect_hdmi_monitor(struct edid *edid); 773extern bool drm_detect_hdmi_monitor(struct edid *edid);
774extern int drm_mode_page_flip_ioctl(struct drm_device *dev,
775 void *data, struct drm_file *file_priv);
760extern struct drm_display_mode *drm_cvt_mode(struct drm_device *dev, 776extern struct drm_display_mode *drm_cvt_mode(struct drm_device *dev,
761 int hdisplay, int vdisplay, int vrefresh, 777 int hdisplay, int vdisplay, int vrefresh,
762 bool reduced, bool interlaced, bool margins); 778 bool reduced, bool interlaced, bool margins);