mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-01 08:21:04 -04:00
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: Dillon Varone <dillon.varone@amd.com> Signed-off-by: Chris Park <chris.park@amd.com> Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user