From: Pranay Samala <[email protected]>

The integer lut programming loop never executes completely due to
incorrect condition (i++ > 130).

Fix to properly program 129th+ entries for values > 1.0.

Cc: <[email protected]> #v6.19
Fixes: 82caa1c8813f ("drm/i915/color: Program Pre-CSC registers")
Signed-off-by: Pranay Samala <[email protected]>
---
 drivers/gpu/drm/i915/display/intel_color.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_color.c 
b/drivers/gpu/drm/i915/display/intel_color.c
index e7950655434b..6d1cffc6d2be 100644
--- a/drivers/gpu/drm/i915/display/intel_color.c
+++ b/drivers/gpu/drm/i915/display/intel_color.c
@@ -3976,7 +3976,7 @@ xelpd_program_plane_pre_csc_lut(struct intel_dsb *dsb,
                                intel_de_write_dsb(display, dsb,
                                                   
PLANE_PRE_CSC_GAMC_DATA_ENH(pipe, plane, 0),
                                                   (1 << 24));
-                       } while (i++ > 130);
+                       } while (i++ < 130);
                } else {
                        for (i = 0; i < lut_size; i++) {
                                u32 v = (i * ((1 << 24) - 1)) / (lut_size - 1);
-- 
2.25.1

Reply via email to