drm/amd/display: [FIX] update clock under two conditions

[Why]
Update clock only when non-seamless boot stream exists
creates regression on multiple scenerios.

[How]
Update clock in two conditions
1. Non-seamless boot stream exist.
2. Stream_count = 0

Fixes: 598c13b21e ("drm/amd/display: update clock when non-seamless boot stream exist")
Signed-off-by: Lewis Huang <Lewis.Huang@amd.com>
Reviewed-by: Martin Leung <Martin.Leung@amd.com>
Acked-by: Qingqing Zhuo <Qingqing.zhuo@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: <stable@vger.kernel.org>
This commit is contained in:
Lewis Huang 2020-09-16 17:13:11 -04:00 committed by Alex Deucher
parent 3a83d33e18
commit 12dbd1f757
1 changed files with 4 additions and 2 deletions

View File

@ -1286,7 +1286,8 @@ static enum dc_status dc_commit_state_no_check(struct dc *dc, struct dc_state *c
dc->optimize_seamless_boot_streams++; dc->optimize_seamless_boot_streams++;
} }
if (context->stream_count > dc->optimize_seamless_boot_streams) if (context->stream_count > dc->optimize_seamless_boot_streams ||
context->stream_count == 0)
dc->hwss.prepare_bandwidth(dc, context); dc->hwss.prepare_bandwidth(dc, context);
disable_dangling_plane(dc, context); disable_dangling_plane(dc, context);
@ -1368,7 +1369,8 @@ static enum dc_status dc_commit_state_no_check(struct dc *dc, struct dc_state *c
dc_enable_stereo(dc, context, dc_streams, context->stream_count); dc_enable_stereo(dc, context, dc_streams, context->stream_count);
if (context->stream_count > dc->optimize_seamless_boot_streams) { if (context->stream_count > dc->optimize_seamless_boot_streams ||
context->stream_count == 0) {
/* Must wait for no flips to be pending before doing optimize bw */ /* Must wait for no flips to be pending before doing optimize bw */
wait_for_no_pipes_pending(dc, context); wait_for_no_pipes_pending(dc, context);
/* pplib is notified if disp_num changed */ /* pplib is notified if disp_num changed */