[Intel-gfx] [PATCH v2 4/6] drm/i915/dp: Do not grab crtc modeset lock in intel_dp_detect()
Souza, Jose
jose.souza at intel.com
Tue Sep 25 20:58:41 UTC 2018
On Mon, 2018-09-24 at 15:45 -0700, Dhinakaran Pandiyan wrote:
> A crtc modeset lock was added for link retraining but
> intel_dp_retrain_link() knows to take the necessary locks since
> commit c85d200e8321 ("drm/i915: Move SST DP link retraining into the
> ->post_hotplug() hook")
>
> Fixes: c85d200e8321 ("drm/i915: Move SST DP link retraining into the
> ->post_hotplug() hook")
Reviewed-by: José Roberto de Souza <jose.souza at intel.com>
> Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan at intel.com>
> ---
> drivers/gpu/drm/i915/intel_dp.c | 22 ++++++++--------------
> 1 file changed, 8 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_dp.c
> b/drivers/gpu/drm/i915/intel_dp.c
> index 09229fc66dec..87a631098a6d 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -5079,8 +5079,13 @@ intel_dp_long_pulse(struct intel_connector
> *connector,
> * Some external monitors do not signal loss of link
> synchronization
> * with an IRQ_HPD, so force a link status check.
> */
> - if (!intel_dp_is_edp(intel_dp))
> - intel_dp_retrain_link(encoder, ctx);
> + if (!intel_dp_is_edp(intel_dp)) {
> + int ret;
> +
> + ret = intel_dp_retrain_link(encoder, ctx);
> + if (ret)
> + return ret;
> + }
>
> /*
> * Clearing NACK and defer counts to get their exact values
> @@ -5130,19 +5135,8 @@ intel_dp_detect(struct drm_connector
> *connector,
> connector->base.id, connector->name);
>
> /* If full detect is not performed yet, do a full detect */
> - if (!intel_dp->detect_done) {
> - struct drm_crtc *crtc;
> - int ret;
> -
> - crtc = connector->state->crtc;
> - if (crtc) {
> - ret = drm_modeset_lock(&crtc->mutex, ctx);
> - if (ret)
> - return ret;
> - }
> -
> + if (!intel_dp->detect_done)
> status = intel_dp_long_pulse(intel_dp-
> >attached_connector, ctx);
> - }
>
> intel_dp->detect_done = false;
>
More information about the Intel-gfx
mailing list