From: George Shen <george.s...@amd.com>

[Why/How]
Theoretically rare corner case where ceil(Y) results in rounding
up to an integer. If this happens, the 1 should be carried over to
the X value.

Reviewed-by: Wenjing Liu <wenjing....@amd.com>
Acked-by: Anson Jacob <anson.ja...@amd.com>
Signed-off-by: George Shen <george.s...@amd.com>
---
 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_stream_encoder.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_stream_encoder.c 
b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_stream_encoder.c
index 687c3c6881a9..b0c08ee6bc2c 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_stream_encoder.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_stream_encoder.c
@@ -647,6 +647,12 @@ void enc1_stream_encoder_set_throttled_vcp_size(
                                x),
                        26));
 
+       // If y rounds up to integer, carry it over to x.
+       if (y >> 26) {
+               x += 1;
+               y = 0;
+       }
+
        REG_SET_2(DP_MSE_RATE_CNTL, 0,
                DP_MSE_RATE_X, x,
                DP_MSE_RATE_Y, y);
-- 
2.25.1

Reply via email to