diff options
author | Wenjing Liu <wenjing.liu@amd.com> | 2022-11-24 16:40:53 -0500 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2022-12-15 12:18:18 -0500 |
commit | e85d59885409736ad21cafd27eb73d6f7630cefb (patch) | |
tree | 96efdd4e0507e599999c4e2354899f8271c42370 /drivers/gpu/drm/amd | |
parent | ebf13b72020ad45c6e27f784638f247a92786cc0 (diff) |
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: George Shen <George.Shen@amd.com>
Acked-by: Jasdeep Dhillon <jdhillon@amd.com>
Signed-off-by: Wenjing Liu <wenjing.liu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd')
-rw-r--r-- | drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c | 18 |
1 files 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 475ad3eed002..f283a150d27a 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 @@ -6114,7 +6114,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, @@ -7260,8 +7260,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, @@ -7270,17 +7269,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; |