From: Dmytro Laktyushkin <[email protected]>

Memory latencies are soc specific and should be part of dml soc
bounding box. This change removes them from clk_mgr and has
latency update happen based on memory type when dml socbb is being
updated.

Reviewed-by: Nicholas Kazlauskas <[email protected]>
Reviewed-by: Charlene Liu <[email protected]>
Signed-off-by: Dmytro Laktyushkin <[email protected]>
Signed-off-by: Roman Li <[email protected]>
---
 .../display/dc/clk_mgr/dcn42/dcn42_clk_mgr.c  | 78 -------------------
 .../dcn42/dcn42_soc_and_ip_translator.c       |  4 +
 2 files changed, 4 insertions(+), 78 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn42/dcn42_clk_mgr.c 
b/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn42/dcn42_clk_mgr.c
index ec888aed207d..6a97ce69a562 100644
--- a/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn42/dcn42_clk_mgr.c
+++ b/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn42/dcn42_clk_mgr.c
@@ -611,80 +611,6 @@ static struct clk_bw_params dcn42_bw_params = {
 
 };
 
-static struct wm_table ddr5_wm_table = {
-       .entries = {
-               {
-                       .wm_inst = WM_A,
-                       .wm_type = WM_TYPE_PSTATE_CHG,
-                       .pstate_latency_us = 11.72,
-                       .sr_exit_time_us = 28.0,
-                       .sr_enter_plus_exit_time_us = 30.0,
-                       .valid = true,
-               },
-               {
-                       .wm_inst = WM_B,
-                       .wm_type = WM_TYPE_PSTATE_CHG,
-                       .pstate_latency_us = 11.72,
-                       .sr_exit_time_us = 28.0,
-                       .sr_enter_plus_exit_time_us = 30.0,
-                       .valid = true,
-               },
-               {
-                       .wm_inst = WM_C,
-                       .wm_type = WM_TYPE_PSTATE_CHG,
-                       .pstate_latency_us = 11.72,
-                       .sr_exit_time_us = 28.0,
-                       .sr_enter_plus_exit_time_us = 30.0,
-                       .valid = true,
-               },
-               {
-                       .wm_inst = WM_D,
-                       .wm_type = WM_TYPE_PSTATE_CHG,
-                       .pstate_latency_us = 11.72,
-                       .sr_exit_time_us = 28.0,
-                       .sr_enter_plus_exit_time_us = 30.0,
-                       .valid = true,
-               },
-       }
-};
-
-static struct wm_table lpddr5_wm_table = {
-       .entries = {
-               {
-                       .wm_inst = WM_A,
-                       .wm_type = WM_TYPE_PSTATE_CHG,
-                       .pstate_latency_us = 11.65333,
-                       .sr_exit_time_us = 28.0,
-                       .sr_enter_plus_exit_time_us = 30.0,
-                       .valid = true,
-               },
-               {
-                       .wm_inst = WM_B,
-                       .wm_type = WM_TYPE_PSTATE_CHG,
-                       .pstate_latency_us = 11.65333,
-                       .sr_exit_time_us = 28.0,
-                       .sr_enter_plus_exit_time_us = 30.0,
-                       .valid = true,
-               },
-               {
-                       .wm_inst = WM_C,
-                       .wm_type = WM_TYPE_PSTATE_CHG,
-                       .pstate_latency_us = 11.65333,
-                       .sr_exit_time_us = 28.0,
-                       .sr_enter_plus_exit_time_us = 30.0,
-                       .valid = true,
-               },
-               {
-                       .wm_inst = WM_D,
-                       .wm_type = WM_TYPE_PSTATE_CHG,
-                       .pstate_latency_us = 11.65333,
-                       .sr_exit_time_us = 28.0,
-                       .sr_enter_plus_exit_time_us = 30.0,
-                       .valid = true,
-               },
-       }
-};
-
 struct dcn42_ss_info_table dcn42_ss_info_table = {
        .ss_divider = 1000,
        .ss_percentage = {0, 0, 375, 375, 375}
@@ -1141,10 +1067,6 @@ void dcn42_clk_mgr_construct(
                if (ctx->dc_bios->integrated_info) {
                        clk_mgr->base.base.dentist_vco_freq_khz = 
ctx->dc_bios->integrated_info->dentist_vco_freq;
 
-                       if (ctx->dc_bios->integrated_info->memory_type == 
LpDdr5MemType)
-                               dcn42_bw_params.wm_table = lpddr5_wm_table;
-                       else
-                               dcn42_bw_params.wm_table = ddr5_wm_table;
                        dcn42_bw_params.vram_type = 
ctx->dc_bios->integrated_info->memory_type;
                        dcn42_bw_params.dram_channel_width_bytes = 
ctx->dc_bios->integrated_info->memory_type == 0x22 ? 8 : 4;
                        dcn42_bw_params.num_channels = 
ctx->dc_bios->integrated_info->ma_channel_number ? 
ctx->dc_bios->integrated_info->ma_channel_number : 1;
diff --git 
a/drivers/gpu/drm/amd/display/dc/soc_and_ip_translator/dcn42/dcn42_soc_and_ip_translator.c
 
b/drivers/gpu/drm/amd/display/dc/soc_and_ip_translator/dcn42/dcn42_soc_and_ip_translator.c
index 146a6e47934b..e723b4d0aff3 100644
--- 
a/drivers/gpu/drm/amd/display/dc/soc_and_ip_translator/dcn42/dcn42_soc_and_ip_translator.c
+++ 
b/drivers/gpu/drm/amd/display/dc/soc_and_ip_translator/dcn42/dcn42_soc_and_ip_translator.c
@@ -155,6 +155,10 @@ static void 
dcn42_update_soc_bb_with_values_from_clk_mgr(struct dml2_soc_bb *soc
                
dcn42_convert_dc_clock_table_to_soc_bb_clock_table(&soc_bb->clk_table, 
&soc_bb->vmin_limit,
                        dc->clk_mgr->bw_params);
        }
+
+       if (dc->clk_mgr->bw_params->vram_type == Ddr5MemType) {
+               soc_bb->power_management_parameters = 
dcn42_ddr5_power_management_parameters;
+       }
 }
 
 static void apply_soc_bb_updates(struct dml2_soc_bb *soc_bb, const struct dc 
*dc, const struct dml2_configuration_options *config)
-- 
2.34.1

Reply via email to