[RFC 4/4] drm/i915/mst: enable MST mode for 128b/132b single-stream sideband

Ville Syrjälä ville.syrjala at linux.intel.com
Fri Feb 2 15:54:12 UTC 2024


On Fri, Feb 02, 2024 at 04:05:34PM +0200, Jani Nikula wrote:
> 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,
> drm_dp_mst_topology_mgr_set_mst() bool mst_state parameter should
> probably be turned into an enum drm_dp_mst_mode mst_mode parameter.

Rather I'd say the topology manager should stop concerning itself
with the MST enable bit and just frob the sideband enable bit.
The MST enable bit should be configured at modeset time to
reflect whether we're about to transmit in MST or SST mode.

> 
> Cc: Arun R Murthy <arun.r.murthy at intel.com>
> Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_dp.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> index 4dd9c50226d1..16130e87dc23 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -4020,7 +4020,9 @@ static bool intel_dp_mst_detect(struct intel_dp *intel_dp)
>  
>  	intel_dp->is_mst = i915->display.params.enable_dp_mst &&
>  		intel_dp_mst_source_support(intel_dp) &&
> -		sink_mst_mode == DP_MST_CAPABLE;
> +		(sink_mst_mode == DP_MST_CAPABLE ||
> +		 (sink_mst_mode == DP_MST_SIDEBAND_MSG &&
> +		  intel_dp->dpcd[DP_MAIN_LINK_CHANNEL_CODING] & DP_CAP_ANSI_128B132B));
>  
>  	drm_dbg_kms(&i915->drm,
>  		    "[ENCODER:%d:%s] MST support: port: %s, sink: %s, modparam: %s -> enable: %s\n",
> -- 
> 2.39.2

-- 
Ville Syrjälä
Intel


More information about the dri-devel mailing list