summaryrefslogtreecommitdiff
path: root/linux-lts-6.14-rc3-blob/0004-drm-i915-Fix-clamp-error-for-DSC-min-max-bpc-calculation.patch
blob: 7d8b1310d64dcca211930cca07933101a44f84ce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index f1f3b1bb1..53f84da43 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -2503,8 +2503,9 @@ intel_dp_dsc_compute_pipe_bpp_limits(struct intel_dp *intel_dp,
 	int dsc_min_bpc = intel_dp_dsc_min_src_input_bpc();
 	int dsc_max_bpc = intel_dp_dsc_max_src_input_bpc(display);
 
-	limits->pipe.max_bpp = clamp(limits->pipe.max_bpp, dsc_min_bpc * 3, dsc_max_bpc * 3);
-	limits->pipe.min_bpp = clamp(limits->pipe.min_bpp, dsc_min_bpc * 3, dsc_max_bpc * 3);
+	limits->pipe.max_bpp = (dsc_min_bpc * 3 > dsc_max_bpc * 3) ?
+	dsc_max_bpc * 3 : clamp(limits->pipe.max_bpp, dsc_min_bpc * 3, dsc_max_bpc * 3);
+	limits->pipe.min_bpp = (dsc_min_bpc * 3 > dsc_max_bpc * 3) ? dsc_max_bpc * 3 : clamp(limits->pipe.min_bpp, dsc_min_bpc * 3, dsc_max_bpc * 3);
 }
 
 bool