Drop "drm/amd/display: Add AV mute wait frames to dce110_set_avmute" from stable queues

Viktor Jägersküpper <[email protected]>
Newsgroups org.kernel.vger.stable
Message-ID <[email protected]>
Hi Greg and Sasha,

I noticed that the following patch is in the queues for the 7.1, 6.18 and 6.12
stable trees:

From 443290d70b01e9c35830c300e3247c06581b594c Mon Sep 17 00:00:00 2001
From: Ray Wu <[email protected]>
Date: Mon, 13 Jul 2026 22:23:34 +0800
Subject: drm/amd/display: Add AV mute wait frames to dce110_set_avmute

From: Ray Wu <[email protected]>

commit 443290d70b01e9c35830c300e3247c06581b594c upstream.

Port the three-frame wait logic from dcn30_set_avmute to
dce110_set_avmute so that older DCN versions (1.0, 2.0) also
wait for GCP packets to be sent out before proceeding.

This ensures HDMI sinks properly process the mute state,
preventing garbled display after link re-establishment.

Closes: https://gitlab.freedesktop.org/drm/amd/-/work_items/5167
Reviewed-by: Wayne Lin <[email protected]>
Signed-off-by: Ray Wu <[email protected]>
Signed-off-by: Fangzhi Zuo <[email protected]>
Tested-by: Dan Wheeler <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
(cherry picked from commit 414da24137ace80d8c59fefd43ba3ec9f5f854ba)
Cc: [email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
 drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c |   21 +++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)

--- a/drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
+++ b/drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
@@ -1320,8 +1320,27 @@ void dce110_blank_stream(struct pipe_ctx
 
 void dce110_set_avmute(struct pipe_ctx *pipe_ctx, bool enable)
 {
-	if (pipe_ctx != NULL && pipe_ctx->stream_res.stream_enc != NULL)
+	if (pipe_ctx == NULL || pipe_ctx->stream_res.stream_enc == NULL)
+		return;
+
+	if (dc_is_hdmi_signal(pipe_ctx->stream->signal)) {
 		pipe_ctx->stream_res.stream_enc->funcs->set_avmute(pipe_ctx->stream_res.stream_enc, enable);
+
+		/* Wait for three frames to make sure AV mute is sent out.
+		 * Some HDMI sinks need additional GCP packets to properly
+		 * process the mute state, especially after link re-establishment
+		 * with HDMI 2.0 scrambling enabled.
+		 */
+		if (enable && pipe_ctx->stream_res.tg->funcs->is_tg_enabled(pipe_ctx->stream_res.tg)) {
+			int i;
+
+			pipe_ctx->stream_res.tg->funcs->wait_for_state(pipe_ctx->stream_res.tg, CRTC_STATE_VACTIVE);
+			for (i = 0; i < 3; i++) {
+				pipe_ctx->stream_res.tg->funcs->wait_for_state(pipe_ctx->stream_res.tg, CRTC_STATE_VBLANK);
+				pipe_ctx->stream_res.tg->funcs->wait_for_state(pipe_ctx->stream_res.tg, CRTC_STATE_VACTIVE);
+			}
+		}
+	}
 }
 
 enum audio_dto_source translate_to_dto_source(enum controller_id crtc_id)
---

Please drop this patch because it leads to a regression which I reported for the
mainline kernel here:
https://gitlab.freedesktop.org/drm/amd/-/work_items/5557

A fix for the regression is already available, but it hasn't landed in the
mainline tree yet. Since the patch above fixes an annoying issue, I propose to
postpone it until the mainline tree has the fix so that both patches can be
applied to the stable trees in the same release. I will notify you when that
can be done.

Regards,
Viktor
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.