This work struct will be used to schedule a uevent on a separate
thread. This will be scheduled after a link train failure during modeset
to indicate a modeset retry request. It will get executed after the
current modeset is complete and all locks are released. This was
required to avoid deadlock.

Cc: dri-devel at lists.freedesktop.org
Cc: Jani Nikula <jani.nikula at linux.intel.com>
Cc: Daniel Vetter <daniel.vetter at intel.com>
Cc: Ville Syrjala <ville.syrjala at linux.intel.com>

Signed-off-by: Manasi Navare <manasi.d.navare at intel.com>
---
 include/drm/drm_connector.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
index d499466..9218a24 100644
--- a/include/drm/drm_connector.h
+++ b/include/drm/drm_connector.h
@@ -687,6 +687,11 @@ struct drm_connector {
         * in case of link train failure during current modeset
         */
        bool link_train_retry;
+
+       /* Work struct to schedule a uevent on link train failure for
+        * DisplayPort.
+        */
+       struct work_struct i915_modeset_retry_work;
 };

 #define obj_to_connector(x) container_of(x, struct drm_connector, base)
-- 
1.9.1

Reply via email to