]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/amd/display: Fill display clock and vblank time in dce110_fill_display_configs
authorTimur Kristóf <timur.kristof@gmail.com>
Thu, 31 Jul 2025 09:43:49 +0000 (11:43 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 28 Aug 2025 14:34:37 +0000 (16:34 +0200)
commit 7d07140d37f792f01cfdb8ca9a6a792ab1d29126 upstream.

Also needed by DCE 6.
This way the code that gathers this info can be shared between
different DCE versions and doesn't have to be repeated.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Rodrigo Siqueira <siqueira@igalia.com>
Reviewed-by: Alex Hung <alex.hung@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 8107432dff37db26fcb641b6cebeae8981cd73a0)
Cc: stable@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.c
drivers/gpu/drm/amd/display/dc/clk_mgr/dce110/dce110_clk_mgr.c
drivers/gpu/drm/amd/display/dc/clk_mgr/dce60/dce60_clk_mgr.c

index f5ad0a1770388c0844814178feb90c1007644cf2..e846e4920393910c2db19fb0291922aa708698dc 100644 (file)
@@ -391,8 +391,6 @@ static void dce_pplib_apply_display_requirements(
 {
        struct dm_pp_display_configuration *pp_display_cfg = &context->pp_display_cfg;
 
-       pp_display_cfg->avail_mclk_switch_time_us = dce110_get_min_vblank_time_us(context);
-
        dce110_fill_display_configs(context, pp_display_cfg);
 
        if (memcmp(&dc->current_state->pp_display_cfg, pp_display_cfg, sizeof(*pp_display_cfg)) !=  0)
index baeac8f1c04f2afc86d4595bfa35fe4b20750bbe..13cf415e38e5019462acbe97173b8d9e5225a15f 100644 (file)
@@ -124,6 +124,9 @@ void dce110_fill_display_configs(
        int j;
        int num_cfgs = 0;
 
+       pp_display_cfg->avail_mclk_switch_time_us = dce110_get_min_vblank_time_us(context);
+       pp_display_cfg->disp_clk_khz = dc->clk_mgr->clks.dispclk_khz;
+       pp_display_cfg->avail_mclk_switch_time_in_disp_active_us = 0;
        pp_display_cfg->crtc_index = dc->res_pool->res_cap->num_timing_generator;
 
        for (j = 0; j < context->stream_count; j++) {
@@ -243,13 +246,6 @@ void dce11_pplib_apply_display_requirements(
        pp_display_cfg->min_engine_clock_deep_sleep_khz
                        = context->bw_ctx.bw.dce.sclk_deep_sleep_khz;
 
-       pp_display_cfg->avail_mclk_switch_time_us =
-                                               dce110_get_min_vblank_time_us(context);
-       /* TODO: dce11.2*/
-       pp_display_cfg->avail_mclk_switch_time_in_disp_active_us = 0;
-
-       pp_display_cfg->disp_clk_khz = dc->clk_mgr->clks.dispclk_khz;
-
        dce110_fill_display_configs(context, pp_display_cfg);
 
        if (memcmp(&dc->current_state->pp_display_cfg, pp_display_cfg, sizeof(*pp_display_cfg)) !=  0)
index 1e082cd4a22acd5538a9a1b19f9023c4419daa10..a39641a0ff09ef82451f1d812415ada9d95a12a0 100644 (file)
@@ -100,8 +100,6 @@ static void dce60_pplib_apply_display_requirements(
 {
        struct dm_pp_display_configuration *pp_display_cfg = &context->pp_display_cfg;
 
-       pp_display_cfg->avail_mclk_switch_time_us = dce110_get_min_vblank_time_us(context);
-
        dce110_fill_display_configs(context, pp_display_cfg);
 
        if (memcmp(&dc->current_state->pp_display_cfg, pp_display_cfg, sizeof(*pp_display_cfg)) !=  0)