]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/amd/display: gpuvm handling in DML21
authorNevenko Stupar <nevenko.stupar@amd.com>
Tue, 16 Apr 2024 14:29:54 +0000 (10:29 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 30 Apr 2024 13:56:44 +0000 (09:56 -0400)
[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 <chaitanya.dhere@amd.com>
Acked-by: Wayne Lin <wayne.lin@amd.com>
Signed-off-by: Nevenko Stupar <nevenko.stupar@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/core/dc_vm_helper.c
drivers/gpu/drm/amd/display/dc/dml2/dml21/dml21_translation_helper.c
drivers/gpu/drm/amd/display/dc/dml2/dml2_wrapper.h

index eda2152dcd1f6fe8071c4a886659d31f1363c101..d1e68dc57a2ae4336c3f45c63f0a1f15ac568b79 100644 (file)
@@ -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);
        }
 
index b3602f897872215ab84fe2ae348265b07d741014..63f9bda3b13024047a7cf14da6abd0f48c833f89 100644 (file)
@@ -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;
index 97e013ce5516f7bcc075b968371b81d835778162..4e4ed1678d91d7e57ac62a2bfa391640b8fa3fed 100644 (file)
@@ -232,6 +232,7 @@ struct dml2_configuration_options {
        bool map_dc_pipes_with_callbacks;
 
        bool use_clock_dc_limits;
+       bool gpuvm_enable;
 };
 
 /*