From: Wayne Lin <Wayne.Lin@amd.com>
To: <amd-gfx@lists.freedesktop.org>
Cc: Abdulla Bubshait <darkstego@gmail.com>,
Harry Wentland <harry.wentland@amd.com>,
Leo Li <sunpeng.li@amd.com>,
Rodrigo Siqueira <siqueira@igalia.com>,
Alex Deucher <alexander.deucher@amd.com>,
<dominik.kaszewski@amd.com>, <dri-devel@lists.freedesktop.org>,
<stable@vger.kernel.org>
Subject: Re: [PATCH] drm/amd/display: Abort DPMS ON when enabling the link fails
Date: Sun, 15 Nov 2026 15:35:28 +0800 [thread overview]
Message-ID: <20261115073528.1476262-1-Wayne.Lin@amd.com> (raw)
In-Reply-To: <20261028202641.549955-1-darkstego@gmail.com>
Reviewed-by: Wayne Lin <Wayne.Lin@amd.com>
On Wed, 28 Oct 2026 16:26:41 -0400, Abdulla Bubshait wrote:
> Since commit 843049bac7c0 ("drm/amd/display: Split DPMS ON into
> parts"), link_set_dpms_on_enable_link() returns
> DC_DPMS_FAILED_HANDSHAKE when enable_link() fails and the stream
> enable has to be aborted: any failure other than link training, or a
> link training failure on DP MST. The link has already been disabled at
> that point. The step loop in link_set_dpms_on() treats
> DC_DPMS_FAILED_HANDSHAKE like DC_DPMS_SUCCESS and goes on to
> link_set_dpms_on_post_enable_link().
>
> Before the split, this path returned right after disable_link(),
> because MST displays can't proceed without link training. Now, for
> failed MST handshakes MST slots are still allocated. When the link
> trains again later, the new payload starts after the leaked slots so
> ACT never completes, and the display stays black until
> reboot. Replugging or power-cycling the monitor does not recover it.
>
> Seen on Navi 33 (DCN 3.2.1) with a DP 2.1 MST monitor (Odyssey Neo G9)
> at UHBR10 x4 with DSC. Link training sometimes fails on DPMS
> wake. With this change, the failed attempt leaves no payload behind,
> and the next modeset after the sink reconnects bring the monito back
> up.
>
> Return early on DC_DPMS_FAILED_HANDSHAKE, as for
> DC_DPMS_SKIPPED_HANDSHAKE. This restores the pre-split behaviour. Link
> training failures on non-MST signals still return DC_DPMS_SUCCESS and
> continue as before.
>
> Closes: https://gitlab.freedesktop.org/drm/amd/-/work_items/6047
> Fixes: 843049bac7c0 ("drm/amd/display: Split DPMS ON into parts")
> Cc: stable@vger.kernel.org # 7.3
> Signed-off-by: Abdulla Bubshait <darkstego@gmail.com>
> ---
> drivers/gpu/drm/amd/display/dc/link/link_dpms.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/display/dc/link/link_dpms.c b/drivers/gpu/drm/amd/display/dc/link/link_dpms.c
> index 75e232ebffe8..b355e29b178d 100644
> --- a/drivers/gpu/drm/amd/display/dc/link/link_dpms.c
> +++ b/drivers/gpu/drm/amd/display/dc/link/link_dpms.c
> @@ -2813,11 +2813,11 @@ enum dc_status link_set_dpms_on(
>
> switch (step_result) {
> case DC_DPMS_SUCCESS:
> - case DC_DPMS_FAILED_HANDSHAKE:
> // Enum is ordered from "best" to "worst" results
> result = max(result, step_result);
> break;
>
> + case DC_DPMS_FAILED_HANDSHAKE:
> case DC_DPMS_SKIPPED_HANDSHAKE:
> return step_result;
>
> --
> 2.56.0
>
>
prev parent reply other threads:[~2026-11-15 7:35 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-28 20:26 [PATCH] drm/amd/display: Abort DPMS ON when enabling the link fails Abdulla Bubshait
2026-11-15 7:35 ` Wayne Lin [this message]
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=20261115073528.1476262-1-Wayne.Lin@amd.com \
--to=wayne.lin@amd.com \
--cc=alexander.deucher@amd.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=darkstego@gmail.com \
--cc=dominik.kaszewski@amd.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=harry.wentland@amd.com \
--cc=siqueira@igalia.com \
--cc=stable@vger.kernel.org \
--cc=sunpeng.li@amd.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.