From: Dmytro Laktyushkin <[email protected]>

[Why & How]
Add missing params to display configuration for dml21

Reviewed-by: Charlene Liu <[email protected]>
Signed-off-by: Dmytro Laktyushkin <[email protected]>
Signed-off-by: Ray Wu <[email protected]>
---
 .../display/dc/dml2_0/dml21/dml21_translation_helper.c    | 8 ++++++--
 .../dc/dml2_0/dml21/inc/dml_top_soc_parameter_types.h     | 2 ++
 drivers/gpu/drm/amd/display/dc/dml2_0/dml2_wrapper.h      | 1 +
 3 files changed, 9 insertions(+), 2 deletions(-)

diff --git 
a/drivers/gpu/drm/amd/display/dc/dml2_0/dml21/dml21_translation_helper.c 
b/drivers/gpu/drm/amd/display/dc/dml2_0/dml21/dml21_translation_helper.c
index 3f4963ce3a00..f4bcebd7ec7f 100644
--- a/drivers/gpu/drm/amd/display/dc/dml2_0/dml21/dml21_translation_helper.c
+++ b/drivers/gpu/drm/amd/display/dc/dml2_0/dml21/dml21_translation_helper.c
@@ -737,8 +737,12 @@ bool dml21_map_dc_state_into_dml_display_cfg(const struct 
dc *in_dc, struct dc_s
        memset(&dml_ctx->v21.dml_to_dc_pipe_mapping, 0, sizeof(struct 
dml2_dml_to_dc_pipe_mapping));
 
        dml_dispcfg->gpuvm_enable = dml_ctx->config.gpuvm_enable;
-       dml_dispcfg->gpuvm_max_page_table_levels = 4;
-       dml_dispcfg->hostvm_enable = false;
+       if (dml_ctx->v21.dml_init.soc_bb.gpuvm_max_page_table_levels)
+               dml_dispcfg->gpuvm_max_page_table_levels = 
dml_ctx->v21.dml_init.soc_bb.gpuvm_max_page_table_levels;
+       else
+               dml_dispcfg->gpuvm_max_page_table_levels = 4;
+       dml_dispcfg->hostvm_enable = dml_ctx->config.hostvm_enable;
+       dml_dispcfg->hostvm_max_non_cached_page_table_levels = 
dml_ctx->v21.dml_init.soc_bb.hostvm_max_non_cached_page_table_levels;
        dml_dispcfg->minimize_det_reallocation = true;
        dml_dispcfg->overrides.enable_subvp_implicit_pmo = true;
 
diff --git 
a/drivers/gpu/drm/amd/display/dc/dml2_0/dml21/inc/dml_top_soc_parameter_types.h 
b/drivers/gpu/drm/amd/display/dc/dml2_0/dml21/inc/dml_top_soc_parameter_types.h
index c4cce870877a..ddbb8dfa9ff8 100644
--- 
a/drivers/gpu/drm/amd/display/dc/dml2_0/dml21/inc/dml_top_soc_parameter_types.h
+++ 
b/drivers/gpu/drm/amd/display/dc/dml2_0/dml21/inc/dml_top_soc_parameter_types.h
@@ -160,6 +160,8 @@ struct dml2_soc_bb {
        unsigned long return_bus_width_bytes;
        unsigned long hostvm_min_page_size_kbytes;
        unsigned long gpuvm_min_page_size_kbytes;
+       unsigned int hostvm_max_non_cached_page_table_levels;
+       unsigned int gpuvm_max_page_table_levels;
        double phy_downspread_percent;
        double dcn_downspread_percent;
        double dispclk_dppclk_vco_speed_mhz;
diff --git a/drivers/gpu/drm/amd/display/dc/dml2_0/dml2_wrapper.h 
b/drivers/gpu/drm/amd/display/dc/dml2_0/dml2_wrapper.h
index 9a9c27962f68..5ee489682f2e 100644
--- a/drivers/gpu/drm/amd/display/dc/dml2_0/dml2_wrapper.h
+++ b/drivers/gpu/drm/amd/display/dc/dml2_0/dml2_wrapper.h
@@ -239,6 +239,7 @@ struct dml2_configuration_options {
 
        bool use_clock_dc_limits;
        bool gpuvm_enable;
+       bool hostvm_enable;
        bool force_tdlut_enable;
        void *bb_from_dmub;
 };
-- 
2.43.0

Reply via email to