]> git.ipfire.org Git - thirdparty/linux.git/commit
drm/amd/display: Keep PLL0 running on DCE 6.0 and 6.4
authorTimur Kristóf <timur.kristof@gmail.com>
Mon, 25 Aug 2025 21:56:28 +0000 (23:56 +0200)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 15 Sep 2025 21:04:02 +0000 (17:04 -0400)
commit0449726b58ea64ec96b95f95944f0a3650204059
tree09de9c47cebc0c2f161506d94663983785a341b5
parent489f0f600ce2c0dae640df9035e1d82677d2580f
drm/amd/display: Keep PLL0 running on DCE 6.0 and 6.4

DC can turn off the display clock when no displays are connected
or when all displays are off, for reference see:
- dce*_validate_bandwidth

DC also assumes that the DP clock is always on and never powers
it down, for reference see:
- dce110_clock_source_power_down

In case of DCE 6.0 and 6.4, PLL0 is the clock source for both
the engine clock and DP clock, for reference see:
- radeon_atom_pick_pll
- atombios_crtc_set_disp_eng_pll

Therefore, PLL0 should be always kept running on DCE 6.0 and 6.4.
This commit achieves that by ensuring that by setting the display
clock to the corresponding value in low power state instead of
zero.

This fixes a page flip timeout on SI with DC which happens when
all connected displays are blanked.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Alex Hung <alex.hung@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c