diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0598-drm-amd-dal-do-not-remove-MST-connector-until-reset-.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0598-drm-amd-dal-do-not-remove-MST-connector-until-reset-.patch | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/common/recipes-kernel/linux/files/0598-drm-amd-dal-do-not-remove-MST-connector-until-reset-.patch b/common/recipes-kernel/linux/files/0598-drm-amd-dal-do-not-remove-MST-connector-until-reset-.patch deleted file mode 100644 index 84248e1d..00000000 --- a/common/recipes-kernel/linux/files/0598-drm-amd-dal-do-not-remove-MST-connector-until-reset-.patch +++ /dev/null @@ -1,87 +0,0 @@ -From 7a7302602be80b3033dbd4218be3b8fc8d6b2db0 Mon Sep 17 00:00:00 2001 -From: Mykola Lysenko <Mykola.Lysenko@amd.com> -Date: Wed, 9 Dec 2015 20:18:00 +0800 -Subject: [PATCH 0598/1110] drm/amd/dal: do not remove MST connector until - reset mode - -Before MST connector removal we need to make sure reset mode happened -from user space, and all state is clear - -Signed-off-by: Harry Wentland <harry.wentland@amd.com> -Acked-by: Harry Wentland<harry.wentland@amd.com> ---- - drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_mst_types.c | 7 +++++++ - drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.c | 5 +++++ - 2 files changed, 12 insertions(+) - -diff --git a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_mst_types.c b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_mst_types.c -index 16c82a2..733d8aa 100644 ---- a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_mst_types.c -+++ b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_mst_types.c -@@ -274,6 +274,8 @@ static struct drm_connector *dm_dp_add_mst_connector(struct drm_dp_mst_topology_ - aconnector->mst_port = master; - aconnector->dc_link = master->dc_link; - -+ sema_init(&aconnector->mst_sem, 1); -+ - /* Initialize connector state before adding the connectror to drm and framebuffer lists */ - amdgpu_dm_connector_funcs_reset(connector); - -@@ -296,8 +298,13 @@ static void dm_dp_destroy_mst_connector( - { - struct amdgpu_connector *master = - container_of(mgr, struct amdgpu_connector, mst_mgr); -+ struct amdgpu_connector *aconnector = to_amdgpu_connector(connector); - struct drm_device *dev = master->base.dev; - struct amdgpu_device *adev = dev->dev_private; -+ -+ /* wait until reset mode occur */ -+ down(&aconnector->mst_sem); -+ - drm_connector_unregister(connector); - /* need to nuke the connector */ - mutex_lock(&dev->mode_config.mutex); -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 9f467eb..ea7a623 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 -@@ -1856,6 +1856,7 @@ int amdgpu_dm_connector_init( - dm->backlight_link = link; - } - #endif -+ sema_init(&aconnector->mst_sem, 1); - - return 0; - } -@@ -2174,6 +2175,7 @@ int amdgpu_dm_atomic_commit( - /* this is the update mode case */ - dc_target_release(acrtc->target); - acrtc->target = NULL; -+ up(&aconnector->mst_sem); - } - - /* -@@ -2187,10 +2189,12 @@ int amdgpu_dm_atomic_commit( - acrtc->target = new_target; - acrtc->enabled = true; - acrtc->base.enabled = true; -+ - connector_funcs = aconnector->base.helper_private; - aconnector->base.encoder = - connector_funcs->best_encoder( - &aconnector->base); -+ down(&aconnector->mst_sem); - break; - } - -@@ -2209,6 +2213,7 @@ int amdgpu_dm_atomic_commit( - acrtc->enabled = false; - acrtc->base.enabled = false; - aconnector->base.encoder = NULL; -+ up(&aconnector->mst_sem); - } - break; - } /* switch() */ --- -2.7.4 - |