diff options
author | Aric Cyr <aric.cyr@amd.com> | 2023-02-11 10:03:22 -0500 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2023-02-28 14:30:55 -0500 |
commit | 82a10aff9428f1d190de55ef7971fdb84303cc7a (patch) | |
tree | 550641825a2f0d4eec2a219e41e5dc3fd43c9d1c | |
parent | f3f8f16b10f8258f1836e1110099097490a1d6c1 (diff) | |
download | linux-stable-82a10aff9428f1d190de55ef7971fdb84303cc7a.tar.gz linux-stable-82a10aff9428f1d190de55ef7971fdb84303cc7a.tar.bz2 linux-stable-82a10aff9428f1d190de55ef7971fdb84303cc7a.zip |
drm/amd/display: Only wait for blank completion if OTG active
[why]
If OTG is not active, waiting for blank completion will always fail and
timeout resulting in unnecessary driver delays.
[how]
Check that OTG is enabled before waiting for blank.
Reviewed-by: Alvin Lee <Alvin.Lee2@amd.com>
Acked-by: Qingqing Zhuo <qingqing.zhuo@amd.com>
Signed-off-by: Aric Cyr <aric.cyr@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r-- | drivers/gpu/drm/amd/display/dc/core/dc.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c index d4a1670a5450..f07cba121d01 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc.c @@ -1093,7 +1093,8 @@ static void phantom_pipe_blank( otg_active_height, 0); - hws->funcs.wait_for_blank_complete(opp); + if (tg->funcs->is_tg_enabled(tg)) + hws->funcs.wait_for_blank_complete(opp); } static void disable_dangling_plane(struct dc *dc, struct dc_state *context) @@ -1156,6 +1157,7 @@ static void disable_dangling_plane(struct dc *dc, struct dc_state *context) if (old_stream->mall_stream_config.type == SUBVP_PHANTOM) { if (tg->funcs->enable_crtc) { int main_pipe_width, main_pipe_height; + main_pipe_width = old_stream->mall_stream_config.paired_stream->dst.width; main_pipe_height = old_stream->mall_stream_config.paired_stream->dst.height; phantom_pipe_blank(dc, tg, main_pipe_width, main_pipe_height); |