Commit 2909c6d7 authored by Chris Park's avatar Chris Park Committed by Alex Deucher
Browse files

drm/amd/display: Update color space, bias and scale programming sequence



[Why]
DMColor inaccurately updates color space, bias and scale
destructively in dc_plane_state.  This can be resolved by
accurately populating the infos on dc_plane_info where then
translation to plane state can happen as a whole surface update sequence.

[How]
Remove dc_plane_state update in DMColor and update color space,
bias and scale on dc_plane_info.

Reviewed-by: default avatarDillon Varone <dillon.varone@amd.com>
Signed-off-by: default avatarChris Park <chris.park@amd.com>
Signed-off-by: default avatarAurabindo Pillai <aurabindo.pillai@amd.com>
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 57ac1175
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -2982,6 +2982,10 @@ static void copy_surface_update_to_plane(
	if (srf_update->cursor_csc_color_matrix)
		surface->cursor_csc_color_matrix =
			*srf_update->cursor_csc_color_matrix;

	if (srf_update->bias_and_scale.bias_and_scale_valid)
			surface->bias_and_scale =
					srf_update->bias_and_scale;
}

static void copy_stream_update_to_stream(struct dc *dc,
+1 −0
Original line number Diff line number Diff line
@@ -1527,6 +1527,7 @@ struct dc_surface_update {
	const struct dc_cm2_parameters *cm2_params;
	const struct dc_csc_transform *cursor_csc_color_matrix;
	unsigned int sdr_white_level_nits;
	struct dc_bias_and_scale bias_and_scale;
};

/*