From: Ausef Yousof <ausef.you...@amd.com>

[why&how]
Adjust otg w/a disable condition to include HPO explicitly rather than
assuming it is implicitly used through DP2.

Reviewed-by: Charlene Liu <charlene....@amd.com>
Signed-off-by: Ausef Yousof <ausef.you...@amd.com>
Signed-off-by: Zaeem Mohamed <zaeem.moha...@amd.com>
---
 .../drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c   | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c 
b/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
index 07b49b4030f9..b77333817f18 100644
--- a/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
+++ b/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
@@ -151,7 +151,15 @@ static void dcn35_disable_otg_wa(struct clk_mgr 
*clk_mgr_base, struct dc_state *
                new_pipe->stream_res.stream_enc &&
                new_pipe->stream_res.stream_enc->funcs->is_fifo_enabled &&
                
new_pipe->stream_res.stream_enc->funcs->is_fifo_enabled(new_pipe->stream_res.stream_enc);
-               bool has_active_hpo = 
dccg->ctx->dc->link_srv->dp_is_128b_132b_signal(old_pipe) && 
dccg->ctx->dc->link_srv->dp_is_128b_132b_signal(new_pipe);
+
+               bool has_active_hpo = false;
+
+               if (old_pipe->stream && new_pipe->stream && old_pipe->stream == 
new_pipe->stream) {
+                       has_active_hpo =  
dccg->ctx->dc->link_srv->dp_is_128b_132b_signal(old_pipe) &&
+                       
dccg->ctx->dc->link_srv->dp_is_128b_132b_signal(new_pipe);
+
+                }
+
 
                if (!has_active_hpo && 
!dccg->ctx->dc->link_srv->dp_is_128b_132b_signal(pipe) &&
                                        (pipe->stream && 
(pipe->stream->dpms_off || dc_is_virtual_signal(pipe->stream->signal) ||
-- 
2.34.1

Reply via email to