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.

v2:
* Create a generic work func not i915 specific (Daniel Vetter)

Cc: dri-de...@lists.freedesktop.org
Cc: Jani Nikula <jani.nik...@linux.intel.com>
Cc: Daniel Vetter <daniel.vet...@intel.com>
Cc: Ville Syrjala <ville.syrj...@linux.intel.com>

Signed-off-by: Manasi Navare <manasi.d.nav...@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 ac9d7d8..fc9d475 100644
--- a/include/drm/drm_connector.h
+++ b/include/drm/drm_connector.h
@@ -682,6 +682,11 @@ struct drm_connector {
        uint8_t num_h_tile, num_v_tile;
        uint8_t tile_h_loc, tile_v_loc;
        uint16_t tile_h_size, tile_v_size;
+
+       /* Work struct to schedule a uevent on link train failure for
+        * DisplayPort.
+        */
+       struct work_struct modeset_retry_work;
 };
 
 #define obj_to_connector(x) container_of(x, struct drm_connector, base)
-- 
1.9.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to