From: zhikzhai <zhikai.z...@amd.com>

[why]
We have minimal pipe split transition method to avoid pipe
allocation outage.However, this method will invoke audio setup
which cause audio output stuck once pipe reallocate.

[how]
skip audio setup for pipelines which audio stream has been enabled

Reviewed-by: Charlene Liu <charlene....@amd.com>
Acked-by: Wayne Lin <wayne....@amd.com>
Signed-off-by: zhikzhai <zhikai.z...@amd.com>
---
 drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c 
b/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c
index 70ac0b31baba..55c98dbfcc1c 100644
--- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c
+++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c
@@ -2178,7 +2178,8 @@ static void dce110_setup_audio_dto(
                        continue;
                if (pipe_ctx->stream->signal != SIGNAL_TYPE_HDMI_TYPE_A)
                        continue;
-               if (pipe_ctx->stream_res.audio != NULL) {
+               if (pipe_ctx->stream_res.audio != NULL &&
+                       pipe_ctx->stream_res.audio->enabled == false) {
                        struct audio_output audio_output;
 
                        build_audio_output(context, pipe_ctx, &audio_output);
@@ -2218,7 +2219,8 @@ static void dce110_setup_audio_dto(
                        if (!dc_is_dp_signal(pipe_ctx->stream->signal))
                                continue;
 
-                       if (pipe_ctx->stream_res.audio != NULL) {
+                       if (pipe_ctx->stream_res.audio != NULL &&
+                               pipe_ctx->stream_res.audio->enabled == false) {
                                struct audio_output audio_output;
 
                                build_audio_output(context, pipe_ctx, 
&audio_output);
-- 
2.37.3

Reply via email to