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:
Chris Park
2024-11-27 13:50:04 -05:00
committed by Alex Deucher
parent 57ac1175b9
commit 2909c6d7b1
2 changed files with 5 additions and 0 deletions

View File

@@ -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,

View File

@@ -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;
};
/*