From: Nevenko Stupar Date: Tue, 16 Apr 2024 14:29:54 +0000 (-0400) Subject: drm/amd/display: gpuvm handling in DML21 X-Git-Tag: v6.11-rc1~141^2~25^2~532 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=05c5ffaac770bbf815def6a18f93d54fcf47cc5b;p=thirdparty%2Fkernel%2Flinux.git drm/amd/display: gpuvm handling in DML21 [Why & How] Currently in DML2.1 gpuvm_enable was hardcoded. Use passed info from DC for DML21 to be in sync with what is used in DC. Reviewed-by: Chaitanya Dhere Acked-by: Wayne Lin Signed-off-by: Nevenko Stupar Tested-by: Daniel Wheeler Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_vm_helper.c b/drivers/gpu/drm/amd/display/dc/core/dc_vm_helper.c index eda2152dcd1f6..d1e68dc57a2ae 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc_vm_helper.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc_vm_helper.c @@ -47,6 +47,7 @@ int dc_setup_system_context(struct dc *dc, struct dc_phy_addr_space_config *pa_c */ memcpy(&dc->vm_pa_config, pa_config, sizeof(struct dc_phy_addr_space_config)); dc->vm_pa_config.valid = true; + dc->dml2_options.gpuvm_enable = true; dc_z10_save_init(dc); } diff --git a/drivers/gpu/drm/amd/display/dc/dml2/dml21/dml21_translation_helper.c b/drivers/gpu/drm/amd/display/dc/dml2/dml21/dml21_translation_helper.c index b3602f8978722..63f9bda3b1302 100644 --- a/drivers/gpu/drm/amd/display/dc/dml2/dml21/dml21_translation_helper.c +++ b/drivers/gpu/drm/amd/display/dc/dml2/dml21/dml21_translation_helper.c @@ -943,7 +943,7 @@ 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 = true; + dml_dispcfg->gpuvm_enable = dml_ctx->config.gpuvm_enable; dml_dispcfg->gpuvm_max_page_table_levels = 4; dml_dispcfg->hostvm_enable = false; dml_dispcfg->minimize_det_reallocation = true; diff --git a/drivers/gpu/drm/amd/display/dc/dml2/dml2_wrapper.h b/drivers/gpu/drm/amd/display/dc/dml2/dml2_wrapper.h index 97e013ce5516f..4e4ed1678d91d 100644 --- a/drivers/gpu/drm/amd/display/dc/dml2/dml2_wrapper.h +++ b/drivers/gpu/drm/amd/display/dc/dml2/dml2_wrapper.h @@ -232,6 +232,7 @@ struct dml2_configuration_options { bool map_dc_pipes_with_callbacks; bool use_clock_dc_limits; + bool gpuvm_enable; }; /*