Commit 219fa961 authored by Paul Hsieh's avatar Paul Hsieh Committed by Alex Deucher

drm/amd/display: watermark latencies is not enough on DCN31

[Why]
The original latencies were causing underflow in some modes.
Resolution: 2880x1620@60p when HDR enable

[How]
1. Replace with the up-to-date watermark values based on new measurments
2. Correct the ddr_wm_table name to DDR5 on DCN31
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Reviewed-by: default avatarAric Cyr <Aric.Cyr@amd.com>
Acked-by: default avatarStylon Wang <stylon.wang@amd.com>
Signed-off-by: default avatarPaul Hsieh <paul.hsieh@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent d389eafa
...@@ -329,38 +329,38 @@ static struct clk_bw_params dcn31_bw_params = { ...@@ -329,38 +329,38 @@ static struct clk_bw_params dcn31_bw_params = {
}; };
static struct wm_table ddr4_wm_table = { static struct wm_table ddr5_wm_table = {
.entries = { .entries = {
{ {
.wm_inst = WM_A, .wm_inst = WM_A,
.wm_type = WM_TYPE_PSTATE_CHG, .wm_type = WM_TYPE_PSTATE_CHG,
.pstate_latency_us = 11.72, .pstate_latency_us = 11.72,
.sr_exit_time_us = 6.09, .sr_exit_time_us = 9,
.sr_enter_plus_exit_time_us = 7.14, .sr_enter_plus_exit_time_us = 11,
.valid = true, .valid = true,
}, },
{ {
.wm_inst = WM_B, .wm_inst = WM_B,
.wm_type = WM_TYPE_PSTATE_CHG, .wm_type = WM_TYPE_PSTATE_CHG,
.pstate_latency_us = 11.72, .pstate_latency_us = 11.72,
.sr_exit_time_us = 10.12, .sr_exit_time_us = 9,
.sr_enter_plus_exit_time_us = 11.48, .sr_enter_plus_exit_time_us = 11,
.valid = true, .valid = true,
}, },
{ {
.wm_inst = WM_C, .wm_inst = WM_C,
.wm_type = WM_TYPE_PSTATE_CHG, .wm_type = WM_TYPE_PSTATE_CHG,
.pstate_latency_us = 11.72, .pstate_latency_us = 11.72,
.sr_exit_time_us = 10.12, .sr_exit_time_us = 9,
.sr_enter_plus_exit_time_us = 11.48, .sr_enter_plus_exit_time_us = 11,
.valid = true, .valid = true,
}, },
{ {
.wm_inst = WM_D, .wm_inst = WM_D,
.wm_type = WM_TYPE_PSTATE_CHG, .wm_type = WM_TYPE_PSTATE_CHG,
.pstate_latency_us = 11.72, .pstate_latency_us = 11.72,
.sr_exit_time_us = 10.12, .sr_exit_time_us = 9,
.sr_enter_plus_exit_time_us = 11.48, .sr_enter_plus_exit_time_us = 11,
.valid = true, .valid = true,
}, },
} }
...@@ -687,7 +687,7 @@ void dcn31_clk_mgr_construct( ...@@ -687,7 +687,7 @@ void dcn31_clk_mgr_construct(
if (ctx->dc_bios->integrated_info->memory_type == LpDdr5MemType) { if (ctx->dc_bios->integrated_info->memory_type == LpDdr5MemType) {
dcn31_bw_params.wm_table = lpddr5_wm_table; dcn31_bw_params.wm_table = lpddr5_wm_table;
} else { } else {
dcn31_bw_params.wm_table = ddr4_wm_table; dcn31_bw_params.wm_table = ddr5_wm_table;
} }
/* Saved clocks configured at boot for debug purposes */ /* Saved clocks configured at boot for debug purposes */
dcn31_dump_clk_registers(&clk_mgr->base.base.boot_snapshot, &clk_mgr->base.base, &log_info); dcn31_dump_clk_registers(&clk_mgr->base.base.boot_snapshot, &clk_mgr->base.base, &log_info);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment