From 5dfa96c7b0d63e7d154224fa86e5f43b2bab0e65 Mon Sep 17 00:00:00 2001 From: Eric Yang Date: Thu, 18 Feb 2016 15:40:51 -0500 Subject: [PATCH 0816/1110] drm/amd/dal: Refactor opp xfm ipp headers incremental Incremental commit, this one mainly deal with opp. There is one change in ipp to move ovl_color_space out of dc_hw_types And minor change in transform to untangle dependencies between transform and opp. Goal of this changeis to make opp header files self-contained. i.e. all types used in opp.h, are either in the header itself or in dc_hw_types.h. This is to allow the header files to be shared with HW team to write pseudo code 2 structures that are still not contained are signal_type and fix_point fixed31_32 Signed-off-by: Eric Yang Acked-by: Harry Wentland --- drivers/gpu/drm/amd/dal/dc/dc_hw_types.h | 41 +++++++++-- drivers/gpu/drm/amd/dal/dc/dc_types.h | 33 --------- drivers/gpu/drm/amd/dal/dc/dce110/dce110_opp.h | 2 +- drivers/gpu/drm/amd/dal/dc/dce110/dce110_opp_csc.c | 18 ++--- .../gpu/drm/amd/dal/dc/dce110/dce110_opp_csc_v.c | 14 ++-- drivers/gpu/drm/amd/dal/dc/dce110/dce110_opp_v.h | 2 +- .../gpu/drm/amd/dal/dc/dce110/dce110_transform.h | 3 +- .../drm/amd/dal/dc/dce110/dce110_transform_gamut.c | 4 +- .../gpu/drm/amd/dal/dc/dce110/dce110_transform_v.h | 1 - drivers/gpu/drm/amd/dal/dc/dce80/dce80_opp.h | 2 +- drivers/gpu/drm/amd/dal/dc/dce80/dce80_opp_csc.c | 18 ++--- drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform.h | 3 +- .../drm/amd/dal/dc/dce80/dce80_transform_gamut.c | 4 +- drivers/gpu/drm/amd/dal/dc/inc/ipp.h | 9 ++- drivers/gpu/drm/amd/dal/dc/inc/opp.h | 39 ++++++++-- drivers/gpu/drm/amd/dal/dc/inc/timing_generator.h | 2 - drivers/gpu/drm/amd/dal/dc/inc/transform.h | 17 ++++- drivers/gpu/drm/amd/dal/include/grph_csc_types.h | 85 ---------------------- drivers/gpu/drm/amd/dal/include/video_csc_types.h | 1 - 19 files changed, 125 insertions(+), 173 deletions(-) delete mode 100644 drivers/gpu/drm/amd/dal/include/grph_csc_types.h diff --git a/drivers/gpu/drm/amd/dal/dc/dc_hw_types.h b/drivers/gpu/drm/amd/dal/dc/dc_hw_types.h index 2a9ec19..61939f7 100644 --- a/drivers/gpu/drm/amd/dal/dc/dc_hw_types.h +++ b/drivers/gpu/drm/amd/dal/dc/dc_hw_types.h @@ -282,12 +282,6 @@ struct dc_cursor_position { /* Used by both ipp amd opp functions*/ /* TODO: to be consolidated with enum color_space */ -enum ovl_color_space { - OVL_COLOR_SPACE_UNKNOWN = 0, - OVL_COLOR_SPACE_RGB, - OVL_COLOR_SPACE_YUV601, - OVL_COLOR_SPACE_YUV709 -}; /* * This enum is for programming CURSOR_MODE register field. What this register @@ -365,5 +359,40 @@ struct dev_c_lut { uint8_t green; uint8_t blue; }; + +/* OPP */ +enum dc_pixel_encoding { + PIXEL_ENCODING_UNDEFINED, + PIXEL_ENCODING_RGB, + PIXEL_ENCODING_YCBCR422, + PIXEL_ENCODING_YCBCR444, + PIXEL_ENCODING_YCBCR420, + PIXEL_ENCODING_COUNT +}; + +enum color_space { + COLOR_SPACE_UNKNOWN, + COLOR_SPACE_SRGB_FULL_RANGE, + COLOR_SPACE_SRGB_LIMITED_RANGE, + COLOR_SPACE_YPBPR601, + COLOR_SPACE_YPBPR709, + COLOR_SPACE_YCBCR601, + COLOR_SPACE_YCBCR709, + COLOR_SPACE_YCBCR601_YONLY, + COLOR_SPACE_YCBCR709_YONLY, + COLOR_SPACE_N_MVPU_SUPER_AA, +}; + +enum dc_color_depth { + COLOR_DEPTH_UNDEFINED, + COLOR_DEPTH_666, + COLOR_DEPTH_888, + COLOR_DEPTH_101010, + COLOR_DEPTH_121212, + COLOR_DEPTH_141414, + COLOR_DEPTH_161616, + COLOR_DEPTH_COUNT +}; + #endif /* DC_HW_TYPES_H */ diff --git a/drivers/gpu/drm/amd/dal/dc/dc_types.h b/drivers/gpu/drm/amd/dal/dc/dc_types.h index 4e36b85..bcbb911 100644 --- a/drivers/gpu/drm/amd/dal/dc/dc_types.h +++ b/drivers/gpu/drm/amd/dal/dc/dc_types.h @@ -67,19 +67,6 @@ enum dce_environment { #define MAX_SURFACE_NUM 2 #define NUM_PIXEL_FORMATS 10 -enum color_space { - COLOR_SPACE_UNKNOWN, - COLOR_SPACE_SRGB_FULL_RANGE, - COLOR_SPACE_SRGB_LIMITED_RANGE, - COLOR_SPACE_YPBPR601, - COLOR_SPACE_YPBPR709, - COLOR_SPACE_YCBCR601, - COLOR_SPACE_YCBCR709, - COLOR_SPACE_YCBCR601_YONLY, - COLOR_SPACE_YCBCR709_YONLY, - COLOR_SPACE_N_MVPU_SUPER_AA, -}; - enum tiling_mode { TILING_MODE_INVALID, TILING_MODE_LINEAR, @@ -115,15 +102,6 @@ enum plane_stereo_format { PLANE_STEREO_FORMAT_CHECKER_BOARD = 7 }; -enum dc_pixel_encoding { - PIXEL_ENCODING_UNDEFINED, - PIXEL_ENCODING_RGB, - PIXEL_ENCODING_YCBCR422, - PIXEL_ENCODING_YCBCR444, - PIXEL_ENCODING_YCBCR420, - PIXEL_ENCODING_COUNT -}; - /* TODO: Find way to calculate number of bits * Please increase if pixel_format enum increases * num from PIXEL_FORMAT_INDEX8 to PIXEL_FORMAT_444BPP32 @@ -307,17 +285,6 @@ enum dc_aspect_ratio { ASPECT_RATIO_FUTURE }; -enum dc_color_depth { - COLOR_DEPTH_UNDEFINED, - COLOR_DEPTH_666, - COLOR_DEPTH_888, - COLOR_DEPTH_101010, - COLOR_DEPTH_121212, - COLOR_DEPTH_141414, - COLOR_DEPTH_161616, - COLOR_DEPTH_COUNT -}; - enum dc_timing_3d_format { TIMING_3D_FORMAT_NONE, TIMING_3D_FORMAT_FRAME_ALTERNATE, /* No stereosync at all*/ diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_opp.h b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_opp.h index a19e744..e6dcaf8 100644 --- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_opp.h +++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_opp.h @@ -116,7 +116,7 @@ void dce110_opp_set_regamma_mode(struct output_pixel_processor *opp, void dce110_opp_set_csc_adjustment( struct output_pixel_processor *opp, - const struct grph_csc_adjustment *adjust); + const struct opp_grph_csc_adjustment *adjust); void dce110_opp_set_csc_default( struct output_pixel_processor *opp, diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_opp_csc.c b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_opp_csc.c index 8f651e9..b1db0cc 100644 --- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_opp_csc.c +++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_opp_csc.c @@ -193,7 +193,7 @@ static void program_color_matrix( * @return None */ static void initialize_color_float_adj_reference_values( - const struct grph_csc_adjustment *adjust, + const struct opp_grph_csc_adjustment *adjust, struct fixed31_32 *grph_cont, struct fixed31_32 *grph_sat, struct fixed31_32 *grph_bright, @@ -291,7 +291,7 @@ static void setup_reg_format( * ***************************************************************************** */ -static void setup_adjustments(const struct grph_csc_adjustment *adjust, +static void setup_adjustments(const struct opp_grph_csc_adjustment *adjust, struct dc_csc_adjustments *adjustments) { if (adjust->adjust_divider != 0) { @@ -343,7 +343,7 @@ static void prepare_tv_rgb_ideal( ***************************************************************************** * Function: dal_transform_wide_gamut_set_rgb_adjustment_legacy * - * @param [in] const struct grph_csc_adjustment *adjust + * @param [in] const struct opp_grph_csc_adjustment *adjust * * @return * void @@ -356,7 +356,7 @@ static void prepare_tv_rgb_ideal( */ static void set_rgb_adjustment_legacy( struct dce110_opp *opp110, - const struct grph_csc_adjustment *adjust) + const struct opp_grph_csc_adjustment *adjust) { const struct fixed31_32 k1 = dal_fixed31_32_from_fraction(701000, 1000000); @@ -571,7 +571,7 @@ static void set_rgb_adjustment_legacy( ***************************************************************************** * Function: dal_transform_wide_gamut_set_rgb_limited_range_adjustment * - * @param [in] const struct grph_csc_adjustment *adjust + * @param [in] const struct opp_grph_csc_adjustment *adjust * * @return * void @@ -584,7 +584,7 @@ static void set_rgb_adjustment_legacy( */ static void set_rgb_limited_range_adjustment( struct dce110_opp *opp110, - const struct grph_csc_adjustment *adjust) + const struct opp_grph_csc_adjustment *adjust) { struct out_csc_color_matrix reg_matrix; struct fixed31_32 change_matrix[OUTPUT_CSC_MATRIX_SIZE]; @@ -657,7 +657,7 @@ static void prepare_yuv_ideal( ***************************************************************************** * Function: dal_transform_wide_gamut_set_yuv_adjustment * - * @param [in] const struct grph_csc_adjustment *adjust + * @param [in] const struct opp_grph_csc_adjustment *adjust * * @return * void @@ -670,7 +670,7 @@ static void prepare_yuv_ideal( */ static void set_yuv_adjustment( struct dce110_opp *opp110, - const struct grph_csc_adjustment *adjust) + const struct opp_grph_csc_adjustment *adjust) { bool b601 = (adjust->c_space == COLOR_SPACE_YPBPR601) || (adjust->c_space == COLOR_SPACE_YCBCR601) || @@ -823,7 +823,7 @@ static bool configure_graphics_mode( void dce110_opp_set_csc_adjustment( struct output_pixel_processor *opp, - const struct grph_csc_adjustment *adjust) + const struct opp_grph_csc_adjustment *adjust) { struct dce110_opp *opp110 = TO_DCE110_OPP(opp); enum csc_color_mode config = diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_opp_csc_v.c b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_opp_csc_v.c index 6ca749e..a786b98 100644 --- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_opp_csc_v.c +++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_opp_csc_v.c @@ -364,7 +364,7 @@ static void program_color_matrix_v( * @return None */ static void initialize_color_float_adj_reference_values( - const struct grph_csc_adjustment *adjust, + const struct opp_grph_csc_adjustment *adjust, struct fixed31_32 *grph_cont, struct fixed31_32 *grph_sat, struct fixed31_32 *grph_bright, @@ -462,7 +462,7 @@ static void setup_reg_format( * ***************************************************************************** */ -static void setup_adjustments(const struct grph_csc_adjustment *adjust, +static void setup_adjustments(const struct opp_grph_csc_adjustment *adjust, struct dc_csc_adjustments *adjustments) { if (adjust->adjust_divider != 0) { @@ -495,7 +495,7 @@ static void setup_adjustments(const struct grph_csc_adjustment *adjust, ***************************************************************************** * Function: dal_transform_wide_gamut_set_rgb_adjustment_legacy * - * @param [in] const struct grph_csc_adjustment *adjust + * @param [in] const struct opp_grph_csc_adjustment *adjust * * @return * void @@ -508,7 +508,7 @@ static void setup_adjustments(const struct grph_csc_adjustment *adjust, */ static void set_rgb_adjustment_legacy( struct dce110_opp *opp110, - const struct grph_csc_adjustment *adjust) + const struct opp_grph_csc_adjustment *adjust) { const struct fixed31_32 k1 = dal_fixed31_32_from_fraction(701000, 1000000); @@ -769,7 +769,7 @@ static void prepare_yuv_ideal( ***************************************************************************** * Function: dal_transform_wide_gamut_set_yuv_adjustment * - * @param [in] const struct grph_csc_adjustment *adjust + * @param [in] const struct opp_grph_csc_adjustment *adjust * * @return * void @@ -782,7 +782,7 @@ static void prepare_yuv_ideal( */ static void set_yuv_adjustment( struct dce110_opp *opp110, - const struct grph_csc_adjustment *adjust) + const struct opp_grph_csc_adjustment *adjust) { bool b601 = (adjust->c_space == COLOR_SPACE_YPBPR601) || (adjust->c_space == COLOR_SPACE_YCBCR601) || @@ -1014,7 +1014,7 @@ void dce110_opp_v_set_csc_default( void dce110_opp_v_set_csc_adjustment( struct output_pixel_processor *opp, - const struct grph_csc_adjustment *adjust) + const struct opp_grph_csc_adjustment *adjust) { struct dce110_opp *opp110 = TO_DCE110_OPP(opp); enum csc_color_mode config = diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_opp_v.h b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_opp_v.h index 1936ba4..d78395a 100644 --- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_opp_v.h +++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_opp_v.h @@ -43,7 +43,7 @@ void dce110_opp_v_set_csc_default( void dce110_opp_v_set_csc_adjustment( struct output_pixel_processor *opp, - const struct grph_csc_adjustment *adjust); + const struct opp_grph_csc_adjustment *adjust); bool dce110_opp_program_regamma_pwl_v( struct output_pixel_processor *opp, diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform.h b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform.h index 117aca3..f7c5565 100644 --- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform.h +++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform.h @@ -26,7 +26,6 @@ #define __DAL_TRANSFORM_DCE110_H__ #include "inc/transform.h" -#include "include/grph_csc_types.h" #define TO_DCE110_TRANSFORM(transform)\ container_of(transform, struct dce110_transform, base) @@ -71,7 +70,7 @@ void dce110_transform_set_scaler_filter( /* GAMUT RELATED */ void dce110_transform_set_gamut_remap( struct transform *xfm, - const struct grph_csc_adjustment *adjust); + const struct xfm_grph_csc_adjustment *adjust); /* BIT DEPTH RELATED */ bool dce110_transform_set_pixel_storage_depth( diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_gamut.c b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_gamut.c index 05309c9..fe5be62 100644 --- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_gamut.c +++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_gamut.c @@ -221,7 +221,7 @@ static void program_gamut_remap( ***************************************************************************** * Function: dal_transform_wide_gamut_set_gamut_remap * - * @param [in] const struct grph_csc_adjustment *adjust + * @param [in] const struct xfm_grph_csc_adjustment *adjust * * @return * void @@ -234,7 +234,7 @@ static void program_gamut_remap( */ void dce110_transform_set_gamut_remap( struct transform *xfm, - const struct grph_csc_adjustment *adjust) + const struct xfm_grph_csc_adjustment *adjust) { struct dce110_transform *xfm110 = TO_DCE110_TRANSFORM(xfm); diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_v.h b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_v.h index b51bd78..eec3872 100644 --- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_v.h +++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_v.h @@ -26,7 +26,6 @@ #define __DAL_TRANSFORM_V_DCE110_H__ #include "inc/transform.h" -#include "include/grph_csc_types.h" bool dce110_transform_v_construct( struct dce110_transform *xfm110, diff --git a/drivers/gpu/drm/amd/dal/dc/dce80/dce80_opp.h b/drivers/gpu/drm/amd/dal/dc/dce80/dce80_opp.h index d414f50..db5e0eb 100644 --- a/drivers/gpu/drm/amd/dal/dc/dce80/dce80_opp.h +++ b/drivers/gpu/drm/amd/dal/dc/dce80/dce80_opp.h @@ -105,7 +105,7 @@ void dce80_opp_set_regamma_mode(struct output_pixel_processor *opp, void dce80_opp_set_csc_adjustment( struct output_pixel_processor *opp, - const struct grph_csc_adjustment *adjust); + const struct opp_grph_csc_adjustment *adjust); void dce80_opp_set_csc_default( struct output_pixel_processor *opp, diff --git a/drivers/gpu/drm/amd/dal/dc/dce80/dce80_opp_csc.c b/drivers/gpu/drm/amd/dal/dc/dce80/dce80_opp_csc.c index 90662ae..2ea6628 100644 --- a/drivers/gpu/drm/amd/dal/dc/dce80/dce80_opp_csc.c +++ b/drivers/gpu/drm/amd/dal/dc/dce80/dce80_opp_csc.c @@ -194,7 +194,7 @@ static void program_color_matrix( * @return None */ static void initialize_color_float_adj_reference_values( - const struct grph_csc_adjustment *adjust, + const struct opp_grph_csc_adjustment *adjust, struct fixed31_32 *grph_cont, struct fixed31_32 *grph_sat, struct fixed31_32 *grph_bright, @@ -292,7 +292,7 @@ static void setup_reg_format( * ***************************************************************************** */ -static void setup_adjustments(const struct grph_csc_adjustment *adjust, +static void setup_adjustments(const struct opp_grph_csc_adjustment *adjust, struct dc_csc_adjustments *adjustments) { if (adjust->adjust_divider != 0) { @@ -344,7 +344,7 @@ static void prepare_tv_rgb_ideal( ***************************************************************************** * Function: dal_transform_wide_gamut_set_rgb_adjustment_legacy * - * @param [in] const struct grph_csc_adjustment *adjust + * @param [in] const struct opp_grph_csc_adjustment *adjust * * @return * void @@ -357,7 +357,7 @@ static void prepare_tv_rgb_ideal( */ static void set_rgb_adjustment_legacy( struct dce80_opp *opp80, - const struct grph_csc_adjustment *adjust) + const struct opp_grph_csc_adjustment *adjust) { const struct fixed31_32 k1 = dal_fixed31_32_from_fraction(701000, 1000000); @@ -572,7 +572,7 @@ static void set_rgb_adjustment_legacy( ***************************************************************************** * Function: dal_transform_wide_gamut_set_rgb_limited_range_adjustment * - * @param [in] const struct grph_csc_adjustment *adjust + * @param [in] const struct opp_grph_csc_adjustment *adjust * * @return * void @@ -585,7 +585,7 @@ static void set_rgb_adjustment_legacy( */ static void set_rgb_limited_range_adjustment( struct dce80_opp *opp80, - const struct grph_csc_adjustment *adjust) + const struct opp_grph_csc_adjustment *adjust) { struct out_csc_color_matrix reg_matrix; struct fixed31_32 change_matrix[OUTPUT_CSC_MATRIX_SIZE]; @@ -658,7 +658,7 @@ static void prepare_yuv_ideal( ***************************************************************************** * Function: dal_transform_wide_gamut_set_yuv_adjustment * - * @param [in] const struct grph_csc_adjustment *adjust + * @param [in] const struct opp_grph_csc_adjustment *adjust * * @return * void @@ -671,7 +671,7 @@ static void prepare_yuv_ideal( */ static void set_yuv_adjustment( struct dce80_opp *opp80, - const struct grph_csc_adjustment *adjust) + const struct opp_grph_csc_adjustment *adjust) { bool b601 = (adjust->c_space == COLOR_SPACE_YPBPR601) || (adjust->c_space == COLOR_SPACE_YCBCR601) || @@ -824,7 +824,7 @@ static bool configure_graphics_mode( void dce80_opp_set_csc_adjustment( struct output_pixel_processor *opp, - const struct grph_csc_adjustment *adjust) + const struct opp_grph_csc_adjustment *adjust) { struct dce80_opp *opp80 = TO_DCE80_OPP(opp); enum csc_color_mode config = diff --git a/drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform.h b/drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform.h index adcc54b..ac8e5c9 100644 --- a/drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform.h +++ b/drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform.h @@ -26,7 +26,6 @@ #define __DAL_TRANSFORM_DCE80_H__ #include "inc/transform.h" -#include "include/grph_csc_types.h" #define TO_DCE80_TRANSFORM(transform)\ container_of(transform, struct dce80_transform, base) @@ -71,7 +70,7 @@ void dce80_transform_set_scaler_filter( /* GAMUT RELATED */ void dce80_transform_set_gamut_remap( struct transform *xfm, - const struct grph_csc_adjustment *adjust); + const struct xfm_grph_csc_adjustment *adjust); /* BIT DEPTH RELATED */ bool dce80_transform_set_pixel_storage_depth( diff --git a/drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform_gamut.c b/drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform_gamut.c index df5db67..4c54f3d 100644 --- a/drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform_gamut.c +++ b/drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform_gamut.c @@ -222,7 +222,7 @@ static void program_gamut_remap( ***************************************************************************** * Function: dal_transform_wide_gamut_set_gamut_remap * - * @param [in] const struct grph_csc_adjustment *adjust + * @param [in] const struct xfm_grph_csc_adjustment *adjust * * @return * void @@ -235,7 +235,7 @@ static void program_gamut_remap( */ void dce80_transform_set_gamut_remap( struct transform *xfm, - const struct grph_csc_adjustment *adjust) + const struct xfm_grph_csc_adjustment *adjust) { struct dce80_transform *xfm80 = TO_DCE80_TRANSFORM(xfm); diff --git a/drivers/gpu/drm/amd/dal/dc/inc/ipp.h b/drivers/gpu/drm/amd/dal/dc/inc/ipp.h index c98102f..e231ce1 100644 --- a/drivers/gpu/drm/amd/dal/dc/inc/ipp.h +++ b/drivers/gpu/drm/amd/dal/dc/inc/ipp.h @@ -28,7 +28,6 @@ #define __DAL_IPP_H__ #include "include/grph_object_id.h" -#include "include/grph_csc_types.h" #include "include/video_csc_types.h" #include "include/hw_sequencer_types.h" @@ -79,6 +78,14 @@ enum wide_gamut_degamma_mode { WIDE_GAMUT_DEGAMMA_MODE_OVL_PWL_ROM_B, }; + +enum ovl_color_space { + OVL_COLOR_SPACE_UNKNOWN = 0, + OVL_COLOR_SPACE_RGB, + OVL_COLOR_SPACE_YUV601, + OVL_COLOR_SPACE_YUV709 +}; + struct dcp_video_matrix { enum ovl_color_space color_space; int32_t value[MAXTRIX_COEFFICIENTS_NUMBER]; diff --git a/drivers/gpu/drm/amd/dal/dc/inc/opp.h b/drivers/gpu/drm/amd/dal/dc/inc/opp.h index 4924874..3d8fe0d 100644 --- a/drivers/gpu/drm/amd/dal/dc/inc/opp.h +++ b/drivers/gpu/drm/amd/dal/dc/inc/opp.h @@ -28,7 +28,6 @@ #include "dc_types.h" #include "grph_object_id.h" -#include "grph_csc_types.h" #include "video_csc_types.h" #include "hw_sequencer_types.h" @@ -269,6 +268,38 @@ struct regamma_params { uint32_t hw_points_num; }; +enum graphics_csc_adjust_type { + GRAPHICS_CSC_ADJUST_TYPE_BYPASS = 0, + GRAPHICS_CSC_ADJUST_TYPE_HW, /* without adjustments */ + GRAPHICS_CSC_ADJUST_TYPE_SW /*use adjustments */ +}; + +struct default_adjustment { + uint32_t lb_color_depth; + enum color_space color_space; + enum dc_color_depth color_depth; + enum pixel_format surface_pixel_format; + enum graphics_csc_adjust_type csc_adjust_type; + bool force_hw_default; +}; + +enum grph_color_adjust_option { + GRPH_COLOR_MATRIX_HW_DEFAULT = 1, + GRPH_COLOR_MATRIX_SW +}; + +struct opp_grph_csc_adjustment { + enum grph_color_adjust_option color_adjust_option; + enum color_space c_space; + enum dc_color_depth color_depth; /* clean up to uint32_t */ + enum graphics_csc_adjust_type csc_adjust_type; + int32_t adjust_divider; + int32_t grph_cont; + int32_t grph_sat; + int32_t grph_bright; + int32_t grph_hue; +}; + struct opp_funcs { void (*opp_power_on_regamma_lut)( struct output_pixel_processor *opp, @@ -283,7 +314,7 @@ struct opp_funcs { void (*opp_set_csc_adjustment)( struct output_pixel_processor *opp, - const struct grph_csc_adjustment *adjust); + const struct opp_grph_csc_adjustment *adjust); void (*opp_set_csc_default)( struct output_pixel_processor *opp, @@ -310,10 +341,6 @@ struct opp_funcs { enum ovl_csc_adjust_item overlay_adjust_item, struct hw_adjustment_range *range); - void (*opp_set_ovl_csc_adjustment)( - struct output_pixel_processor *opp, - const struct ovl_csc_adjustment *adjust, - enum color_space c_space); void (*opp_destroy)(struct output_pixel_processor **opp); }; diff --git a/drivers/gpu/drm/amd/dal/dc/inc/timing_generator.h b/drivers/gpu/drm/amd/dal/dc/inc/timing_generator.h index e9ca169..7ef22ad 100644 --- a/drivers/gpu/drm/amd/dal/dc/inc/timing_generator.h +++ b/drivers/gpu/drm/amd/dal/dc/inc/timing_generator.h @@ -26,8 +26,6 @@ #ifndef __DAL_TIMING_GENERATOR_TYPES_H__ #define __DAL_TIMING_GENERATOR_TYPES_H__ -#include "include/grph_csc_types.h" - struct dc_bios; /** diff --git a/drivers/gpu/drm/amd/dal/dc/inc/transform.h b/drivers/gpu/drm/amd/dal/dc/inc/transform.h index efefedb..47adc1d 100644 --- a/drivers/gpu/drm/amd/dal/dc/inc/transform.h +++ b/drivers/gpu/drm/amd/dal/dc/inc/transform.h @@ -27,7 +27,6 @@ #define __DAL_TRANSFORM_H__ #include "include/scaler_types.h" -#include "include/grph_csc_types.h" #include "calcs/scaler_filter.h" #include "grph_object_id.h" @@ -122,6 +121,20 @@ enum yyc_quantization_range { YYC_QUANTIZATION_RESERVED3 = 3 }; +enum graphics_gamut_adjust_type { + GRAPHICS_GAMUT_ADJUST_TYPE_BYPASS = 0, + GRAPHICS_GAMUT_ADJUST_TYPE_HW, /* without adjustments */ + GRAPHICS_GAMUT_ADJUST_TYPE_SW /* use adjustments */ +}; + +#define CSC_TEMPERATURE_MATRIX_SIZE 9 + +struct xfm_grph_csc_adjustment { + int32_t temperature_matrix[CSC_TEMPERATURE_MATRIX_SIZE]; + int32_t temperature_divider; + enum graphics_gamut_adjust_type gamut_adjust_type; +}; + struct transform_funcs { bool (*transform_power_up)( struct transform *xfm); @@ -139,7 +152,7 @@ struct transform_funcs { void (*transform_set_gamut_remap)( struct transform *xfm, - const struct grph_csc_adjustment *adjust); + const struct xfm_grph_csc_adjustment *adjust); bool (*transform_set_pixel_storage_depth)( struct transform *xfm, diff --git a/drivers/gpu/drm/amd/dal/include/grph_csc_types.h b/drivers/gpu/drm/amd/dal/include/grph_csc_types.h deleted file mode 100644 index 5927dd0..0000000 --- a/drivers/gpu/drm/amd/dal/include/grph_csc_types.h +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright 2012-15 Advanced Micro Devices, Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - * Authors: AMD - * - */ - -#ifndef __DAL_GRPH_CSC_TYPES_H__ -#define __DAL_GRPH_CSC_TYPES_H__ - -#include "set_mode_types.h" - -enum grph_color_adjust_option { - GRPH_COLOR_MATRIX_HW_DEFAULT = 1, - GRPH_COLOR_MATRIX_SW -}; - -enum grph_csc_adjust_item { - GRPH_ADJUSTMENT_CONTRAST = 1, - GRPH_ADJUSTMENT_SATURATION, - GRPH_ADJUSTMENT_BRIGHTNESS, - GRPH_ADJUSTMENT_HUE, - GRPH_ADJUSTMENT_COLOR_TEMPERATURE -}; - -#define CSC_TEMPERATURE_MATRIX_SIZE 9 - -enum graphics_csc_adjust_type { - GRAPHICS_CSC_ADJUST_TYPE_BYPASS = 0, - GRAPHICS_CSC_ADJUST_TYPE_HW, /* without adjustments */ - GRAPHICS_CSC_ADJUST_TYPE_SW /*use adjustments */ -}; - -enum graphics_gamut_adjust_type { - GRAPHICS_GAMUT_ADJUST_TYPE_BYPASS = 0, - GRAPHICS_GAMUT_ADJUST_TYPE_HW, /* without adjustments */ - GRAPHICS_GAMUT_ADJUST_TYPE_SW /* use adjustments */ -}; - -struct grph_csc_adjustment { - enum grph_color_adjust_option color_adjust_option; - enum color_space c_space; - int32_t grph_cont; - int32_t grph_sat; - int32_t grph_bright; - int32_t grph_hue; - int32_t adjust_divider; - int32_t temperature_matrix[CSC_TEMPERATURE_MATRIX_SIZE]; - int32_t temperature_divider; - uint32_t lb_color_depth; - uint8_t gamma; /* gamma from Edid */ - enum dc_color_depth color_depth; /* clean up to uint32_t */ - enum pixel_format surface_pixel_format; - enum graphics_csc_adjust_type csc_adjust_type; - enum graphics_gamut_adjust_type gamut_adjust_type; -}; - -struct default_adjustment { - uint32_t lb_color_depth; - enum color_space color_space; - enum dc_color_depth color_depth; - enum pixel_format surface_pixel_format; - enum graphics_csc_adjust_type csc_adjust_type; - bool force_hw_default; -}; - -#endif diff --git a/drivers/gpu/drm/amd/dal/include/video_csc_types.h b/drivers/gpu/drm/amd/dal/include/video_csc_types.h index 354a01b..515f75b 100644 --- a/drivers/gpu/drm/amd/dal/include/video_csc_types.h +++ b/drivers/gpu/drm/amd/dal/include/video_csc_types.h @@ -82,7 +82,6 @@ union ovl_csc_flag { }; struct ovl_csc_adjustment { - enum ovl_color_space ovl_cs; struct ovl_color_adjust_option ovl_option; enum dc_color_depth display_color_depth; uint32_t lb_color_depth; -- 2.7.4