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 <[email protected]>
Signed-off-by: Imre Deak <[email protected]>
---
 drivers/gpu/drm/i915/display/intel_dp.c | 14 ++++----------
 1 file 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 4603745dee379..75ae8811442a0 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)
-- 
2.49.1

Reply via email to