+++ /dev/null
-From 443290d70b01e9c35830c300e3247c06581b594c Mon Sep 17 00:00:00 2001
-From: Ray Wu <ray.wu@amd.com>
-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 <ray.wu@amd.com>
-
-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 <wayne.lin@amd.com>
-Signed-off-by: Ray Wu <ray.wu@amd.com>
-Signed-off-by: Fangzhi Zuo <jerry.zuo@amd.com>
-Tested-by: Dan Wheeler <daniel.wheeler@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-(cherry picked from commit 414da24137ace80d8c59fefd43ba3ec9f5f854ba)
-Cc: stable@vger.kernel.org
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- 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
-@@ -1256,8 +1256,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);
-+ }
-+ }
-+ }
- }
-
- static enum audio_dto_source translate_to_dto_source(enum controller_id crtc_id)
can-peak_usb-peak_usb_start-fix-double-free-of-transfer-buffer-on-urb-submit-error.patch
can-peak_usb-validate-ucan-receive-record-lengths.patch
can-ctucanfd-add-missing-module_device_table.patch
-drm-amd-display-add-av-mute-wait-frames-to-dce110_set_avmute.patch
can-ctucanfd-use-self-test-mode-for-presume_ack.patch
can-ctucanfd-unmap-bar0-using-base-address.patch
can-ctucanfd-handle-bus-error-interrupts.patch
+++ /dev/null
-From 443290d70b01e9c35830c300e3247c06581b594c Mon Sep 17 00:00:00 2001
-From: Ray Wu <ray.wu@amd.com>
-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 <ray.wu@amd.com>
-
-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 <wayne.lin@amd.com>
-Signed-off-by: Ray Wu <ray.wu@amd.com>
-Signed-off-by: Fangzhi Zuo <jerry.zuo@amd.com>
-Tested-by: Dan Wheeler <daniel.wheeler@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-(cherry picked from commit 414da24137ace80d8c59fefd43ba3ec9f5f854ba)
-Cc: stable@vger.kernel.org
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- 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
-@@ -1266,8 +1266,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)
can-peak_usb-peak_usb_start-fix-double-free-of-transfer-buffer-on-urb-submit-error.patch
can-peak_usb-validate-ucan-receive-record-lengths.patch
can-ctucanfd-add-missing-module_device_table.patch
-drm-amd-display-add-av-mute-wait-frames-to-dce110_set_avmute.patch
can-ctucanfd-use-self-test-mode-for-presume_ack.patch
can-ctucanfd-unmap-bar0-using-base-address.patch
can-ctucanfd-handle-bus-error-interrupts.patch
+++ /dev/null
-From 443290d70b01e9c35830c300e3247c06581b594c Mon Sep 17 00:00:00 2001
-From: Ray Wu <ray.wu@amd.com>
-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 <ray.wu@amd.com>
-
-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 <wayne.lin@amd.com>
-Signed-off-by: Ray Wu <ray.wu@amd.com>
-Signed-off-by: Fangzhi Zuo <jerry.zuo@amd.com>
-Tested-by: Dan Wheeler <daniel.wheeler@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-(cherry picked from commit 414da24137ace80d8c59fefd43ba3ec9f5f854ba)
-Cc: stable@vger.kernel.org
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- 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)
can-peak_usb-peak_usb_start-fix-double-free-of-transfer-buffer-on-urb-submit-error.patch
can-peak_usb-validate-ucan-receive-record-lengths.patch
can-ctucanfd-add-missing-module_device_table.patch
-drm-amd-display-add-av-mute-wait-frames-to-dce110_set_avmute.patch
can-ctucanfd-use-self-test-mode-for-presume_ack.patch
can-ctucanfd-unmap-bar0-using-base-address.patch
can-ctucanfd-handle-bus-error-interrupts.patch