Commit 2b68b9b8 authored by Imre Deak's avatar Imre Deak
Browse files

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: default avatarVinod Govindapillai <vinod.govindapillai@intel.com>
Signed-off-by: default avatarImre Deak <imre.deak@intel.com>
Link: https://patch.msgid.link/20251222153547.713360-18-imre.deak@intel.com
parent ce46682f
Loading
Loading
Loading
Loading
+4 −10
Original line number Diff line number Diff line
@@ -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) {
		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;
		}
	}

	if (forced_bpp)
		pipe_bpp = forced_bpp;
	else
		pipe_bpp = limits->pipe.max_bpp;

	ret = dsc_compute_compressed_bpp(intel_dp, pipe_config, conn_state,
					 limits, pipe_bpp);
	if (ret)