drm/i915/mst: enable MST mode for 128b/132b single-stream sideband
authorJani Nikula <jani.nikula@intel.com>
Tue, 19 Mar 2024 09:12:53 +0000 (11:12 +0200)
committerJani Nikula <jani.nikula@intel.com>
Thu, 21 Mar 2024 06:44:36 +0000 (08:44 +0200)
If the sink supports 128b/132b and single-stream sideband messaging,
enable MST mode.

With this, the topology manager will still write DP_MSTM_CTRL, which
should be ignored by the sink. In the future, the topology manager
should probably only set the sideband messaging related parts of the
register.

Cc: Arun R Murthy <arun.r.murthy@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/39d753e53cd662c3fd3776b6167bf792219fd950.1710839496.git.jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/display/intel_dp.c

index 24f7c2a9b707ccc99a60dd282975e797f55eb4c5..3d09cd65664dbeac646d6a2c8461010a584c2691 100644 (file)
@@ -4061,7 +4061,8 @@ intel_dp_mst_mode_choose(struct intel_dp *intel_dp,
        if (!intel_dp_mst_source_support(intel_dp))
                return DRM_DP_SST;
 
-       if (sink_mst_mode == DRM_DP_SST_SIDEBAND_MSG)
+       if (sink_mst_mode == DRM_DP_SST_SIDEBAND_MSG &&
+           !(intel_dp->dpcd[DP_MAIN_LINK_CHANNEL_CODING] & DP_CAP_ANSI_128B132B))
                return DRM_DP_SST;
 
        return sink_mst_mode;