Commit e85d5988 authored by Wenjing Liu's avatar Wenjing Liu Committed by Alex Deucher

drm/amd/display: use encoder type independent hwss instead of accessing enc directly

[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: default avatarGeorge Shen <George.Shen@amd.com>
Acked-by: default avatarJasdeep Dhillon <jdhillon@amd.com>
Signed-off-by: default avatarWenjing Liu <wenjing.liu@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent ebf13b72
...@@ -6114,7 +6114,7 @@ bool dc_link_dp_set_test_pattern( ...@@ -6114,7 +6114,7 @@ bool dc_link_dp_set_test_pattern(
* MuteAudioEndpoint(pPathMode->pDisplayPath, true); * MuteAudioEndpoint(pPathMode->pDisplayPath, true);
*/ */
/* Blank stream */ /* 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, dp_set_hw_test_pattern(link, &pipe_ctx->link_res, test_pattern,
...@@ -7260,8 +7260,7 @@ void dp_retrain_link_dp_test(struct dc_link *link, ...@@ -7260,8 +7260,7 @@ void dp_retrain_link_dp_test(struct dc_link *link,
pipes[i].stream->link == link) { pipes[i].stream->link == link) {
udelay(100); udelay(100);
pipes[i].stream_res.stream_enc->funcs->dp_blank(link, link->dc->hwss.blank_stream(&pipes[i]);
pipes[i].stream_res.stream_enc);
/* disable any test pattern that might be active */ /* disable any test pattern that might be active */
dp_set_hw_test_pattern(link, &pipes[i].link_res, dp_set_hw_test_pattern(link, &pipes[i].link_res,
...@@ -7270,17 +7269,10 @@ void dp_retrain_link_dp_test(struct dc_link *link, ...@@ -7270,17 +7269,10 @@ void dp_retrain_link_dp_test(struct dc_link *link,
dp_receiver_power_ctrl(link, false); dp_receiver_power_ctrl(link, false);
link->dc->hwss.disable_stream(&pipes[i]); link->dc->hwss.disable_stream(&pipes[i]);
if ((&pipes[i])->stream_res.audio && !link->dc->debug.az_endpoint_mute_only) 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); pipes[i].stream_res.audio->funcs->az_disable(pipes[i].stream_res.audio);
if (link->link_enc) link->dc->hwss.disable_link_output(link, &pipes[i].link_res, SIGNAL_TYPE_DISPLAY_PORT);
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));
if (link->ep_type == DISPLAY_ENDPOINT_USB4_DPIA) if (link->ep_type == DISPLAY_ENDPOINT_USB4_DPIA)
do_fallback = true; do_fallback = true;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment