Commit 10fdb0a1 authored by Rodrigo Siqueira's avatar Rodrigo Siqueira Committed by Alex Deucher
Browse files

drm/amd/display: Rework context change check



Context change is all about streams; for this reason, this commit
renames context_changed to streams_changed. Additionally, to make this
function more flexible, this commit changes the function signature to
receive the stream array and the stream count as a parameter.

Reviewed-by: default avatarHarry Wentland <harry.wentland@amd.com>
Signed-off-by: default avatarRodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Co-developed-by: default avatarAurabindo Pillai <aurabindo.pillai@amd.com>
Signed-off-by: default avatarAurabindo Pillai <aurabindo.pillai@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 03ce7b38
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -1488,19 +1488,19 @@ static void program_timing_sync(
	}
}

static bool context_changed(
		struct dc *dc,
		struct dc_state *context)
static bool streams_changed(struct dc *dc,
			    struct dc_stream_state *streams[],
			    uint8_t stream_count)
{
	uint8_t i;

	if (context->stream_count != dc->current_state->stream_count)
	if (stream_count != dc->current_state->stream_count)
		return true;

	for (i = 0; i < dc->current_state->stream_count; i++) {
		if (dc->current_state->streams[i] != context->streams[i])
		if (dc->current_state->streams[i] != streams[i])
			return true;
		if (!context->streams[i]->link->link_state_valid)
		if (!streams[i]->link->link_state_valid)
			return true;
	}

@@ -1895,7 +1895,7 @@ bool dc_commit_state(struct dc *dc, struct dc_state *context)
	enum dc_status result = DC_ERROR_UNEXPECTED;
	int i;

	if (!context_changed(dc, context))
	if (!streams_changed(dc, context->streams, context->stream_count))
		return DC_OK;

	DC_LOG_DC("%s: %d streams\n",