diff mbox series

drm/i915/mst: Wait for ACT sent before enabling the pipe

Message ID 20200507144125.2458-1-ville.syrjala@linux.intel.com (mailing list archive)
State New, archived
Headers show
Series drm/i915/mst: Wait for ACT sent before enabling the pipe | expand

Commit Message

Ville Syrjälä May 7, 2020, 2:41 p.m. UTC
From: Ville Syrjälä <ville.syrjala@linux.intel.com>

The correct sequence according to bspec is to wait for the ACT sent
status before we turn on the pipe. Make it so.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_dp_mst.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

Comments

Imre Deak May 11, 2020, 11:47 a.m. UTC | #1
On Thu, May 07, 2020 at 05:41:25PM +0300, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> The correct sequence according to bspec is to wait for the ACT sent
> status before we turn on the pipe. Make it so.
> 
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

Reviewed-by: Imre Deak <imre.deak@intel.com>

> ---
>  drivers/gpu/drm/i915/display/intel_dp_mst.c | 9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> index 4d2384650383..d18b406f2a7d 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> @@ -510,10 +510,6 @@ static void intel_mst_enable_dp(struct intel_atomic_state *state,
>  
>  	intel_ddi_enable_transcoder_func(encoder, pipe_config);
>  
> -	intel_enable_pipe(pipe_config);
> -
> -	intel_crtc_vblank_on(pipe_config);
> -
>  	drm_dbg_kms(&dev_priv->drm, "active links %d\n",
>  		    intel_dp->active_mst_links);
>  
> @@ -524,6 +520,11 @@ static void intel_mst_enable_dp(struct intel_atomic_state *state,
>  	drm_dp_check_act_status(&intel_dp->mst_mgr);
>  
>  	drm_dp_update_payload_part2(&intel_dp->mst_mgr);
> +
> +	intel_enable_pipe(pipe_config);
> +
> +	intel_crtc_vblank_on(pipe_config);
> +
>  	if (pipe_config->has_audio)
>  		intel_audio_codec_enable(encoder, pipe_config, conn_state);
>  }
> -- 
> 2.24.1
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
index 4d2384650383..d18b406f2a7d 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
@@ -510,10 +510,6 @@  static void intel_mst_enable_dp(struct intel_atomic_state *state,
 
 	intel_ddi_enable_transcoder_func(encoder, pipe_config);
 
-	intel_enable_pipe(pipe_config);
-
-	intel_crtc_vblank_on(pipe_config);
-
 	drm_dbg_kms(&dev_priv->drm, "active links %d\n",
 		    intel_dp->active_mst_links);
 
@@ -524,6 +520,11 @@  static void intel_mst_enable_dp(struct intel_atomic_state *state,
 	drm_dp_check_act_status(&intel_dp->mst_mgr);
 
 	drm_dp_update_payload_part2(&intel_dp->mst_mgr);
+
+	intel_enable_pipe(pipe_config);
+
+	intel_crtc_vblank_on(pipe_config);
+
 	if (pipe_config->has_audio)
 		intel_audio_codec_enable(encoder, pipe_config, conn_state);
 }