[Why & How]

On laptops with LPDDR5 modules, underflow can be observed.
It's unclear why it only occurs on specific desktop contents. However,
increasing enter/exit latencies by 1us seems to resolve it.

Fixes: https://gitlab.freedesktop.org/drm/amd/-/issues/5065
Signed-off-by: Zhenzhe Zhang <[email protected]>
---
 .../display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c   | 16 ++++++++--------
 .../drm/amd/display/dc/dml/dcn314/dcn314_fpu.c   |  4 ++--
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c 
b/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
index 0cb37827a..7a910cc6d 100644
--- a/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
+++ b/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c
@@ -450,32 +450,32 @@ static struct wm_table lpddr5_wm_table = {
                        .wm_inst = WM_A,
                        .wm_type = WM_TYPE_PSTATE_CHG,
                        .pstate_latency_us = 11.65333,
-                       .sr_exit_time_us = 30.0,
-                       .sr_enter_plus_exit_time_us = 32.0,
+                       .sr_exit_time_us = 31.0,
+                       .sr_enter_plus_exit_time_us = 33.0,
                        .valid = true,
                },
                {
                        .wm_inst = WM_B,
                        .wm_type = WM_TYPE_PSTATE_CHG,
                        .pstate_latency_us = 11.65333,
-                       .sr_exit_time_us = 30.0,
-                       .sr_enter_plus_exit_time_us = 32.0,
+                       .sr_exit_time_us = 31.0,
+                       .sr_enter_plus_exit_time_us = 33.0,
                        .valid = true,
                },
                {
                        .wm_inst = WM_C,
                        .wm_type = WM_TYPE_PSTATE_CHG,
                        .pstate_latency_us = 11.65333,
-                       .sr_exit_time_us = 30.0,
-                       .sr_enter_plus_exit_time_us = 32.0,
+                       .sr_exit_time_us = 31.0,
+                       .sr_enter_plus_exit_time_us = 33.0,
                        .valid = true,
                },
                {
                        .wm_inst = WM_D,
                        .wm_type = WM_TYPE_PSTATE_CHG,
                        .pstate_latency_us = 11.65333,
-                       .sr_exit_time_us = 30.0,
-                       .sr_enter_plus_exit_time_us = 32.0,
+                       .sr_exit_time_us = 31.0,
+                       .sr_enter_plus_exit_time_us = 33.0,
                        .valid = true,
                },
        }
diff --git a/drivers/gpu/drm/amd/display/dc/dml/dcn314/dcn314_fpu.c 
b/drivers/gpu/drm/amd/display/dc/dml/dcn314/dcn314_fpu.c
index df9d50b9b..37c760fbb 100644
--- a/drivers/gpu/drm/amd/display/dc/dml/dcn314/dcn314_fpu.c
+++ b/drivers/gpu/drm/amd/display/dc/dml/dcn314/dcn314_fpu.c
@@ -148,8 +148,8 @@ static struct _vcs_dpi_soc_bounding_box_st dcn3_14_soc = {
                },
        },
        .num_states = 5,
-       .sr_exit_time_us = 16.5,
-       .sr_enter_plus_exit_time_us = 18.5,
+       .sr_exit_time_us = 17.5,
+       .sr_enter_plus_exit_time_us = 19.5,
        .sr_exit_z8_time_us = 268.0,
        .sr_enter_plus_exit_z8_time_us = 393.0,
        .writeback_latency_us = 12.0,
-- 
2.53.0

Reply via email to