aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amdfalconx86/recipes-kernel/linux/files/0722-drm-amd-dal-Clean-up-set_mode_interface-and-adjustme.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amdfalconx86/recipes-kernel/linux/files/0722-drm-amd-dal-Clean-up-set_mode_interface-and-adjustme.patch')
-rw-r--r--meta-amdfalconx86/recipes-kernel/linux/files/0722-drm-amd-dal-Clean-up-set_mode_interface-and-adjustme.patch1028
1 files changed, 1028 insertions, 0 deletions
diff --git a/meta-amdfalconx86/recipes-kernel/linux/files/0722-drm-amd-dal-Clean-up-set_mode_interface-and-adjustme.patch b/meta-amdfalconx86/recipes-kernel/linux/files/0722-drm-amd-dal-Clean-up-set_mode_interface-and-adjustme.patch
new file mode 100644
index 00000000..df8124ec
--- /dev/null
+++ b/meta-amdfalconx86/recipes-kernel/linux/files/0722-drm-amd-dal-Clean-up-set_mode_interface-and-adjustme.patch
@@ -0,0 +1,1028 @@
+From 93c0370877ada6230c6fab7687f299aca2f9495b Mon Sep 17 00:00:00 2001
+From: Jordan Lazare <Jordan.Lazare@amd.com>
+Date: Thu, 21 Jan 2016 18:04:08 -0500
+Subject: [PATCH 0722/1110] drm/amd/dal: Clean up set_mode_interface and
+ adjustment structs
+
+Signed-off-by: Jordan Lazare <Jordan.Lazare@amd.com>
+Acked-by: Harry Wentland <harry.wentland@amd.com>
+---
+ drivers/gpu/drm/amd/dal/dc/core/dc_resource.c | 2 +-
+ drivers/gpu/drm/amd/dal/dc/core/dc_surface.c | 3 +-
+ .../drm/amd/dal/dc/dce110/dce110_hw_sequencer.c | 7 -
+ .../amd/dal/dc/dce110/dce110_timing_generator.h | 1 +
+ drivers/gpu/drm/amd/dal/dc/inc/core_dc.h | 2 +-
+ drivers/gpu/drm/amd/dal/dc/inc/transform.h | 99 +++++
+ drivers/gpu/drm/amd/dal/include/adjustment_types.h | 420 ---------------------
+ .../gpu/drm/amd/dal/include/hw_adjustment_types.h | 205 ----------
+ drivers/gpu/drm/amd/dal/include/set_mode_types.h | 144 +------
+ 9 files changed, 104 insertions(+), 779 deletions(-)
+ delete mode 100644 drivers/gpu/drm/amd/dal/include/adjustment_types.h
+ delete mode 100644 drivers/gpu/drm/amd/dal/include/hw_adjustment_types.h
+
+diff --git a/drivers/gpu/drm/amd/dal/dc/core/dc_resource.c b/drivers/gpu/drm/amd/dal/dc/core/dc_resource.c
+index c52a1e2..2aa8db1 100644
+--- a/drivers/gpu/drm/amd/dal/dc/core/dc_resource.c
++++ b/drivers/gpu/drm/amd/dal/dc/core/dc_resource.c
+@@ -29,7 +29,7 @@
+ #include "link_encoder.h"
+ #include "stream_encoder.h"
+ #include "opp.h"
+-
++#include "transform.h"
+
+ void unreference_clock_source(
+ struct resource_context *res_ctx,
+diff --git a/drivers/gpu/drm/amd/dal/dc/core/dc_surface.c b/drivers/gpu/drm/amd/dal/dc/core/dc_surface.c
+index 41a5feb..ce60e9d 100644
+--- a/drivers/gpu/drm/amd/dal/dc/core/dc_surface.c
++++ b/drivers/gpu/drm/amd/dal/dc/core/dc_surface.c
+@@ -29,8 +29,7 @@
+
+ /* DC core (private) */
+ #include "core_dc.h"
+-#include "adjustment_types.h"
+-
++#include "inc/transform.h"
+
+ /*******************************************************************************
+ * Private structures
+diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c
+index 74d437e..f899565 100644
+--- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c
++++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c
+@@ -1498,13 +1498,6 @@ static bool set_plane_config(
+ controller_idx,
+ BLENDER_MODE_CURRENT_PIPE);
+
+-#if 0
+- program_alpha_mode(
+- crtc,
+- &pl_cfg->attributes.blend_flags,
+- path_mode->mode.timing.pixel_encoding);
+-#endif
+-
+ mi->funcs->mem_input_program_surface_config(
+ mi,
+ surface->public.format,
+diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_timing_generator.h b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_timing_generator.h
+index 0ef4708..0a57052 100644
+--- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_timing_generator.h
++++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_timing_generator.h
+@@ -29,6 +29,7 @@
+
+ #include "inc/timing_generator_types.h"
+ #include "../include/grph_object_id.h"
++#include "../include/hw_sequencer_types.h"
+
+ /* overscan in blank for YUV color space. For RGB, it is zero for black. */
+ #define CRTC_OVERSCAN_COLOR_BLACK_COLOR_B_CB_YUV_4CV 0x1f4
+diff --git a/drivers/gpu/drm/amd/dal/dc/inc/core_dc.h b/drivers/gpu/drm/amd/dal/dc/inc/core_dc.h
+index 9d62a24..2d5644c 100644
+--- a/drivers/gpu/drm/amd/dal/dc/inc/core_dc.h
++++ b/drivers/gpu/drm/amd/dal/dc/inc/core_dc.h
+@@ -10,7 +10,7 @@
+
+ #include "core_types.h"
+ #include "hw_sequencer.h"
+-
++#include "dal_services.h"
+
+ struct dc {
+ struct dc_context *ctx;
+diff --git a/drivers/gpu/drm/amd/dal/dc/inc/transform.h b/drivers/gpu/drm/amd/dal/dc/inc/transform.h
+index 7b882ec..50dde2d 100644
+--- a/drivers/gpu/drm/amd/dal/dc/inc/transform.h
++++ b/drivers/gpu/drm/amd/dal/dc/inc/transform.h
+@@ -81,6 +81,105 @@ enum lb_pixel_depth {
+ LB_PIXEL_DEPTH_36BPP = 8
+ };
+
++
++struct raw_gamma_ramp_rgb {
++ uint32_t red;
++ uint32_t green;
++ uint32_t blue;
++};
++
++enum raw_gamma_ramp_type {
++ GAMMA_RAMP_TYPE_UNINITIALIZED,
++ GAMMA_RAMP_TYPE_DEFAULT,
++ GAMMA_RAMP_TYPE_RGB256,
++ GAMMA_RAMP_TYPE_FIXED_POINT
++};
++
++#define NUM_OF_RAW_GAMMA_RAMP_RGB_256 256
++struct raw_gamma_ramp {
++ enum raw_gamma_ramp_type type;
++ struct raw_gamma_ramp_rgb rgb_256[NUM_OF_RAW_GAMMA_RAMP_RGB_256];
++ uint32_t size;
++};
++
++
++/* Colorimetry */
++enum colorimetry {
++ COLORIMETRY_NO_DATA = 0,
++ COLORIMETRY_ITU601 = 1,
++ COLORIMETRY_ITU709 = 2,
++ COLORIMETRY_EXTENDED = 3
++};
++
++/* ColorimetryEx */
++enum colorimetry_ex {
++ COLORIMETRY_EX_XVYCC601 = 0,
++ COLORIMETRY_EX_XVYCC709 = 1,
++ COLORIMETRY_EX_SYCC601 = 2,
++ COLORIMETRY_EX_ADOBEYCC601 = 3,
++ COLORIMETRY_EX_ADOBERGB = 4,
++ COLORIMETRY_EX_RESERVED5 = 5,
++ COLORIMETRY_EX_RESERVED6 = 6,
++ COLORIMETRY_EX_RESERVED7 = 7
++};
++
++enum ds_color_space {
++ DS_COLOR_SPACE_UNKNOWN = 0,
++ DS_COLOR_SPACE_SRGB_FULLRANGE = 1,
++ DS_COLOR_SPACE_SRGB_LIMITEDRANGE,
++ DS_COLOR_SPACE_YPBPR601,
++ DS_COLOR_SPACE_YPBPR709,
++ DS_COLOR_SPACE_YCBCR601,
++ DS_COLOR_SPACE_YCBCR709,
++ DS_COLOR_SPACE_NMVPU_SUPERAA,
++ DS_COLOR_SPACE_YCBCR601_YONLY,
++ DS_COLOR_SPACE_YCBCR709_YONLY/*same as YCbCr, but Y in Full range*/
++};
++
++
++enum active_format_info {
++ ACTIVE_FORMAT_NO_DATA = 0,
++ ACTIVE_FORMAT_VALID = 1
++};
++
++/* Active format aspect ratio */
++enum active_format_aspect_ratio {
++ ACTIVE_FORMAT_ASPECT_RATIO_SAME_AS_PICTURE = 8,
++ ACTIVE_FORMAT_ASPECT_RATIO_4_3 = 9,
++ ACTIVE_FORMAT_ASPECT_RATIO_16_9 = 0XA,
++ ACTIVE_FORMAT_ASPECT_RATIO_14_9 = 0XB
++};
++
++enum bar_info {
++ BAR_INFO_NOT_VALID = 0,
++ BAR_INFO_VERTICAL_VALID = 1,
++ BAR_INFO_HORIZONTAL_VALID = 2,
++ BAR_INFO_BOTH_VALID = 3
++};
++
++enum picture_scaling {
++ PICTURE_SCALING_UNIFORM = 0,
++ PICTURE_SCALING_HORIZONTAL = 1,
++ PICTURE_SCALING_VERTICAL = 2,
++ PICTURE_SCALING_BOTH = 3
++};
++
++/* RGB quantization range */
++enum rgb_quantization_range {
++ RGB_QUANTIZATION_DEFAULT_RANGE = 0,
++ RGB_QUANTIZATION_LIMITED_RANGE = 1,
++ RGB_QUANTIZATION_FULL_RANGE = 2,
++ RGB_QUANTIZATION_RESERVED = 3
++};
++
++/* YYC quantization range */
++enum yyc_quantization_range {
++ YYC_QUANTIZATION_LIMITED_RANGE = 0,
++ YYC_QUANTIZATION_FULL_RANGE = 1,
++ YYC_QUANTIZATION_RESERVED2 = 2,
++ YYC_QUANTIZATION_RESERVED3 = 3
++};
++
+ struct transform_funcs {
+ bool (*transform_power_up)(struct transform *xfm);
+
+diff --git a/drivers/gpu/drm/amd/dal/include/adjustment_types.h b/drivers/gpu/drm/amd/dal/include/adjustment_types.h
+deleted file mode 100644
+index f6c0d61..0000000
+--- a/drivers/gpu/drm/amd/dal/include/adjustment_types.h
++++ /dev/null
+@@ -1,420 +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_ADJUSTMENT_TYPES_H__
+-#define __DAL_ADJUSTMENT_TYPES_H__
+-
+-#include "dal_services.h"
+-
+-/* make sure to update this when updating adj_global_info_array */
+-#define CURRENT_ADJUSTMENT_NUM 12
+-#define MAX_ADJUSTMENT_NUM (ADJ_ID_END - ADJ_ID_BEGIN)
+-#define REGAMMA_VALUE 256
+-#define REGAMMA_RANGE (REGAMMA_VALUE*3)
+-#define ADJUST_DIVIDER 100
+-#define GAMUT_DIVIDER 10000
+-
+-
+-enum adjustment_id {
+-
+- /*this useful type when i need to indicate unknown adjustment and code
+- look if not the specific type*/
+- ADJ_ID_INVALID,
+-
+- ADJ_ID_CONTRAST,
+- ADJ_ID_BRIGHTNESS,
+- ADJ_ID_HUE,
+- ADJ_ID_SATURATION,
+- ADJ_ID_GAMMA_RAMP,
+- ADJ_ID_GAMMA_RAMP_REGAMMA_UPDATE,
+- ADJ_ID_TEMPERATURE,
+- ADJ_ID_NOMINAL_RANGE_RGB_LIMITED,
+-
+- ADJ_ID_LP_FILTER_DEFLICKER,
+- ADJ_ID_HP_FILTER_DEFLICKER,
+- ADJ_ID_SHARPNESS_GAIN, /*0 - 10*/
+-
+- ADJ_ID_REDUCED_BLANKING,
+- ADJ_ID_COHERENT,
+- ADJ_ID_MULTIMEDIA_PASS_THROUGH,
+-
+- ADJ_ID_VERTICAL_POSITION,
+- ADJ_ID_HORIZONTA_LPOSITION,
+- ADJ_ID_VERTICAL_SIZE,
+- ADJ_ID_HORIZONTAL_SIZE,
+- ADJ_ID_VERTICAL_SYNC,
+- ADJ_ID_HORIZONTAL_SYNC,
+- ADJ_ID_OVERSCAN,
+- ADJ_ID_COMPOSITE_SYNC,
+-
+- ADJ_ID_BIT_DEPTH_REDUCTION,/*CWDDEDI_DISPLAY_ADJINFOTYPE_BITVECTOR*/
+- ADJ_ID_UNDERSCAN,/*CWDDEDI_DISPLAY_ADJINFOTYPE_RANGE*/
+- ADJ_ID_UNDERSCAN_TYPE,/*CWDDEDI_DISPLAY_ADJINFOTYPE_RANGE*/
+- ADJ_ID_TEMPERATURE_SOURCE,/*CWDDEDI_DISPLAY_ADJINFOTYPE_BITVECTOR*/
+-
+- ADJ_ID_OVERLAY_BRIGHTNESS,
+- ADJ_ID_OVERLAY_CONTRAST,
+- ADJ_ID_OVERLAY_SATURATION,
+- ADJ_ID_OVERLAY_HUE,
+- ADJ_ID_OVERLAY_GAMMA,
+- ADJ_ID_OVERLAY_ALPHA,
+- ADJ_ID_OVERLAY_ALPHA_PER_PIX,
+- ADJ_ID_OVERLAY_INV_GAMMA,
+- ADJ_ID_OVERLAY_TEMPERATURE,/*done ,but code is commented*/
+- ADJ_ID_OVERLAY_NOMINAL_RANGE_RGB_LIMITED,
+-
+-
+- ADJ_ID_UNDERSCAN_TV_INTERNAL,/*internal usage only for HDMI*/
+- /*custom TV modes*/
+- ADJ_ID_DRIVER_REQUESTED_GAMMA,/*used to get current gamma*/
+- ADJ_ID_GAMUT_SOURCE_GRPH,/*logical adjustment visible for DS and CDB*/
+- ADJ_ID_GAMUT_SOURCE_OVL,/*logical adjustment visible for DS and CDB*/
+- ADJ_ID_GAMUT_DESTINATION,/*logical adjustment visible for DS and CDB*/
+- ADJ_ID_REGAMMA,/*logical adjustment visible for DS and CDB*/
+- ADJ_ID_ITC_ENABLE,/*ITC flag enable by default*/
+- ADJ_ID_CNC_CONTENT,/*display image content*/
+- /*internal adjustment, in order to provide backward compatibility
+- gamut with color temperature*/
+-
+- /* Backlight Adjustment Group*/
+- ADJ_ID_BACKLIGHT,
+- ADJ_ID_BACKLIGHT_OPTIMIZATION,
+-
+- /* flag the first and last*/
+- ADJ_ID_BEGIN = ADJ_ID_CONTRAST,
+- ADJ_ID_END = ADJ_ID_BACKLIGHT_OPTIMIZATION,
+-};
+-
+-enum adjustment_data_type {
+- ADJ_RANGED,
+- ADJ_BITVECTOR,
+- ADJ_LUT /* not handled currently */
+-};
+-
+-union adjustment_property {
+- uint32_t u32all;
+- struct {
+- /*per mode adjustment*/
+- uint32_t SAVED_WITHMODE:1;
+- /*per edid adjustment*/
+- uint32_t SAVED_WITHEDID:1;
+- /*adjustment not visible to HWSS*/
+- uint32_t CALCULATE:1;
+- /*explisit adjustment applied by HWSS*/
+- uint32_t INC_IN_SET_MODE:1;
+- /*adjustment requires set mode to be applied*/
+- uint32_t SETMODE_REQ:1;
+- /*adjustment is applied at the end of set mode*/
+- uint32_t POST_SET:1;
+-/*when adjustment is applied its value should be stored
+-in place and not wait for flush call*/
+- uint32_t SAVE_IN_PLACE:1;
+- /*adjustment is always apply*/
+- uint32_t FORCE_SET:1;
+- /*this adjustment is specific to individual display path.*/
+- uint32_t SAVED_WITH_DISPLAY_IDX:1;
+- uint32_t RESERVED_23:23;
+- } bits;
+-};
+-
+-enum adjustment_state {
+- ADJUSTMENT_STATE_INVALID,
+- ADJUSTMENT_STATE_VALID,
+- ADJUSTMENT_STATE_REQUESTED,
+- ADJUSTMENT_STATE_COMMITTED_TO_HW,
+-};
+-
+-/* AdjustmentInfo structure - it keeps either ranged data or discrete*/
+-struct adjustment_info {
+- enum adjustment_data_type adj_data_type;
+- union adjustment_property adj_prop;
+- enum adjustment_state adj_state;
+- enum adjustment_id adj_id;
+-
+- union data {
+- struct ranged {
+- int32_t min;
+- int32_t max;
+- int32_t def;
+- int32_t step;
+- int32_t cur;
+- } ranged;
+- struct bit_vector {
+- int32_t system_supported;
+- int32_t current_supported;
+- int32_t default_val;
+- } bit_vector;
+- } adj_data;
+-};
+-
+-/* adjustment category
+-this should be a MASK struct with the bitfileds!!!
+-since it could be crt and cv and dfp!!!
+-the only fit is for overlay!!!*/
+-enum adjustment_category {
+- CAT_ALL,
+- CAT_CRT,
+- CAT_DFP,
+- CAT_LCD,
+- CAT_OVERLAY,
+- CAT_INVALID
+-};
+-
+-enum raw_gamma_ramp_type {
+- GAMMA_RAMP_TYPE_UNINITIALIZED,
+- GAMMA_RAMP_TYPE_DEFAULT,
+- GAMMA_RAMP_TYPE_RGB256,
+- GAMMA_RAMP_TYPE_FIXED_POINT
+-};
+-
+-struct raw_gamma_ramp_rgb {
+- uint32_t red;
+- uint32_t green;
+- uint32_t blue;
+-};
+-
+-#define NUM_OF_RAW_GAMMA_RAMP_RGB_256 256
+-struct raw_gamma_ramp {
+- enum raw_gamma_ramp_type type;
+- struct raw_gamma_ramp_rgb rgb_256[NUM_OF_RAW_GAMMA_RAMP_RGB_256];
+- uint32_t size;
+-};
+-
+-struct ds_underscan_info {
+- uint32_t default_width;
+- uint32_t default_height;
+- uint32_t max_width;
+- uint32_t max_height;
+- uint32_t min_width;
+- uint32_t min_height;
+- uint32_t h_step;
+- uint32_t v_step;
+- uint32_t default_x_pos;
+- uint32_t default_y_pos;
+-};
+-
+-struct ds_overscan {
+- uint32_t left;
+- uint32_t right;
+- uint32_t top;
+- uint32_t bottom;
+-};
+-
+-enum ds_color_space {
+- DS_COLOR_SPACE_UNKNOWN = 0,
+- DS_COLOR_SPACE_SRGB_FULLRANGE = 1,
+- DS_COLOR_SPACE_SRGB_LIMITEDRANGE,
+- DS_COLOR_SPACE_YPBPR601,
+- DS_COLOR_SPACE_YPBPR709,
+- DS_COLOR_SPACE_YCBCR601,
+- DS_COLOR_SPACE_YCBCR709,
+- DS_COLOR_SPACE_NMVPU_SUPERAA,
+- DS_COLOR_SPACE_YCBCR601_YONLY,
+- DS_COLOR_SPACE_YCBCR709_YONLY/*same as YCbCr, but Y in Full range*/
+-};
+-
+-enum ds_underscan_options {
+- DS_UNDERSCAN_OPTION_DEFAULT = 0,
+- DS_UNDERSCAN_OPTION_USECEA861D
+-};
+-
+-enum dpms_state {
+- DPMS_NONE = 0,
+- DPMS_ON,
+- DPMS_OFF,
+-};
+-
+-enum ds_gamut_reference {
+- DS_GAMUT_REFERENCE_DESTINATION = 0,
+- DS_GAMUT_REFERENCE_SOURCE,
+-};
+-
+-enum ds_gamut_content {
+- DS_GAMUT_CONTENT_GRAPHICS = 0,
+- DS_GAMUT_CONTENT_VIDEO,
+-};
+-
+-struct ds_gamut_reference_data {
+- enum ds_gamut_reference gamut_ref;
+- enum ds_gamut_content gamut_content;
+-};
+-
+-union ds_custom_gamut_type {
+- uint32_t u32all;
+- struct {
+- uint32_t CUSTOM_WHITE_POINT:1;
+- uint32_t CUSTOM_GAMUT_SPACE:1;
+- uint32_t reserved:30;
+- } bits;
+-};
+-
+-union ds_gamut_spaces {
+- uint32_t u32all;
+- struct {
+- uint32_t GAMUT_SPACE_CCIR709:1;
+- uint32_t GAMUT_SPACE_CCIR601:1;
+- uint32_t GAMUT_SPACE_ADOBERGB:1;
+- uint32_t GAMUT_SPACE_CIERGB:1;
+- uint32_t GAMUT_SPACE_CUSTOM:1;
+- uint32_t reserved:27;
+- } bits;
+-};
+-
+-union ds_gamut_white_point {
+- uint32_t u32all;
+- struct {
+- uint32_t GAMUT_WHITE_POINT_5000:1;
+- uint32_t GAMUT_WHITE_POINT_6500:1;
+- uint32_t GAMUT_WHITE_POINT_7500:1;
+- uint32_t GAMUT_WHITE_POINT_9300:1;
+- uint32_t GAMUT_WHITE_POINT_CUSTOM:1;
+- uint32_t reserved:27;
+- } bits;
+-};
+-
+-struct ds_gamut_space_coordinates {
+- int32_t red_x;
+- int32_t red_y;
+- int32_t green_x;
+- int32_t green_y;
+- int32_t blue_x;
+- int32_t blue_y;
+-
+-};
+-
+-struct ds_white_point_coordinates {
+- int32_t white_x;
+- int32_t white_y;
+-};
+-
+-struct ds_gamut_data {
+- union ds_custom_gamut_type feature;
+- union {
+- uint32_t predefined;
+- struct ds_white_point_coordinates custom;
+-
+- } white_point;
+-
+- union {
+- uint32_t predefined;
+- struct ds_gamut_space_coordinates custom;
+-
+- } gamut;
+-};
+-
+-struct ds_set_gamut_data {
+- struct ds_gamut_reference_data ref;
+- struct ds_gamut_data gamut;
+-
+-};
+-
+-struct ds_get_gamut_data {
+- struct ds_gamut_data gamut;
+-};
+-
+-struct ds_gamut_info {
+-/*mask of supported predefined gamuts ,started from DI_GAMUT_SPACE_CCIR709 ...*/
+- union ds_gamut_spaces gamut_space;
+-/*mask of supported predefined white points,started from DI_WHITE_POINT_5000K */
+- union ds_gamut_white_point white_point;
+-
+-};
+-
+-union ds_regamma_flags {
+- uint32_t u32all;
+- struct {
+- /*custom/user gamam array is in use*/
+- uint32_t GAMMA_RAMP_ARRAY:1;
+- /*gamma from edid is in use*/
+- uint32_t GAMMA_FROM_EDID:1;
+- /*gamma from edid is in use , but only for Display Id 1.2*/
+- uint32_t GAMMA_FROM_EDID_EX:1;
+- /*user custom gamma is in use*/
+- uint32_t GAMMA_FROM_USER:1;
+- /*coeff. A0-A3 from user is in use*/
+- uint32_t COEFF_FROM_USER:1;
+- /*coeff. A0-A3 from edid is in use only for Display Id 1.2*/
+- uint32_t COEFF_FROM_EDID:1;
+- /*which ROM to choose for graphics*/
+- uint32_t GRAPHICS_DEGAMMA_SRGB:1;
+- /*which ROM to choose for video overlay*/
+- uint32_t OVERLAY_DEGAMMA_SRGB:1;
+- /*apply degamma removal in driver*/
+- uint32_t APPLY_DEGAMMA:1;
+-
+- uint32_t reserved:23;
+- } bits;
+-};
+-
+-struct ds_regamma_ramp {
+- uint16_t gamma[256 * 3]; /* gamma ramp packed as RGB */
+-
+-};
+-
+-struct ds_regamma_coefficients_ex {
+- int32_t gamma[3];/*2400 use divider 1 000*/
+- int32_t coeff_a0[3];/*31308 divider 10 000 000,0-red, 1-green, 2-blue*/
+- int32_t coeff_a1[3];/*12920 use divider 1 000*/
+- int32_t coeff_a2[3];/*55 use divider 1 000*/
+- int32_t coeff_a3[3];/*55 use divider 1 000*/
+-};
+-
+-struct ds_regamma_lut {
+- union ds_regamma_flags flags;
+- union {
+- struct ds_regamma_ramp gamma;
+- struct ds_regamma_coefficients_ex coeff;
+- };
+-};
+-
+-enum ds_backlight_optimization {
+- DS_BACKLIGHT_OPTIMIZATION_DISABLE = 0,
+- DS_BACKLIGHT_OPTIMIZATION_DESKTOP,
+- DS_BACKLIGHT_OPTIMIZATION_DYNAMIC,
+- DS_BACKLIGHT_OPTIMIZATION_DIMMED
+-};
+-
+-struct ds_adj_id_value {
+- enum adjustment_id adj_id;
+- enum adjustment_data_type adj_type;
+- union adjustment_property adj_prop;
+- int32_t value;
+-};
+-
+-struct gamut_data {
+- union ds_custom_gamut_type option;
+- union {
+- union ds_gamut_white_point predefined;
+- struct ds_white_point_coordinates custom;
+-
+- } white_point;
+-
+- union {
+- union ds_gamut_spaces predefined;
+- struct ds_gamut_space_coordinates custom;
+-
+- } gamut;
+-};
+-#endif /* __DAL_ADJUSTMENT_TYPES_H__ */
+diff --git a/drivers/gpu/drm/amd/dal/include/hw_adjustment_types.h b/drivers/gpu/drm/amd/dal/include/hw_adjustment_types.h
+deleted file mode 100644
+index cfae832..0000000
+--- a/drivers/gpu/drm/amd/dal/include/hw_adjustment_types.h
++++ /dev/null
+@@ -1,205 +0,0 @@
+-#ifndef __DAL_HW_ADJUSTMENT_TYPES_H__
+-#define __DAL_HW_ADJUSTMENT_TYPES_H__
+-
+-#include "hw_sequencer_types.h"
+-
+-enum hw_adjustment_id {
+- HW_ADJUSTMENT_ID_COLOR_CONTROL,
+- HW_ADJUSTMENT_ID_GAMMA_LUT,
+- HW_ADJUSTMENT_ID_GAMMA_RAMP,
+- HW_ADJUSTMENT_ID_DEFLICKER,
+- HW_ADJUSTMENT_ID_SHARPNESS_CONTROL,
+- HW_ADJUSTMENT_ID_TIMING,
+- HW_ADJUSTMENT_ID_TIMING_AND_PIXEL_CLOCK,
+- HW_ADJUSTMENT_ID_OVERSCAN,
+- HW_ADJUSTMENT_ID_UNDERSCAN_TYPE,
+- HW_ADJUSTMENT_ID_VERTICAL_SYNC,
+- HW_ADJUSTMENT_ID_HORIZONTAL_SYNC,
+- HW_ADJUSTMENT_ID_COMPOSITE_SYNC,
+- HW_ADJUSTMENT_ID_VIDEO_STANDARD,
+- HW_ADJUSTMENT_ID_BACKLIGHT,
+- HW_ADJUSTMENT_ID_BIT_DEPTH_REDUCTION,
+- HW_ADJUSTMENT_ID_REDUCED_BLANKING,
+- HW_ADJUSTMENT_ID_COHERENT,
+- /* OVERLAY ADJUSTMENTS*/
+- HW_ADJUSTMENT_ID_OVERLAY,
+- HW_ADJUSTMENT_ID_OVERLAY_ALPHA,
+- HW_ADJUSTMENT_ID_OVERLAY_VARIABLE_GAMMA,
+- HW_ADJUSTMENT_ID_COUNT,
+- HW_ADJUSTMENT_ID_UNDEFINED,
+-};
+-
+-struct hw_adjustment_deflicker {
+- int32_t hp_factor;
+- uint32_t hp_divider;
+- int32_t lp_factor;
+- uint32_t lp_divider;
+- int32_t sharpness;
+- bool enable_sharpening;
+-};
+-
+-struct hw_adjustment_value {
+- union {
+- uint32_t ui_value;
+- int32_t i_value;
+- };
+-};
+-
+-enum hw_color_adjust_option {
+- HWS_COLOR_MATRIX_HW_DEFAULT = 1,
+- HWS_COLOR_MATRIX_SW
+-};
+-
+-enum {
+- HW_TEMPERATURE_MATRIX_SIZE = 9,
+- HW_TEMPERATURE_MATRIX_SIZE_WITH_OFFSET = 12
+-};
+-
+-struct hw_adjustment_color_control {
+- enum hw_color_space color_space;
+- enum hw_color_adjust_option option;
+- enum pixel_format surface_pixel_format;
+- enum dc_color_depth color_depth;
+- uint32_t lb_color_depth;
+- int32_t contrast;
+- int32_t saturation;
+- int32_t brightness;
+- int32_t hue;
+- uint32_t adjust_divider;
+- uint32_t temperature_divider;
+- uint32_t temperature_matrix[HW_TEMPERATURE_MATRIX_SIZE];
+-};
+-
+-struct hw_underscan_adjustment {
+- struct hw_adjustment_deflicker deflicker;
+- struct overscan_info hw_overscan;
+-};
+-
+-struct hw_underscan_adjustment_data {
+- enum hw_adjustment_id hw_adj_id;
+- struct hw_underscan_adjustment hw_underscan_adj;
+-};
+-
+-union hw_adjustment_bit_depth_reduction {
+- uint32_t raw;
+- struct {
+- uint32_t TRUNCATE_ENABLED:1;
+- uint32_t TRUNCATE_DEPTH:2;
+- uint32_t TRUNCATE_MODE:1;
+- uint32_t SPATIAL_DITHER_ENABLED:1;
+- uint32_t SPATIAL_DITHER_DEPTH:2;
+- uint32_t SPATIAL_DITHER_MODE:2;
+- uint32_t RGB_RANDOM:1;
+- uint32_t FRAME_RANDOM:1;
+- uint32_t HIGHPASS_RANDOM:1;
+- uint32_t FRAME_MODULATION_ENABLED:1;
+- uint32_t FRAME_MODULATION_DEPTH:2;
+- uint32_t TEMPORAL_LEVEL:1;
+- uint32_t FRC_25:2;
+- uint32_t FRC_50:2;
+- uint32_t FRC_75:2;
+- } bits;
+-};
+-
+-struct hw_color_control_range {
+- struct hw_adjustment_range contrast;
+- struct hw_adjustment_range saturation;
+- struct hw_adjustment_range brightness;
+- struct hw_adjustment_range hue;
+- struct hw_adjustment_range temperature;
+-};
+-
+-enum hw_surface_type {
+- HW_OVERLAY_SURFACE = 1,
+- HW_GRAPHIC_SURFACE
+-};
+-
+-/* LUT type for GammaCorrection */
+-struct hw_gamma_lut {
+- uint32_t red;
+- uint32_t green;
+- uint32_t blue;
+-};
+-
+-struct hw_devc_lut {
+- uint8_t red;
+- uint8_t green;
+- uint8_t blue;
+- uint8_t reserved;
+-};
+-
+-struct hw_adjustment_gamma_lut {
+- struct hw_gamma_lut *pGammaLut;
+- uint32_t size_in_elements;
+- enum pixel_format surface_pixel_format;
+-};
+-
+-
+-enum hw_gamma_ramp_type {
+- HW_GAMMA_RAMP_UNITIALIZED = 0,
+- HW_GAMMA_RAMP_DEFAULT,
+- HW_GAMMA_RAMP_RBG_256x3x16,
+- HW_GAMMA_RAMP_RBG_DXGI_1
+-};
+-
+-#define HW_GAMMA_RAMP_RBG_256 256
+-
+-struct hw_gamma_ramp_rgb256x3x16 {
+- unsigned short red[HW_GAMMA_RAMP_RBG_256];
+- unsigned short green[HW_GAMMA_RAMP_RBG_256];
+- unsigned short blue[HW_GAMMA_RAMP_RBG_256];
+-};
+-
+-union hw_gamma_flags {
+- uint32_t raw;
+- struct {
+- uint32_t gamma_ramp_array :1;
+- uint32_t graphics_degamma_srgb :1;
+- uint32_t overlay_degamma_srgb :1;
+- uint32_t apply_degamma :1;
+- uint32_t reserved :28;
+- } bits;
+-};
+-
+-struct hw_regamma_coefficients {
+- int32_t gamma[3];
+- int32_t a0[3];
+- int32_t a1[3];
+- int32_t a2[3];
+- int32_t a3[3];
+-};
+-
+-struct hw_regamma_ramp {
+- /* Gamma ramp packed as RGB */
+- unsigned short gamma[256 * 3];
+-};
+-
+-struct hw_regamma_lut {
+- union hw_gamma_flags flags;
+- union {
+- struct hw_regamma_ramp gamma;
+- struct hw_regamma_coefficients coeff;
+- };
+-};
+-
+-union hw_gamma_flag {
+- uint32_t uint;
+- struct {
+- uint32_t config_is_changed :1;
+- uint32_t regamma_update :1;
+- uint32_t gamma_update :1;
+- uint32_t reserved :29;
+- } bits;
+-};
+-
+-struct hw_adjustment_gamma_ramp {
+- uint32_t size;
+- enum hw_gamma_ramp_type type;
+- enum pixel_format surface_pixel_format;
+- enum hw_color_space color_space;
+- struct hw_regamma_lut regamma;
+- union hw_gamma_flag flag;
+- struct hw_gamma_ramp_rgb256x3x16 gamma_ramp_rgb256x3x16;
+-};
+-
+-#endif
+diff --git a/drivers/gpu/drm/amd/dal/include/set_mode_types.h b/drivers/gpu/drm/amd/dal/include/set_mode_types.h
+index 3647815..a7d8119 100644
+--- a/drivers/gpu/drm/amd/dal/include/set_mode_types.h
++++ b/drivers/gpu/drm/amd/dal/include/set_mode_types.h
+@@ -26,21 +26,9 @@
+ #ifndef __DAL_SET_MODE_TYPES_H__
+ #define __DAL_SET_MODE_TYPES_H__
+
+-#include "adjustment_types.h"
+-#include "hw_adjustment_types.h"
+ #include "include/plane_types.h"
+ #include "dc_types.h"
+
+-/* Forward declaration */
+-struct dc_mode_timing;
+-struct display_path;
+-
+-/* State of stereo 3D for workstation */
+-enum ws_stereo_state {
+- WS_STEREO_STATE_INACTIVE = 0,
+- WS_STEREO_STATE_ACTIVE,
+- WS_STEREO_STATE_ACTIVE_MASTER
+-};
+
+ /* GTC group number */
+ enum gtc_group {
+@@ -54,26 +42,6 @@ enum gtc_group {
+ GTC_GROUP_MAX
+ };
+
+-/* Adjustment action*/
+-enum adjustment_action {
+- ADJUSTMENT_ACTION_UNDEFINED = 0,
+- ADJUSTMENT_ACTION_VALIDATE,
+- ADJUSTMENT_ACTION_SET_ADJUSTMENT
+-};
+-
+-/* Type of adjustment parameters*/
+-enum adjustment_par_type {
+- ADJUSTMENT_PAR_TYPE_NONE = 0,
+- ADJUSTMENT_PAR_TYPE_TIMING,
+- ADJUSTMENT_PAR_TYPE_MODE
+-};
+-
+-/* Method of validation */
+-enum validation_method {
+- VALIDATION_METHOD_STATIC = 0,
+- VALIDATION_METHOD_DYNAMIC
+-};
+-
+ /* Info frame packet status */
+ enum info_frame_flag {
+ INFO_PACKET_PACKET_INVALID = 0,
+@@ -103,102 +71,6 @@ enum info_frame_size {
+ INFO_FRAME_SIZE_AUDIO = 10
+ };
+
+-/* Active format */
+-enum active_format_info {
+- ACTIVE_FORMAT_NO_DATA = 0,
+- ACTIVE_FORMAT_VALID = 1
+-};
+-/* Bar info */
+-enum bar_info {
+- BAR_INFO_NOT_VALID = 0,
+- BAR_INFO_VERTICAL_VALID = 1,
+- BAR_INFO_HORIZONTAL_VALID = 2,
+- BAR_INFO_BOTH_VALID = 3
+-};
+-
+-/* Picture scaling */
+-enum picture_scaling {
+- PICTURE_SCALING_UNIFORM = 0,
+- PICTURE_SCALING_HORIZONTAL = 1,
+- PICTURE_SCALING_VERTICAL = 2,
+- PICTURE_SCALING_BOTH = 3
+-};
+-
+-/* Colorimetry */
+-enum colorimetry {
+- COLORIMETRY_NO_DATA = 0,
+- COLORIMETRY_ITU601 = 1,
+- COLORIMETRY_ITU709 = 2,
+- COLORIMETRY_EXTENDED = 3
+-};
+-
+-/* ColorimetryEx */
+-enum colorimetry_ex {
+- COLORIMETRY_EX_XVYCC601 = 0,
+- COLORIMETRY_EX_XVYCC709 = 1,
+- COLORIMETRY_EX_SYCC601 = 2,
+- COLORIMETRY_EX_ADOBEYCC601 = 3,
+- COLORIMETRY_EX_ADOBERGB = 4,
+- COLORIMETRY_EX_RESERVED5 = 5,
+- COLORIMETRY_EX_RESERVED6 = 6,
+- COLORIMETRY_EX_RESERVED7 = 7
+-};
+-
+-/* Active format aspect ratio */
+-enum active_format_aspect_ratio {
+- ACTIVE_FORMAT_ASPECT_RATIO_SAME_AS_PICTURE = 8,
+- ACTIVE_FORMAT_ASPECT_RATIO_4_3 = 9,
+- ACTIVE_FORMAT_ASPECT_RATIO_16_9 = 0XA,
+- ACTIVE_FORMAT_ASPECT_RATIO_14_9 = 0XB
+-};
+-
+-/* RGB quantization range */
+-enum rgb_quantization_range {
+- RGB_QUANTIZATION_DEFAULT_RANGE = 0,
+- RGB_QUANTIZATION_LIMITED_RANGE = 1,
+- RGB_QUANTIZATION_FULL_RANGE = 2,
+- RGB_QUANTIZATION_RESERVED = 3
+-};
+-
+-/* YYC quantization range */
+-enum yyc_quantization_range {
+- YYC_QUANTIZATION_LIMITED_RANGE = 0,
+- YYC_QUANTIZATION_FULL_RANGE = 1,
+- YYC_QUANTIZATION_RESERVED2 = 2,
+- YYC_QUANTIZATION_RESERVED3 = 3
+-};
+-
+-/* Rotation capability */
+-struct rotation_capability {
+- bool ROTATION_ANGLE_0_CAP:1;
+- bool ROTATION_ANGLE_90_CAP:1;
+- bool ROTATION_ANGLE_180_CAP:1;
+- bool ROTATION_ANGLE_270_CAP:1;
+-};
+-
+-/* Underscan position and size */
+-struct ds_underscan_desc {
+- uint32_t x;
+- uint32_t y;
+- uint32_t width;
+- uint32_t height;
+-};
+-
+-/* View, timing and other mode related information */
+-struct path_mode {
+- struct view view;
+- struct rect_position view_position;
+- enum view_3d_format view_3d_format;
+- const struct dc_mode_timing *mode_timing;
+- enum scaling_transformation scaling;
+- enum pixel_format pixel_format;
+- uint32_t display_path_index;
+- enum tiling_mode tiling_mode;
+- enum dc_rotation_angle rotation_angle;
+- bool is_tiling_rotated;
+- struct rotation_capability rotation_capability;
+-};
+-
+ struct hdmi_info_frame_header {
+ uint8_t info_frame_type;
+ uint8_t version;
+@@ -207,6 +79,7 @@ struct hdmi_info_frame_header {
+
+ #pragma pack(push)
+ #pragma pack(1)
++
+ struct info_packet_raw_data {
+ uint8_t hb0;
+ uint8_t hb1;
+@@ -264,21 +137,6 @@ struct info_frame {
+ };
+
+
+-/* Adjustment parameter */
+-struct adjustment_parameters {
+- enum adjustment_par_type type;
+- struct {
+- enum adjustment_id ajd_id;
+- enum hw_adjustment_id adj_id_hw;
+- } timings;
+-};
+-
+-/* Parameters for adjustments*/
+-struct adjustment_params {
+- enum adjustment_action action;
+- struct adjustment_parameters params;
+- const struct display_path *affected_path;
+-};
+
+ #pragma pack(pop)
+
+--
+2.7.4
+