drm/i915/mst: Wait for ACT sent before enabling the pipe
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 7 May 2020 14:41:25 +0000 (17:41 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 11 May 2020 12:52:52 +0000 (15:52 +0300)
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>
Link: https://patchwork.freedesktop.org/patch/msgid/20200507144125.2458-1-ville.syrjala@linux.intel.com
Reviewed-by: Imre Deak <imre.deak@intel.com>
drivers/gpu/drm/i915/display/intel_dp_mst.c

index 7455937..8c73241 100644 (file)
@@ -512,10 +512,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);
 
@@ -526,6 +522,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);
 }