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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 24 May 2023 16:32:36 +0000 (17:32 +0100)
[ Upstream commit 385c3e4c29e1d4ce8f68687a8c84621e4c0e0416 ]

[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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
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 49da811..861f32b 100644 (file)
@@ -4866,7 +4866,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 7709403..cf8f3d6 100644 (file)
@@ -5189,7 +5189,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 69516cf..4998b21 100644 (file)
@@ -5286,7 +5286,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 e02e9d4..2bb7684 100644 (file)
@@ -3333,7 +3333,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]);
                                }