[PATCH] drm/amd/display: explicitly update clocks when DC is set to D3

Mario Limonciello mario.limonciello at amd.com
Tue Jan 4 15:33:26 UTC 2022

The WA from commit 5965280abd30 ("drm/amd/display: Apply w/a for
hard hang on HPD") causes a regression in s0ix where the system will
fail to resume properly.  This may be because an HPD was active the last
time clocks were updated but clocks didn't get updated again during s0ix.

So add an extra call to update clocks as part of the suspend routine:

Cc: Qingqing Zhuo <qingqing.zhuo at amd.com>
BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=215436
BugLink: https://gitlab.freedesktop.org/drm/amd/-/issues/1821
Fixes: 5965280abd30 ("drm/amd/display: Apply w/a for hard hang on HPD")
Signed-off-by: Mario Limonciello <mario.limonciello at amd.com>
 drivers/gpu/drm/amd/display/dc/core/dc.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c
index 91c4874473d6..6968ad6c5a64 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
@@ -3299,6 +3299,8 @@ void dc_set_power_state(
+		clk_mgr_optimize_pwr_state(dc, dc->clk_mgr);
 		ASSERT(dc->current_state->stream_count == 0);
 		/* Zero out the current context so that on resume we start with

More information about the amd-gfx mailing list