summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorImre Deak <imre.deak@intel.com>2025-12-22 17:35:44 +0200
committerImre Deak <imre.deak@intel.com>2026-01-13 18:42:20 +0200
commit2b68b9b80f9ee75d4e7e159aa082dcd8c1e4e05c (patch)
treefa997d5feaa0e108e337ef17959d6a366da173ee
parentce46682f89111fd0ded74a90c1ea04b36780221b (diff)
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 <vinod.govindapillai@intel.com> Signed-off-by: Imre Deak <imre.deak@intel.com> Link: https://patch.msgid.link/20251222153547.713360-18-imre.deak@intel.com
-rw-r--r--drivers/gpu/drm/i915/display/intel_dp.c14
1 files changed, 4 insertions, 10 deletions
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)