drm/amd/display: Make program_output_csc HWSS interface function
authorEric Bernstein <eric.bernstein@amd.com>
Mon, 9 Apr 2018 19:47:42 +0000 (15:47 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 15 May 2018 18:44:08 +0000 (13:44 -0500)
Signed-off-by: Eric Bernstein <eric.bernstein@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
drivers/gpu/drm/amd/display/dc/inc/hw_sequencer.h

index e547f46..7cecab0 100644 (file)
@@ -1564,7 +1564,7 @@ static void program_csc_matrix(struct pipe_ctx *pipe_ctx,
        }
 }
 
-static void program_output_csc(struct dc *dc,
+static void dcn10_program_output_csc(struct dc *dc,
                struct pipe_ctx *pipe_ctx,
                enum dc_color_space colorspace,
                uint16_t *matrix,
@@ -1917,7 +1917,7 @@ static void update_dchubp_dpp(
                /*gamut remap*/
                program_gamut_remap(pipe_ctx);
 
-               program_output_csc(dc,
+               dc->hwss.program_output_csc(dc,
                                pipe_ctx,
                                pipe_ctx->stream->output_color_space,
                                pipe_ctx->stream->csc_color_matrix.matrix,
@@ -2667,6 +2667,7 @@ static const struct hw_sequencer_funcs dcn10_funcs = {
        .update_pending_status = dcn10_update_pending_status,
        .set_input_transfer_func = dcn10_set_input_transfer_func,
        .set_output_transfer_func = dcn10_set_output_transfer_func,
+       .program_output_csc = dcn10_program_output_csc,
        .power_down = dce110_power_down,
        .enable_accelerated_mode = dce110_enable_accelerated_mode,
        .enable_timing_synchronization = dcn10_enable_timing_synchronization,
index f54d478..be6cf7e 100644 (file)
@@ -95,6 +95,12 @@ struct hw_sequencer_funcs {
                        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,
+                       uint16_t *matrix,
+                       int opp_id);
+
        void (*update_plane_addr)(
                const struct dc *dc,
                struct pipe_ctx *pipe_ctx);
@@ -203,6 +209,7 @@ struct hw_sequencer_funcs {
 
        void (*set_cursor_position)(struct pipe_ctx *pipe);
        void (*set_cursor_attribute)(struct pipe_ctx *pipe);
+
 };
 
 void color_space_to_black_color(