Even without bigjoiner I get a timeout when enabling FEC, the length of the timeout doesn't matter, still happens with 10s timeout. It seems that DP-MST waits for ACT in enable_dp() so we could postpone it in normal bringup in a similar way, just to be sure. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> --- drivers/gpu/drm/i915/display/intel_ddi.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c index 81205b75da78..a88348464ffd 100644 --- a/drivers/gpu/drm/i915/display/intel_ddi.c +++ b/drivers/gpu/drm/i915/display/intel_ddi.c @@ -3138,10 +3138,6 @@ static void intel_ddi_enable_fec(struct intel_encoder *encoder, val = I915_READ(DP_TP_CTL(port)); val |= DP_TP_CTL_FEC_ENABLE; I915_WRITE(DP_TP_CTL(port), val); - - if (intel_de_wait_for_set(dev_priv, DP_TP_STATUS(port), - DP_TP_STATUS_FEC_ENABLE_LIVE, 1)) - DRM_ERROR("Timed out waiting for FEC Enable Status\n"); } static void intel_ddi_disable_fec_state(struct intel_encoder *encoder, @@ -3473,6 +3469,11 @@ static void intel_enable_ddi_dp(struct intel_encoder *encoder, if (port == PORT_A && INTEL_GEN(dev_priv) < 9) intel_dp_stop_link_train(intel_dp); + if (crtc_state->fec_enable && + intel_de_wait_for_set(dev_priv, DP_TP_STATUS(port), + DP_TP_STATUS_FEC_ENABLE_LIVE, 1)) + DRM_ERROR("Timed out waiting for FEC Enable Status\n"); + intel_edp_backlight_on(crtc_state, conn_state); intel_psr_enable(intel_dp, crtc_state); intel_dp_ycbcr_420_enable(intel_dp, crtc_state); -- 2.20.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx