Commit 7b471c32 authored by Vladimir Stempen's avatar Vladimir Stempen Committed by Alex Deucher
Browse files

drm/amd/display: Fix black flash when switching from ODM2to1 to ODMBypass



[Why]
On secondary display hotplug we switch primary
stream from ODM2to1 to ODMBypass mode. Current
logic will trigger disabling front end for this
stream.

[How]
We need to check if prev_odm_pipe is equal to NULL
in order to disable dangling planes in this scenario.

Reviewed-by: default avatarAriel Bernstein <Eric.Bernstein@amd.com>
Acked-by: default avatarBrian Chang <Brian.Chang@amd.com>
Signed-off-by: default avatarVladimir Stempen <vladimir.stempen@amd.com>
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent d6f84bab
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -1094,7 +1094,8 @@ static void disable_dangling_plane(struct dc *dc, struct dc_state *context)
				dc->current_state->stream_count != context->stream_count)
				dc->current_state->stream_count != context->stream_count)
			should_disable = true;
			should_disable = true;


		if (old_stream && !dc->current_state->res_ctx.pipe_ctx[i].top_pipe) {
		if (old_stream && !dc->current_state->res_ctx.pipe_ctx[i].top_pipe &&
				!dc->current_state->res_ctx.pipe_ctx[i].prev_odm_pipe) {
			struct pipe_ctx *old_pipe, *new_pipe;
			struct pipe_ctx *old_pipe, *new_pipe;


			old_pipe = &dc->current_state->res_ctx.pipe_ctx[i];
			old_pipe = &dc->current_state->res_ctx.pipe_ctx[i];