diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/1004-drm-amd-dal-Fix-incorrect-max-size-of-validation-arr.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/1004-drm-amd-dal-Fix-incorrect-max-size-of-validation-arr.patch | 99 |
1 files changed, 0 insertions, 99 deletions
diff --git a/common/recipes-kernel/linux/files/1004-drm-amd-dal-Fix-incorrect-max-size-of-validation-arr.patch b/common/recipes-kernel/linux/files/1004-drm-amd-dal-Fix-incorrect-max-size-of-validation-arr.patch deleted file mode 100644 index e8ae8725..00000000 --- a/common/recipes-kernel/linux/files/1004-drm-amd-dal-Fix-incorrect-max-size-of-validation-arr.patch +++ /dev/null @@ -1,99 +0,0 @@ -From dc3a2c4818810b2dc5be400943da7dbf802482da Mon Sep 17 00:00:00 2001 -From: Jordan Lazare <Jordan.Lazare@amd.com> -Date: Mon, 4 Apr 2016 19:43:13 -0400 -Subject: [PATCH 1004/1110] drm/amd/dal: Fix incorrect max size of validation - array - -Was leading to stack corruption with >4 displays - -Signed-off-by: Jordan Lazare <Jordan.Lazare@amd.com> -Acked-by: Harry Wentland <harry.wentland@amd.com> -Signed-off-by: Alex Deucher <alexander.deucher@amd.com> ---- - drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.c | 12 ++++-------- - drivers/gpu/drm/amd/dal/dc/core/dc.c | 2 +- - drivers/gpu/drm/amd/dal/dc/dc.h | 4 +++- - 3 files changed, 8 insertions(+), 10 deletions(-) - -diff --git a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.c b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.c -index a091d97..8ad78f5 100644 ---- a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.c -+++ b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.c -@@ -58,7 +58,6 @@ struct dm_connector_state { - container_of((x), struct dm_connector_state, base) - - #define AMDGPU_CRTC_MODE_PRIVATE_FLAGS_GAMMASET 1 --#define MAX_TARGET_NUM 6 - - void amdgpu_dm_encoder_destroy(struct drm_encoder *encoder) - { -@@ -813,9 +812,6 @@ static void fill_audio_info( - - } - --/*TODO: move these defines elsewhere*/ --#define DAL_MAX_CONTROLLERS 4 -- - static void copy_crtc_timing_for_drm_display_mode( - const struct drm_display_mode *src_mode, - struct drm_display_mode *dst_mode) -@@ -2110,8 +2106,8 @@ int amdgpu_dm_atomic_commit( - struct drm_crtc *crtc; - struct drm_crtc_state *old_crtc_state; - -- struct dc_target *commit_targets[DAL_MAX_CONTROLLERS]; -- struct amdgpu_crtc *new_crtcs[DAL_MAX_CONTROLLERS]; -+ struct dc_target *commit_targets[MAX_TARGETS]; -+ struct amdgpu_crtc *new_crtcs[MAX_TARGETS]; - - /* In this step all new fb would be pinned */ - -@@ -2516,8 +2512,8 @@ int amdgpu_dm_atomic_check(struct drm_device *dev, - int ret; - int set_count; - int new_target_count; -- struct dc_validation_set set[MAX_TARGET_NUM] = {{ 0 }}; -- struct dc_target *new_targets[MAX_TARGET_NUM] = { 0 }; -+ struct dc_validation_set set[MAX_TARGETS] = {{ 0 }}; -+ struct dc_target *new_targets[MAX_TARGETS] = { 0 }; - struct amdgpu_device *adev = dev->dev_private; - struct dc *dc = adev->dm.dc; - bool need_to_validate = false; -diff --git a/drivers/gpu/drm/amd/dal/dc/core/dc.c b/drivers/gpu/drm/amd/dal/dc/core/dc.c -index e71088d..d49ab5e 100644 ---- a/drivers/gpu/drm/amd/dal/dc/core/dc.c -+++ b/drivers/gpu/drm/amd/dal/dc/core/dc.c -@@ -720,7 +720,7 @@ bool dc_commit_targets( - struct dc_bios *dcb = core_dc->ctx->dc_bios; - enum dc_status result = DC_ERROR_UNEXPECTED; - struct validate_context *context; -- struct dc_validation_set set[4]; -+ struct dc_validation_set set[MAX_TARGETS]; - uint8_t i; - - if (false == targets_changed(core_dc, targets, target_count)) -diff --git a/drivers/gpu/drm/amd/dal/dc/dc.h b/drivers/gpu/drm/amd/dal/dc/dc.h -index e394dd2..dbc972f 100644 ---- a/drivers/gpu/drm/amd/dal/dc/dc.h -+++ b/drivers/gpu/drm/amd/dal/dc/dc.h -@@ -33,6 +33,8 @@ - #include "gpio_types.h" - #include "link_service_types.h" - -+#define MAX_TARGETS 6 -+#define MAX_SURFACES 6 - #define MAX_SINKS_PER_LINK 4 - - /******************************************************************************* -@@ -271,7 +273,7 @@ enum dc_irq_source dc_target_get_irq_src( - */ - struct dc_validation_set { - const struct dc_target *target; -- const struct dc_surface *surfaces[4]; -+ const struct dc_surface *surfaces[MAX_SURFACES]; - uint8_t surface_count; - }; - --- -2.7.4 - |