aboutsummaryrefslogtreecommitdiffstats
path: root/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0526-drm-amd-display-fix-issues-with-incorrectly-detectin.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0526-drm-amd-display-fix-issues-with-incorrectly-detectin.patch')
-rw-r--r--meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0526-drm-amd-display-fix-issues-with-incorrectly-detectin.patch268
1 files changed, 0 insertions, 268 deletions
diff --git a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0526-drm-amd-display-fix-issues-with-incorrectly-detectin.patch b/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0526-drm-amd-display-fix-issues-with-incorrectly-detectin.patch
deleted file mode 100644
index 631e6a25..00000000
--- a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0526-drm-amd-display-fix-issues-with-incorrectly-detectin.patch
+++ /dev/null
@@ -1,268 +0,0 @@
-From de8fe8fac857149f44890f203eebd413544913db Mon Sep 17 00:00:00 2001
-From: Anthony Koo <Anthony.Koo@amd.com>
-Date: Wed, 14 Jun 2017 10:19:57 -0400
-Subject: [PATCH 0526/4131] drm/amd/display: fix issues with incorrectly
- detecting UPDATE_TYPE_FULL
-
-This is due to how structures are being packed with padding added.
-Structure field initialization doesn't clear the padding bytes, which cause
-our memcmp to give incorrect result.
-
-Move smaller structure parameters to end of structure.
-
-Signed-off-by: Anthony Koo <anthony.koo@amd.com>
-Reviewed-by: Aric Cyr <Aric.Cyr@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/core/dc.c | 6 ++-
- drivers/gpu/drm/amd/display/dc/dc.h | 75 +++++++++++++++++---------------
- 2 files changed, 44 insertions(+), 37 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c
-index f5f365b..a8f34a9 100644
---- a/drivers/gpu/drm/amd/display/dc/core/dc.c
-+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
-@@ -628,7 +628,8 @@ static bool is_validation_required(
- return true;
-
- for (j = 0; j < set[i].surface_count; j++) {
-- struct dc_surface temp_surf = { 0 };
-+ struct dc_surface temp_surf;
-+ memset(&temp_surf, 0, sizeof(temp_surf));
-
- temp_surf = *context->stream_status[i].surfaces[j];
- temp_surf.clip_rect = set[i].surfaces[j]->clip_rect;
-@@ -1095,6 +1096,7 @@ static enum surface_update_type get_plane_info_update_type(
- int surface_index)
- {
- struct dc_plane_info temp_plane_info;
-+ memset(&temp_plane_info, 0, sizeof(temp_plane_info));
-
- if (!u->plane_info)
- return UPDATE_TYPE_FAST;
-@@ -1294,7 +1296,7 @@ void dc_update_surfaces_and_stream(struct dc *dc,
- update_surface_trace(dc, srf_updates, surface_count);
-
- if (update_type >= UPDATE_TYPE_FULL) {
-- const struct dc_surface *new_surfaces[MAX_SURFACES] = { 0 };
-+ const struct dc_surface *new_surfaces[MAX_SURFACES] = {0};
-
- for (i = 0; i < surface_count; i++)
- new_surfaces[i] = srf_updates[i].surface;
-diff --git a/drivers/gpu/drm/amd/display/dc/dc.h b/drivers/gpu/drm/amd/display/dc/dc.h
-index 6d91839..36b3b12 100644
---- a/drivers/gpu/drm/amd/display/dc/dc.h
-+++ b/drivers/gpu/drm/amd/display/dc/dc.h
-@@ -54,8 +54,8 @@ struct dc_caps {
-
-
- struct dc_dcc_surface_param {
-- enum surface_pixel_format format;
- struct dc_size surface_size;
-+ enum surface_pixel_format format;
- enum swizzle_mode_values swizzle_mode;
- enum dc_scan_direction scan;
- };
-@@ -67,9 +67,6 @@ struct dc_dcc_setting {
- };
-
- struct dc_surface_dcc_cap {
-- bool capable;
-- bool const_color_support;
--
- union {
- struct {
- struct dc_dcc_setting rgb;
-@@ -80,6 +77,9 @@ struct dc_surface_dcc_cap {
- struct dc_dcc_setting chroma;
- } video;
- };
-+
-+ bool capable;
-+ bool const_color_support;
- };
-
- struct dc_static_screen_events {
-@@ -201,12 +201,12 @@ enum frame_buffer_mode {
- } ;
-
- struct dchub_init_data {
-- bool dchub_initialzied;
-- bool dchub_info_valid;
- int64_t zfb_phys_addr_base;
- int64_t zfb_mc_base_addr;
- uint64_t zfb_size_in_byte;
- enum frame_buffer_mode fb_mode;
-+ bool dchub_initialzied;
-+ bool dchub_info_valid;
- };
-
- struct dc_init_data {
-@@ -240,9 +240,6 @@ enum {
- };
-
- struct dc_hdr_static_metadata {
-- bool hdr_supported;
-- bool is_hdr;
--
- /* display chromaticities and white point in units of 0.00001 */
- unsigned int chromaticity_green_x;
- unsigned int chromaticity_green_y;
-@@ -257,6 +254,9 @@ struct dc_hdr_static_metadata {
- uint32_t max_luminance;
- uint32_t maximum_content_light_level;
- uint32_t maximum_frame_average_light_level;
-+
-+ bool hdr_supported;
-+ bool is_hdr;
- };
-
- enum dc_transfer_func_type {
-@@ -285,15 +285,12 @@ enum dc_transfer_func_predefined {
- };
-
- struct dc_transfer_func {
-+ struct dc_transfer_func_distributed_points tf_pts;
- enum dc_transfer_func_type type;
- enum dc_transfer_func_predefined tf;
-- struct dc_transfer_func_distributed_points tf_pts;
- };
-
- struct dc_surface {
-- bool per_pixel_alpha;
-- bool visible;
-- bool flip_immediate;
- struct dc_plane_address address;
-
- struct scaling_taps scaling_quality;
-@@ -303,38 +300,42 @@ struct dc_surface {
-
- union plane_size plane_size;
- union dc_tiling_info tiling_info;
-+
- struct dc_plane_dcc_param dcc;
-- enum dc_color_space color_space;
-+ struct dc_hdr_static_metadata hdr_static_ctx;
-+
-+ const struct dc_gamma *gamma_correction;
-+ const struct dc_transfer_func *in_transfer_func;
-
-+ enum dc_color_space color_space;
- enum surface_pixel_format format;
- enum dc_rotation_angle rotation;
-- bool horizontal_mirror;
- enum plane_stereo_format stereo_format;
-
-- struct dc_hdr_static_metadata hdr_static_ctx;
--
-- const struct dc_gamma *gamma_correction;
-- const struct dc_transfer_func *in_transfer_func;
-+ bool per_pixel_alpha;
-+ bool visible;
-+ bool flip_immediate;
-+ bool horizontal_mirror;
- };
-
- struct dc_plane_info {
-- bool per_pixel_alpha;
- union plane_size plane_size;
- union dc_tiling_info tiling_info;
- struct dc_plane_dcc_param dcc;
- enum surface_pixel_format format;
- enum dc_rotation_angle rotation;
-- bool horizontal_mirror;
- enum plane_stereo_format stereo_format;
- enum dc_color_space color_space; /*todo: wrong place, fits in scaling info*/
-+ bool horizontal_mirror;
- bool visible;
-+ bool per_pixel_alpha;
- };
-
- struct dc_scaling_info {
-- struct rect src_rect;
-- struct rect dst_rect;
-- struct rect clip_rect;
-- struct scaling_taps scaling_quality;
-+ struct rect src_rect;
-+ struct rect dst_rect;
-+ struct rect clip_rect;
-+ struct scaling_taps scaling_quality;
- };
-
- struct dc_surface_update {
-@@ -460,24 +461,26 @@ enum surface_update_type {
- struct dc_stream {
- const struct dc_sink *sink;
- struct dc_crtc_timing timing;
-- enum signal_type output_signal;
--
-- enum dc_color_space output_color_space;
-- enum dc_dither_option dither_option;
-
- struct rect src; /* composition area */
- struct rect dst; /* stream addressable area */
-
- struct audio_info audio_info;
-
-- bool ignore_msa_timing_param;
--
- struct freesync_context freesync_ctx;
-
- const struct dc_transfer_func *out_transfer_func;
- struct colorspace_transform gamut_remap_matrix;
- struct csc_transform csc_color_matrix;
-+
-+ enum signal_type output_signal;
-+
-+ enum dc_color_space output_color_space;
-+ enum dc_dither_option dither_option;
-+
- enum view_3d_format view_format;
-+
-+ bool ignore_msa_timing_param;
- /* TODO: custom INFO packets */
- /* TODO: ABM info (DMCU) */
- /* TODO: PSR info */
-@@ -667,9 +670,10 @@ struct dc_link {
- union compliance_test_state compliance_test_state;
-
- void *priv;
-- bool aux_mode;
-
- struct ddc_service *ddc;
-+
-+ bool aux_mode;
- };
-
- struct dpcd_caps {
-@@ -685,12 +689,13 @@ struct dpcd_caps {
- indicates 'Frame Sequential-to-lllFrame Pack' conversion capability.*/
- struct dc_dongle_caps dongle_caps;
-
-- bool allow_invalid_MSA_timing_param;
-- bool panel_mode_edp;
- uint32_t sink_dev_id;
- uint32_t branch_dev_id;
- int8_t branch_dev_name[6];
- int8_t branch_hw_revision;
-+
-+ bool allow_invalid_MSA_timing_param;
-+ bool panel_mode_edp;
- };
-
- struct dc_link_status {
-@@ -801,9 +806,9 @@ struct dc_sink {
- struct dc_edid_caps edid_caps; /* parse display caps */
- struct dc_container_id *dc_container_id;
- uint32_t dongle_max_pix_clk;
-- bool converter_disable_audio;
- void *priv;
- struct stereo_3d_features features_3d[TIMING_3D_FORMAT_MAX];
-+ bool converter_disable_audio;
- };
-
- void dc_sink_retain(const struct dc_sink *sink);
---
-2.7.4
-