diff mbox

[RFC,2/8] drm: Define a work struct for scheduling a uevent for modeset retry

Message ID 1476913584-16948-3-git-send-email-manasi.d.navare@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Navare, Manasi Oct. 19, 2016, 9:46 p.m. UTC
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@lists.freedesktop.org
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Daniel Vetter <daniel.vetter@intel.com>
Cc: Ville Syrjala <ville.syrjala@linux.intel.com>

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

Comments

Dhinakaran Pandiyan Oct. 19, 2016, 11:52 p.m. UTC | #1
On Wed, 2016-10-19 at 14:46 -0700, Manasi Navare wrote:
> 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@lists.freedesktop.org

> Cc: Jani Nikula <jani.nikula@linux.intel.com>

> Cc: Daniel Vetter <daniel.vetter@intel.com>

> Cc: Ville Syrjala <ville.syrjala@linux.intel.com>

> 

> Signed-off-by: Manasi Navare <manasi.d.navare@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;


Should this be in struct intel_connector instead ?

>  };

>  

>  #define obj_to_connector(x) container_of(x, struct drm_connector, base)
diff mbox

Patch

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)