]> www.infradead.org Git - users/willy/xarray.git/commitdiff
drm/i915/dp_mst: Fix DSC input BPP computation
authorImre Deak <imre.deak@intel.com>
Tue, 11 Jun 2024 15:33:51 +0000 (18:33 +0300)
committerImre Deak <imre.deak@intel.com>
Thu, 13 Jun 2024 14:31:48 +0000 (17:31 +0300)
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 <luciano.coelho@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240611153351.3013235-1-imre.deak@intel.com
drivers/gpu/drm/i915/display/intel_dp_mst.c

index c3c889a5b7ee526cfe66dec0d349304a5a6e9f78..6fd0511ab7dd581c14dd274660ad2441d43b1108 100644 (file)
@@ -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);