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

Reply via email to