summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Shen <george.shen@amd.com>2021-09-16 19:55:39 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-07-05 09:00:21 +0200
commit656068638e1da7728abde65760bc8e61106a9b34 (patch)
treecce7292dea54e43f13d3d0496fd8a2b9c888c010
parentf71a53148ce34898fef099b75386a3a9f4449311 (diff)
drm/amd/display: Handle Y carry-over in VCP X.Y calculation
[ Upstream commit 3626a6aebe62ce7067cdc460c0c644e9445386bb ] [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.liu@amd.com> Acked-by: Anson Jacob <Anson.Jacob@amd.com> Signed-off-by: George Shen <george.shen@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--drivers/gpu/drm/amd/display/dc/dcn10/dcn10_stream_encoder.c6
1 files changed, 6 insertions, 0 deletions
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 6f9078f3c4d3..17bcf7ce4099 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
@@ -620,6 +620,12 @@ void enc1_stream_encoder_set_mst_bandwidth(
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);