mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-17 04:49:33 +07:00
drm/amd/display: Remove program_csc_matrix
[Why] On DCN1/DCE, There are two functions programming OCSC: program_csc_matrix and program_output_csc. They do the same thing. [How] Consolidate to use only program_output_csc. Signed-off-by: Krunoslav Kovac <Krunoslav.Kovac@amd.com> Reviewed-by: Aric Cyr <Aric.Cyr@amd.com> Acked-by: Leo Li <sunpeng.li@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
37c1346c2e
commit
3917a47075
@ -391,9 +391,11 @@ bool dc_stream_program_csc_matrix(struct dc *dc, struct dc_stream_state *stream)
|
||||
== stream) {
|
||||
|
||||
pipes = &dc->current_state->res_ctx.pipe_ctx[i];
|
||||
dc->hwss.program_csc_matrix(pipes,
|
||||
stream->output_color_space,
|
||||
stream->csc_color_matrix.matrix);
|
||||
dc->hwss.program_output_csc(dc,
|
||||
pipes,
|
||||
stream->output_color_space,
|
||||
stream->csc_color_matrix.matrix,
|
||||
pipes->plane_res.hubp->opp_id);
|
||||
ret = true;
|
||||
}
|
||||
}
|
||||
|
@ -2582,28 +2582,6 @@ static void dce110_wait_for_mpcc_disconnect(
|
||||
/* do nothing*/
|
||||
}
|
||||
|
||||
static void program_csc_matrix(struct pipe_ctx *pipe_ctx,
|
||||
enum dc_color_space colorspace,
|
||||
uint16_t *matrix)
|
||||
{
|
||||
int i;
|
||||
struct out_csc_color_matrix tbl_entry;
|
||||
|
||||
if (pipe_ctx->stream->csc_color_matrix.enable_adjustment
|
||||
== true) {
|
||||
enum dc_color_space color_space =
|
||||
pipe_ctx->stream->output_color_space;
|
||||
|
||||
//uint16_t matrix[12];
|
||||
for (i = 0; i < 12; i++)
|
||||
tbl_entry.regval[i] = pipe_ctx->stream->csc_color_matrix.matrix[i];
|
||||
|
||||
tbl_entry.color_space = color_space;
|
||||
//tbl_entry.regval = matrix;
|
||||
pipe_ctx->plane_res.xfm->funcs->opp_set_csc_adjustment(pipe_ctx->plane_res.xfm, &tbl_entry);
|
||||
}
|
||||
}
|
||||
|
||||
void dce110_set_cursor_position(struct pipe_ctx *pipe_ctx)
|
||||
{
|
||||
struct dc_cursor_position pos_cpy = pipe_ctx->stream->cursor_position;
|
||||
@ -2654,7 +2632,6 @@ void dce110_set_cursor_attribute(struct pipe_ctx *pipe_ctx)
|
||||
|
||||
static const struct hw_sequencer_funcs dce110_funcs = {
|
||||
.program_gamut_remap = program_gamut_remap,
|
||||
.program_csc_matrix = program_csc_matrix,
|
||||
.init_hw = init_hw,
|
||||
.apply_ctx_to_hw = dce110_apply_ctx_to_hw,
|
||||
.apply_ctx_for_surface = dce110_apply_ctx_for_surface,
|
||||
|
@ -1704,30 +1704,19 @@ static void program_gamut_remap(struct pipe_ctx *pipe_ctx)
|
||||
pipe_ctx->plane_res.dpp->funcs->dpp_set_gamut_remap(pipe_ctx->plane_res.dpp, &adjust);
|
||||
}
|
||||
|
||||
|
||||
static void program_csc_matrix(struct pipe_ctx *pipe_ctx,
|
||||
enum dc_color_space colorspace,
|
||||
uint16_t *matrix)
|
||||
{
|
||||
if (pipe_ctx->stream->csc_color_matrix.enable_adjustment == true) {
|
||||
if (pipe_ctx->plane_res.dpp->funcs->dpp_set_csc_adjustment != NULL)
|
||||
pipe_ctx->plane_res.dpp->funcs->dpp_set_csc_adjustment(pipe_ctx->plane_res.dpp, matrix);
|
||||
} else {
|
||||
if (pipe_ctx->plane_res.dpp->funcs->dpp_set_csc_default != NULL)
|
||||
pipe_ctx->plane_res.dpp->funcs->dpp_set_csc_default(pipe_ctx->plane_res.dpp, colorspace);
|
||||
}
|
||||
}
|
||||
|
||||
static void dcn10_program_output_csc(struct dc *dc,
|
||||
struct pipe_ctx *pipe_ctx,
|
||||
enum dc_color_space colorspace,
|
||||
uint16_t *matrix,
|
||||
int opp_id)
|
||||
{
|
||||
if (pipe_ctx->plane_res.dpp->funcs->dpp_set_csc_adjustment != NULL)
|
||||
program_csc_matrix(pipe_ctx,
|
||||
colorspace,
|
||||
matrix);
|
||||
if (pipe_ctx->stream->csc_color_matrix.enable_adjustment == true) {
|
||||
if (pipe_ctx->plane_res.dpp->funcs->dpp_set_csc_adjustment != NULL)
|
||||
pipe_ctx->plane_res.dpp->funcs->dpp_set_csc_adjustment(pipe_ctx->plane_res.dpp, matrix);
|
||||
} else {
|
||||
if (pipe_ctx->plane_res.dpp->funcs->dpp_set_csc_default != NULL)
|
||||
pipe_ctx->plane_res.dpp->funcs->dpp_set_csc_default(pipe_ctx->plane_res.dpp, colorspace);
|
||||
}
|
||||
}
|
||||
|
||||
bool is_lower_pipe_tree_visible(struct pipe_ctx *pipe_ctx)
|
||||
@ -2684,7 +2673,6 @@ static void dcn10_set_cursor_sdr_white_level(struct pipe_ctx *pipe_ctx)
|
||||
|
||||
static const struct hw_sequencer_funcs dcn10_funcs = {
|
||||
.program_gamut_remap = program_gamut_remap,
|
||||
.program_csc_matrix = program_csc_matrix,
|
||||
.init_hw = dcn10_init_hw,
|
||||
.apply_ctx_to_hw = dce110_apply_ctx_to_hw,
|
||||
.apply_ctx_for_surface = dcn10_apply_ctx_for_surface,
|
||||
|
@ -85,11 +85,6 @@ struct hw_sequencer_funcs {
|
||||
void (*program_gamut_remap)(
|
||||
struct pipe_ctx *pipe_ctx);
|
||||
|
||||
void (*program_csc_matrix)(
|
||||
struct pipe_ctx *pipe_ctx,
|
||||
enum dc_color_space colorspace,
|
||||
uint16_t *matrix);
|
||||
|
||||
void (*program_output_csc)(struct dc *dc,
|
||||
struct pipe_ctx *pipe_ctx,
|
||||
enum dc_color_space colorspace,
|
||||
|
Loading…
Reference in New Issue
Block a user