If the DDI encoder output is enabled in HDMI mode there is no point in
calling intel_dp_sync_state(), as in that case the DPCD initialization
will fail - as expected - with AUX timeouts. Prevent calling the hook in
this case.

Signed-off-by: Imre Deak <[email protected]>
---
 drivers/gpu/drm/i915/display/intel_ddi.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c 
b/drivers/gpu/drm/i915/display/intel_ddi.c
index a07aca96e5517..11ee4406dce8f 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi.c
@@ -4172,7 +4172,8 @@ static void intel_ddi_sync_state(struct intel_encoder 
*encoder,
                intel_tc_port_sanitize_mode(enc_to_dig_port(encoder),
                                            crtc_state);
 
-       if (intel_encoder_is_dp(encoder))
+       if ((crtc_state && intel_crtc_has_dp_encoder(crtc_state)) ||
+           (!crtc_state && intel_encoder_is_dp(encoder)))
                intel_dp_sync_state(encoder, crtc_state);
 }
 
-- 
2.44.2

Reply via email to