From: Wenjing Liu <[email protected]>

[why]
in dc_link_dp there still exist a few places where we call dio encoders
without checking current enabled encoder type.
The change is to make these places to call hwss equivalent functions so
it won't mistakenly program a wrong type encoder.

Reviewed-by: George Shen <[email protected]>
Acked-by: Jasdeep Dhillon <[email protected]>
Signed-off-by: Wenjing Liu <[email protected]>
---
 .../gpu/drm/amd/display/dc/core/dc_link_dp.c   | 18 +++++-------------
 1 file changed, 5 insertions(+), 13 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c 
b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
index 909434faf039..905642349ba2 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
@@ -6137,7 +6137,7 @@ bool dc_link_dp_set_test_pattern(
                         * MuteAudioEndpoint(pPathMode->pDisplayPath, true);
                         */
                        /* Blank stream */
-                       pipes->stream_res.stream_enc->funcs->dp_blank(link, 
pipe_ctx->stream_res.stream_enc);
+                       link->dc->hwss.blank_stream(pipe_ctx);
                }
 
                dp_set_hw_test_pattern(link, &pipe_ctx->link_res, test_pattern,
@@ -7298,8 +7298,7 @@ void dp_retrain_link_dp_test(struct dc_link *link,
                        pipes[i].stream->link == link) {
                        udelay(100);
 
-                       pipes[i].stream_res.stream_enc->funcs->dp_blank(link,
-                                       pipes[i].stream_res.stream_enc);
+                       link->dc->hwss.blank_stream(&pipes[i]);
 
                        /* disable any test pattern that might be active */
                        dp_set_hw_test_pattern(link, &pipes[i].link_res,
@@ -7308,17 +7307,10 @@ void dp_retrain_link_dp_test(struct dc_link *link,
                        dp_receiver_power_ctrl(link, false);
 
                        link->dc->hwss.disable_stream(&pipes[i]);
-                       if ((&pipes[i])->stream_res.audio && 
!link->dc->debug.az_endpoint_mute_only)
-                               
(&pipes[i])->stream_res.audio->funcs->az_disable((&pipes[i])->stream_res.audio);
+                       if (pipes[i].stream_res.audio && 
!link->dc->debug.az_endpoint_mute_only)
+                               
pipes[i].stream_res.audio->funcs->az_disable(pipes[i].stream_res.audio);
 
-                       if (link->link_enc)
-                               link->link_enc->funcs->disable_output(
-                                               link->link_enc,
-                                               SIGNAL_TYPE_DISPLAY_PORT);
-
-                       /* Clear current link setting. */
-                       memset(&link->cur_link_settings, 0,
-                               sizeof(link->cur_link_settings));
+                       link->dc->hwss.disable_link_output(link, 
&pipes[i].link_res, SIGNAL_TYPE_DISPLAY_PORT);
 
                        if (link->ep_type == DISPLAY_ENDPOINT_USB4_DPIA)
                                do_fallback = true;
-- 
2.34.1

Reply via email to