Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 457fbe76 authored by Yongqiang Sun's avatar Yongqiang Sun Committed by Alex Deucher
Browse files

drm/amd/display: Program cursor regs after context swapped.



Cursor is abnormal after pipe_ctx is changed in context.
Cause: cursor attributes is programmed right after front end
programming, but it use old pipe_ctx to program which is not
updated yet.
Solution:
Program cursor regs after context swapped.

Signed-off-by: default avatarYongqiang Sun <yongqiang.sun@amd.com>
Reviewed-by: default avatarTony Cheng <Tony.Cheng@amd.com>
Acked-by: default avatarHarry Wentland <harry.wentland@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 0c31a821
Loading
Loading
Loading
Loading
+1 −14
Original line number Original line Diff line number Diff line
@@ -1992,22 +1992,9 @@ static void dcn10_apply_ctx_for_surface(
		}
		}
	}
	}


	if (num_planes > 0) {
	if (num_planes > 0)
		program_all_pipe_in_tree(dc, top_pipe_to_program, context);
		program_all_pipe_in_tree(dc, top_pipe_to_program, context);


		/* TODO: this is a hack w/a for switching from mpo to pipe split */
		if (stream->cursor_attributes.address.quad_part != 0) {
			struct dc_cursor_position position = { 0 };

			dc_stream_set_cursor_position(
				(struct dc_stream_state *)stream,
				&position);
			dc_stream_set_cursor_attributes(
				(struct dc_stream_state *)stream,
				&stream->cursor_attributes);
		}
	}

	tg->funcs->unlock(tg);
	tg->funcs->unlock(tg);


	if (num_planes == 0)
	if (num_planes == 0)