Merge tag 'topic/atomic-core-2015-01-05' of git://anongit.freedesktop.org/drm-intel...
[firefly-linux-kernel-4.4.55.git] / include / drm / drmP.h
index 0f7115e988a075fe393858abff82128408e6f4c0..e928625a9da0be41b7b03508a19f3df2cfb8acb5 100644 (file)
@@ -747,8 +747,6 @@ struct drm_device {
 
        /** \name Context support */
        /*@{ */
-       bool irq_enabled;               /**< True if irq handler is enabled */
-       int irq;
 
        __volatile__ long context_flag; /**< Context swapping flag */
        int last_context;               /**< Last current context */
@@ -756,6 +754,8 @@ struct drm_device {
 
        /** \name VBLANK IRQ support */
        /*@{ */
+       bool irq_enabled;
+       int irq;
 
        /*
         * At load time, disabling the vblank interrupt won't be allowed since
@@ -904,11 +904,15 @@ extern int drm_vblank_init(struct drm_device *dev, int num_crtcs);
 extern int drm_wait_vblank(struct drm_device *dev, void *data,
                           struct drm_file *filp);
 extern u32 drm_vblank_count(struct drm_device *dev, int crtc);
+extern u32 drm_crtc_vblank_count(struct drm_crtc *crtc);
 extern u32 drm_vblank_count_and_time(struct drm_device *dev, int crtc,
                                     struct timeval *vblanktime);
 extern void drm_send_vblank_event(struct drm_device *dev, int crtc,
                                     struct drm_pending_vblank_event *e);
+extern void drm_crtc_send_vblank_event(struct drm_crtc *crtc,
+                                      struct drm_pending_vblank_event *e);
 extern bool drm_handle_vblank(struct drm_device *dev, int crtc);
+extern bool drm_crtc_handle_vblank(struct drm_crtc *crtc);
 extern int drm_vblank_get(struct drm_device *dev, int crtc);
 extern void drm_vblank_put(struct drm_device *dev, int crtc);
 extern int drm_crtc_vblank_get(struct drm_crtc *crtc);