From: Imre Deak Date: Tue, 11 Jun 2024 15:33:51 +0000 (+0300) Subject: drm/i915/dp_mst: Fix DSC input BPP computation X-Git-Tag: v6.11-rc1~141^2~20^2~58 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=efde66b9654830170f46667a8f0ddf16fae6dbef;p=thirdparty%2Flinux.git drm/i915/dp_mst: Fix DSC input BPP computation 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. Reviewed-by: Luca Coelho Signed-off-by: Imre Deak Link: https://patchwork.freedesktop.org/patch/msgid/20240611153351.3013235-1-imre.deak@intel.com --- diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c index c3c889a5b7ee5..6fd0511ab7dd5 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);