]> rtime.felk.cvut.cz Git - linux-imx.git/blobdiff - include/drm/drm_crtc.h
drm: kms_helper: don't lose hotplug event
[linux-imx.git] / include / drm / drm_crtc.h
index 53c33e28a2f7a5da71f0015d7a7048b9d626f54e..0fd007af8de9e3d24a9a5e2f7cfff9cd6f6a81de 100644 (file)
@@ -409,6 +409,10 @@ struct drm_crtc {
        /* framebuffer the connector is currently bound to */
        struct drm_framebuffer *fb;
 
+       /* Temporary tracking of the old fb while a modeset is ongoing. Used
+        * by drm_mode_set_config_internal to implement correct refcounting. */
+       struct drm_framebuffer *old_fb;
+
        bool enabled;
 
        /* Requested mode from modesetting. */
@@ -654,11 +658,7 @@ struct drm_plane_funcs {
  * @format_count: number of formats supported
  * @crtc: currently bound CRTC
  * @fb: currently bound fb
- * @gamma_size: size of gamma table
- * @gamma_store: gamma correction table
- * @enabled: enabled flag
  * @funcs: helper functions
- * @helper_private: storage for drver layer
  * @properties: property tracking for this plane
  */
 struct drm_plane {
@@ -674,14 +674,7 @@ struct drm_plane {
        struct drm_crtc *crtc;
        struct drm_framebuffer *fb;
 
-       /* CRTC gamma size for reporting to userspace */
-       uint32_t gamma_size;
-       uint16_t *gamma_store;
-
-       bool enabled;
-
        const struct drm_plane_funcs *funcs;
-       void *helper_private;
 
        struct drm_object_properties properties;
 };
@@ -815,6 +808,7 @@ struct drm_mode_config {
        /* output poll support */
        bool poll_enabled;
        bool poll_running;
+       bool delayed_event;
        struct delayed_work output_poll_work;
 
        /* pointers to standard properties */
@@ -894,6 +888,7 @@ extern int drm_plane_init(struct drm_device *dev,
                          const uint32_t *formats, uint32_t format_count,
                          bool priv);
 extern void drm_plane_cleanup(struct drm_plane *plane);
+extern void drm_plane_force_disable(struct drm_plane *plane);
 
 extern void drm_encoder_cleanup(struct drm_encoder *encoder);