Commit 8a307777 authored by Alex Hung's avatar Alex Hung Committed by Alex Deucher
Browse files

drm/amd/display: Fix writeback_info never got updated



[WHY]
wb_enabled field is set to false before it is used, and the following
code will never be executed.

[HOW]
Setting wb_enable to false after all removal work is completed.

Reviewed-by: default avatarHarry Wentland <harry.wentland@amd.com>
Signed-off-by: default avatarAlex Hung <alex.hung@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent c6d3c7b6
Loading
Loading
Loading
Loading
+4 −9
Original line number Diff line number Diff line
@@ -558,18 +558,13 @@ bool dc_stream_remove_writeback(struct dc *dc,
		return false;
	}

//	stream->writeback_info[dwb_pipe_inst].wb_enabled = false;
	for (i = 0; i < stream->num_wb_info; i++) {
		/*dynamic update*/
		if (stream->writeback_info[i].wb_enabled &&
			stream->writeback_info[i].dwb_pipe_inst == dwb_pipe_inst) {
			stream->writeback_info[i].wb_enabled = false;
		}
	}

	/* remove writeback info for disabled writeback pipes from stream */
	for (i = 0, j = 0; i < stream->num_wb_info; i++) {
		if (stream->writeback_info[i].wb_enabled) {

			if (stream->writeback_info[i].dwb_pipe_inst == dwb_pipe_inst)
				stream->writeback_info[i].wb_enabled = false;

			if (j < i)
				/* trim the array */
				memcpy(&stream->writeback_info[j], &stream->writeback_info[i],