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 <[email protected]>
---
 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);
-- 
2.43.3

Reply via email to