]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/i915/ddi: For an active output call the DP encoder sync_state() only for DP
authorImre Deak <imre.deak@intel.com>
Mon, 22 Jul 2024 16:54:53 +0000 (19:54 +0300)
committerImre Deak <imre.deak@intel.com>
Wed, 31 Jul 2024 15:45:59 +0000 (18:45 +0300)
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.

Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240722165503.2084999-5-imre.deak@intel.com
drivers/gpu/drm/i915/display/intel_ddi.c

index a07aca96e5517716b4b066ef2200205b524776a7..11ee4406dce8f397b36b2577965d0c0135f85f47 100644 (file)
@@ -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);
 }