[PATCH] drm/i915/dp_mst: Fix DSC input BPP computation

Luca Coelho luca at coelho.fi
Wed Jun 12 13:35:36 UTC 2024


Hi Imre,

On Tue, 2024-06-11 at 18:33 +0300, Imre Deak wrote:
> The branch or sink device decompressing a stream may have a limitation
> on the input/uncompressed BPP, which is lower than the base line BPP
> (determined by the sink's EDID). In some cases a stream with an input
> BPP higher than this limit will be converted automatically by the device
> decompressing the stream, by truncating the BPP, however in some cases
> - seen at least in Dell dock's DP->HDMI converters - the decompression
> will fail.
> 
> Fix the above by limiting the input BPP correctly. This is done already
> correctly for SST outputs.
> 
> Signed-off-by: Imre Deak <imre.deak at intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_dp_mst.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> index 00fdcbc28e9b7..15c20bedea091 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> @@ -349,6 +349,8 @@ static int intel_dp_dsc_mst_compute_link_config(struct intel_encoder *encoder,
>  	if (max_bpp > sink_max_bpp)
>  		max_bpp = sink_max_bpp;
>  
> +	crtc_state->pipe_bpp = max_bpp;
> +
>  	max_compressed_bpp = intel_dp_dsc_sink_max_compressed_bpp(connector,
>  								  crtc_state,
>  								  max_bpp / 3);

Wouldn't it be better to make the assignment in
intel_dp_dsc_sink_max_compressed_bpp(), since that function is already
making modifications to crtc_state? There is another caller, but I
think it may benefit from the same check.

But this is just a nitpick.  Either way, you have:

Reviewed-by: Luca Coelho <luciano.coelho at intel.com>

--
Cheers,
Luca.


More information about the Intel-gfx mailing list