Merge drm/drm-next into drm-intel-next
[sfrench/cifs-2.6.git] / drivers / gpu / drm / i915 / display / intel_display_core.h
index 7e82b87e9cde7e42690373670fcd09487867b829..8853a05dc3318ccb3e31ff75617ab37e1c508efe 100644 (file)
@@ -28,6 +28,8 @@
 #include "intel_opregion.h"
 #include "intel_wm_types.h"
 
+struct task_struct;
+
 struct drm_i915_private;
 struct drm_property;
 struct drm_property_blob;
@@ -172,6 +174,12 @@ struct intel_hotplug {
        struct work_struct poll_init_work;
        bool poll_enabled;
 
+       /*
+        * Queuing of hotplug_work, reenable_work and poll_init_work is
+        * enabled. Protected by drm_i915_private::irq_lock.
+        */
+       bool detection_work_enabled;
+
        unsigned int hpd_storm_threshold;
        /* Whether or not to count short HPD IRQs in HPD storms */
        u8 hpd_short_storm_enabled;
@@ -298,11 +306,10 @@ struct intel_display {
                const struct intel_audio_funcs *audio;
        } funcs;
 
-       /* Grouping using anonymous structs. Keep sorted. */
-       struct intel_atomic_helper {
-               struct llist_head free_list;
-               struct work_struct free_work;
-       } atomic_helper;
+       struct {
+               bool any_task_allowed;
+               struct task_struct *allowed_task;
+       } access;
 
        struct {
                /* backlight registers and fields in struct intel_panel */