Skip to content

Commit c98c94d

Browse files
committed
Merge tag 'drm-intel-fixes-2025-02-27' of https://gitlab.freedesktop.org/drm/i915/kernel into drm-fixes
- Fix encoder HW state readout for DP UHBR MST (Imre) Signed-off-by: Dave Airlie <[email protected]> From: Rodrigo Vivi <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2 parents debda50 + 16fef33 commit c98c94d

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

drivers/gpu/drm/i915/display/intel_ddi.c

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -866,7 +866,7 @@ static void intel_ddi_get_encoder_pipes(struct intel_encoder *encoder,
866866
encoder->base.base.id, encoder->base.name);
867867

868868
if (!mst_pipe_mask && dp128b132b_pipe_mask) {
869-
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
869+
struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
870870

871871
/*
872872
* If we don't have 8b/10b MST, but have more than one
@@ -878,7 +878,8 @@ static void intel_ddi_get_encoder_pipes(struct intel_encoder *encoder,
878878
* we don't expect MST to have been enabled at that point, and
879879
* can assume it's SST.
880880
*/
881-
if (hweight8(dp128b132b_pipe_mask) > 1 || intel_dp->is_mst)
881+
if (hweight8(dp128b132b_pipe_mask) > 1 ||
882+
intel_dp_mst_encoder_active_links(dig_port))
882883
mst_pipe_mask = dp128b132b_pipe_mask;
883884
}
884885

@@ -4151,13 +4152,13 @@ static void intel_ddi_read_func_ctl(struct intel_encoder *encoder,
41514152
} else if (ddi_mode == TRANS_DDI_MODE_SELECT_DP_MST) {
41524153
intel_ddi_read_func_ctl_dp_mst(encoder, pipe_config, ddi_func_ctl);
41534154
} else if (ddi_mode == TRANS_DDI_MODE_SELECT_FDI_OR_128B132B && HAS_DP20(display)) {
4154-
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
4155+
struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
41554156

41564157
/*
41574158
* If this is true, we know we're being called from mst stream
41584159
* encoder's ->get_config().
41594160
*/
4160-
if (intel_dp->is_mst)
4161+
if (intel_dp_mst_encoder_active_links(dig_port))
41614162
intel_ddi_read_func_ctl_dp_mst(encoder, pipe_config, ddi_func_ctl);
41624163
else
41634164
intel_ddi_read_func_ctl_dp_sst(encoder, pipe_config, ddi_func_ctl);

0 commit comments

Comments
 (0)