[WHAT & HOW]
dp_is_128b_132b_signal dereferences pipe->stream so it is necessary to
check it in advance.

Also fix erroneous spaces and move a variable declaration to top.

Reviewed-by: Aurabindo Pillai <[email protected]>
Signed-off-by: Alex Hung <[email protected]>
---
 .../amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c  | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

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 af722519a1fa..142de8938d7c 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
@@ -204,6 +204,8 @@ static void dcn35_disable_otg_wa(struct clk_mgr 
*clk_mgr_base, struct dc_state *
                struct link_encoder *new_pipe_link_enc = 
new_pipe->link_res.dio_link_enc;
                struct link_encoder *pipe_link_enc = 
pipe->link_res.dio_link_enc;
                bool stream_changed_otg_dig_on = false;
+               bool has_active_hpo = false;
+
                if (pipe->top_pipe || pipe->prev_odm_pipe)
                        continue;
 
@@ -225,20 +227,15 @@ static void dcn35_disable_otg_wa(struct clk_mgr 
*clk_mgr_base, struct dc_state *
                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 = 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) ||
-                                       !pipe_link_enc) && 
!stream_changed_otg_dig_on)) {
-
+               }
 
+               if (!has_active_hpo && !stream_changed_otg_dig_on && 
pipe->stream &&
+                   (pipe->stream->dpms_off || 
dc_is_virtual_signal(pipe->stream->signal) || !pipe_link_enc) &&
+                   !dccg->ctx->dc->link_srv->dp_is_128b_132b_signal(pipe)) {
                        /* This w/a should not trigger when we have a dig 
active */
                        if (disable) {
                                if (pipe->stream_res.tg && 
pipe->stream_res.tg->funcs->immediate_disable_crtc)
-- 
2.43.0

Reply via email to