On Wed, 07 May 2025, Imre Deak <[email protected]> wrote: > Determining the SST/MST mode during state computation must be done based > on the output type stored in the CRTC state, which in turn is set once > based on the modeset connector's SST vs. MST type and will not change as > long as the connector is using the CRTC. OTOH the MST mode indicated by > the given connector's intel_dp::is_mst flag can change independently of > the above output type, based on what sink is at any moment plugged to > the connector. > > Fix the state computation accordingly. > > Cc: Jani Nikula <[email protected]> > Fixes: f6971d7427c2 ("drm/i915/mst: adapt intel_dp_mtp_tu_compute_config() > for 128b/132b SST") > Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/4607 > Signed-off-by: Imre Deak <[email protected]>
Thanks for fixing this. Reviewed-by: Jani Nikula <[email protected]> > --- > drivers/gpu/drm/i915/display/intel_dp_mst.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c > b/drivers/gpu/drm/i915/display/intel_dp_mst.c > index aeda59f5fa7a4..30f5636d18b7d 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c > +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c > @@ -253,7 +253,7 @@ int intel_dp_mtp_tu_compute_config(struct intel_dp > *intel_dp, > to_intel_connector(conn_state->connector); > const struct drm_display_mode *adjusted_mode = > &crtc_state->hw.adjusted_mode; > - bool is_mst = intel_dp->is_mst; > + bool is_mst = intel_crtc_has_type(crtc_state, INTEL_OUTPUT_DP_MST); > int bpp_x16, slots = -EINVAL; > int dsc_slice_count = 0; > int max_dpt_bpp_x16; -- Jani Nikula, Intel
