]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amd/display: Fallback to boot snapshot for dispclk
authorDillon Varone <Dillon.Varone@amd.com>
Wed, 18 Feb 2026 19:34:28 +0000 (14:34 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 2 Mar 2026 21:38:06 +0000 (16:38 -0500)
[WHY & HOW]
If the dentist is unavailable, fallback to reading CLKIP via the boot
snapshot to get the current dispclk.

Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Signed-off-by: Dillon Varone <Dillon.Varone@amd.com>
Signed-off-by: Alex Hung <alex.hung@amd.com>
Cc: Mario Limonciello <mario.limonciello@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Tested-by: Dan Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c

index 95d9e17a269b37a7c78096a786929ecfa10c617b..69cc70106bf0759891dbd410d22c274bbab27f39 100644 (file)
@@ -72,7 +72,11 @@ void dcn401_initialize_min_clocks(struct dc *dc)
                 * audio corruption. Read current DISPCLK from DENTIST and request the same
                 * freq to ensure that the timing is valid and unchanged.
                 */
-               clocks->dispclk_khz = dc->clk_mgr->funcs->get_dispclk_from_dentist(dc->clk_mgr);
+               if (dc->clk_mgr->funcs->get_dispclk_from_dentist) {
+                       clocks->dispclk_khz = dc->clk_mgr->funcs->get_dispclk_from_dentist(dc->clk_mgr);
+               } else {
+                       clocks->dispclk_khz = dc->clk_mgr->boot_snapshot.dispclk * 1000;
+               }
        }
        clocks->ref_dtbclk_khz = dc->clk_mgr->bw_params->clk_table.entries[0].dtbclk_mhz * 1000;
        clocks->fclk_p_state_change_support = true;