drm/amd/display: Correct DML calculation to follow HW SPEC
authorPaul Hsieh <Paul.Hsieh@amd.com>
Wed, 22 Mar 2023 09:46:31 +0000 (17:46 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 11 Apr 2023 22:03:35 +0000 (18:03 -0400)
[Why]
In 2560x1600@240p eDP panel, driver use lowest voltage level
to play 1080p video cause underflow. According to HW SPEC,
the senario should use high voltage level.

[How]
ChromaPre value is zero when bandwidth validation.
Correct ChromaPre calculation.

Reviewed-by: Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com>
Reviewed-by: Jun Lei <Jun.Lei@amd.com>
Acked-by: Qingqing Zhuo <qingqing.zhuo@amd.com>
Signed-off-by: Paul Hsieh <Paul.Hsieh@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/dml/dcn30/display_mode_vba_30.c
drivers/gpu/drm/amd/display/dc/dml/dcn31/display_mode_vba_31.c
drivers/gpu/drm/amd/display/dc/dml/dcn314/display_mode_vba_314.c
drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_32.c

index d030317..7d0626e 100644 (file)
@@ -4864,7 +4864,7 @@ void dml30_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l
                                                        v->DETBufferSizeCThisState[k],
                                                        &v->UrgentBurstFactorCursorPre[k],
                                                        &v->UrgentBurstFactorLumaPre[k],
-                                                       &v->UrgentBurstFactorChroma[k],
+                                                       &v->UrgentBurstFactorChromaPre[k],
                                                        &v->NoUrgentLatencyHidingPre[k]);
                                }
 
index 536a636..bd674dc 100644 (file)
@@ -5191,7 +5191,7 @@ void dml31_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l
                                                        v->DETBufferSizeCThisState[k],
                                                        &v->UrgentBurstFactorCursorPre[k],
                                                        &v->UrgentBurstFactorLumaPre[k],
-                                                       &v->UrgentBurstFactorChroma[k],
+                                                       &v->UrgentBurstFactorChromaPre[k],
                                                        &v->NotUrgentLatencyHidingPre[k]);
                                }
 
index daf3193..7eb2173 100644 (file)
@@ -5288,7 +5288,7 @@ void dml314_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_
                                                        v->DETBufferSizeCThisState[k],
                                                        &v->UrgentBurstFactorCursorPre[k],
                                                        &v->UrgentBurstFactorLumaPre[k],
-                                                       &v->UrgentBurstFactorChroma[k],
+                                                       &v->UrgentBurstFactorChromaPre[k],
                                                        &v->NotUrgentLatencyHidingPre[k]);
                                }
 
index f74730c..13c7e73 100644 (file)
@@ -3354,7 +3354,7 @@ void dml32_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l
                                                        /* Output */
                                                        &mode_lib->vba.UrgentBurstFactorCursorPre[k],
                                                        &mode_lib->vba.UrgentBurstFactorLumaPre[k],
-                                                       &mode_lib->vba.UrgentBurstFactorChroma[k],
+                                                       &mode_lib->vba.UrgentBurstFactorChromaPre[k],
                                                        &mode_lib->vba.NotUrgentLatencyHidingPre[k]);
                                }