From: Rosen Penev <rosenp@gmail.com>
To: stable@vger.kernel.org
Cc: "Alex Deucher" <alexander.deucher@amd.com>,
"Christian König" <christian.koenig@amd.com>,
"Pan, Xinhui" <Xinhui.Pan@amd.com>,
"David Airlie" <airlied@linux.ie>,
"Daniel Vetter" <daniel@ffwll.ch>,
"Harry Wentland" <harry.wentland@amd.com>,
"Leo Li" <sunpeng.li@amd.com>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Bin Lan" <bin.lan.cn@windriver.com>,
"He Zhe" <zhe.he@windriver.com>,
"Vitaly Prosyak" <vitaly.prosyak@amd.com>,
"Alex Hung" <alex.hung@amd.com>,
"Rodrigo Siqueira" <siqueira@igalia.com>,
"Timur Kristóf" <timur.kristof@gmail.com>,
"Mario Limonciello" <Mario.Limonciello@amd.com>,
"Ray Wu" <ray.wu@amd.com>, "Wayne Lin" <wayne.lin@amd.com>,
"Roman Li" <Roman.Li@amd.com>, "Eric Yang" <Eric.Yang2@amd.com>,
"Tony Cheng" <Tony.Cheng@amd.com>,
"Mauro Rossi" <issor.oruam@gmail.com>,
amd-gfx@lists.freedesktop.org (open list:RADEON and AMDGPU DRM
DRIVERS), dri-devel@lists.freedesktop.org (open list:DRM DRIVERS),
linux-kernel@vger.kernel.org (open list)
Subject: [PATCH for 6.12 5/9] drm/amd/display: Keep PLL0 running on DCE 6.0 and 6.4
Date: Thu, 26 Mar 2026 16:47:12 -0700 [thread overview]
Message-ID: <20260326234716.16723-6-rosenp@gmail.com> (raw)
In-Reply-To: <20260326234716.16723-1-rosenp@gmail.com>
From: Timur Kristóf <timur.kristof@gmail.com>
[ Upstream commit 0449726b58ea64ec96b95f95944f0a3650204059 ]
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>
Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
drivers/gpu/drm/amd/display/dc/dce60/dce60_resource.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/display/dc/dce60/dce60_resource.c b/drivers/gpu/drm/amd/display/dc/dce60/dce60_resource.c
index 7886a2a55caf..c4d7fa60d654 100644
--- a/drivers/gpu/drm/amd/display/dc/dce60/dce60_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dce60/dce60_resource.c
@@ -889,7 +889,16 @@ static bool dce60_validate_bandwidth(
context->bw_ctx.bw.dce.dispclk_khz = 681000;
context->bw_ctx.bw.dce.yclk_khz = 250000 * MEMORY_TYPE_MULTIPLIER_CZ;
} else {
- context->bw_ctx.bw.dce.dispclk_khz = 0;
+ /* On DCE 6.0 and 6.4 the PLL0 is both the display engine clock and
+ * the DP clock, and shouldn't be turned off. Just select the display
+ * clock value from its low power mode.
+ */
+ if (dc->ctx->dce_version == DCE_VERSION_6_0 ||
+ dc->ctx->dce_version == DCE_VERSION_6_4)
+ context->bw_ctx.bw.dce.dispclk_khz = 352000;
+ else
+ context->bw_ctx.bw.dce.dispclk_khz = 0;
+
context->bw_ctx.bw.dce.yclk_khz = 0;
}
--
2.53.0
next prev parent reply other threads:[~2026-03-26 23:47 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-26 23:47 [PATCH for 6.12 0/9] drm: amdgpu: backport suspend fixes for Rosen Penev
2026-03-26 23:47 ` [PATCH for 6.12 1/9] drm/amd/amdgpu: decouple ASPM with pcie dpm Rosen Penev
2026-03-26 23:47 ` [PATCH for 6.12 2/9] drm/amd/amdgpu: disable ASPM in some situations Rosen Penev
2026-03-26 23:47 ` [PATCH for 6.12 3/9] drm/amd/display: Disable fastboot on DCE 6 too Rosen Penev
2026-03-26 23:47 ` [PATCH for 6.12 4/9] drm/amd/display: Reject modes with too high pixel clock on DCE6-10 Rosen Penev
2026-03-26 23:47 ` Rosen Penev [this message]
2026-03-26 23:47 ` [PATCH for 6.12 6/9] drm/amd/display: Fix DCE 6.0 and 6.4 PLL programming Rosen Penev
2026-03-26 23:47 ` [PATCH for 6.12 7/9] drm/amd/display: Adjust DCE 8-10 clock, don't overclock by 15% Rosen Penev
2026-03-26 23:47 ` [PATCH for 6.12 8/9] drm/amd/display: Disable scaling on DCE6 for now Rosen Penev
2026-03-26 23:47 ` [PATCH for 6.12 9/9] drm/amd: Disable ASPM on SI Rosen Penev
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260326234716.16723-6-rosenp@gmail.com \
--to=rosenp@gmail.com \
--cc=Eric.Yang2@amd.com \
--cc=Mario.Limonciello@amd.com \
--cc=Roman.Li@amd.com \
--cc=Tony.Cheng@amd.com \
--cc=Xinhui.Pan@amd.com \
--cc=airlied@linux.ie \
--cc=alex.hung@amd.com \
--cc=alexander.deucher@amd.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=bin.lan.cn@windriver.com \
--cc=christian.koenig@amd.com \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=gregkh@linuxfoundation.org \
--cc=harry.wentland@amd.com \
--cc=issor.oruam@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=ray.wu@amd.com \
--cc=siqueira@igalia.com \
--cc=stable@vger.kernel.org \
--cc=sunpeng.li@amd.com \
--cc=timur.kristof@gmail.com \
--cc=vitaly.prosyak@amd.com \
--cc=wayne.lin@amd.com \
--cc=zhe.he@windriver.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox