From: Wenjing Liu Date: Thu, 24 Nov 2022 21:40:53 +0000 (-0500) Subject: drm/amd/display: use encoder type independent hwss instead of accessing enc directly X-Git-Tag: v6.3-rc1~135^2~27^2~80 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e85d59885409736ad21cafd27eb73d6f7630cefb;p=thirdparty%2Fkernel%2Flinux.git 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 Acked-by: Jasdeep Dhillon Signed-off-by: Wenjing Liu Signed-off-by: Alex Deucher --- 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 475ad3eed002d..f283a150d27ac 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;