From: Imre Deak Date: Mon, 22 Dec 2025 15:35:44 +0000 (+0200) Subject: drm/i915/dp: Simplify computing forced DSC BPP for DP-SST X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2b68b9b80f9ee75d4e7e159aa082dcd8c1e4e05c;p=thirdparty%2Fkernel%2Flinux.git drm/i915/dp: Simplify computing forced DSC BPP for DP-SST If dsc_compute_compressed_bpp() failed with a forced pipe BPP value (where the forced pipe BPP value itself is valid within the min/max pipe BPP limits), the function will also fail when called with the maximum pipe BPP value: dsc_compute_compressed_bpp() will try all compressed BPPs below the passed in pipe BPP value and if the function failed with a given (low) compressed BPP value it will also fail with a compressed BPP value higher than the one which failed already. Based on the above remove the logic to retry computing a compressed BPP value with the maximum pipe BPP value if computing the compressed BPP failed already with the (lower) forced pipe BPP value. Reviewed-by: Vinod Govindapillai Signed-off-by: Imre Deak Link: https://patch.msgid.link/20251222153547.713360-18-imre.deak@intel.com --- diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c index 4603745dee37..75ae8811442a 100644 --- a/drivers/gpu/drm/i915/display/intel_dp.c +++ b/drivers/gpu/drm/i915/display/intel_dp.c @@ -2299,17 +2299,11 @@ static int intel_dp_dsc_compute_pipe_bpp(struct intel_dp *intel_dp, int ret; forced_bpp = intel_dp_force_dsc_pipe_bpp(intel_dp, limits); + if (forced_bpp) + pipe_bpp = forced_bpp; + else + pipe_bpp = limits->pipe.max_bpp; - if (forced_bpp) { - ret = dsc_compute_compressed_bpp(intel_dp, pipe_config, conn_state, - limits, forced_bpp); - if (ret == 0) { - pipe_config->pipe_bpp = forced_bpp; - return 0; - } - } - - pipe_bpp = limits->pipe.max_bpp; ret = dsc_compute_compressed_bpp(intel_dp, pipe_config, conn_state, limits, pipe_bpp); if (ret)