diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0609-drm-amd-dal-split-selection-of-connector-in-commit.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0609-drm-amd-dal-split-selection-of-connector-in-commit.patch | 131 |
1 files changed, 0 insertions, 131 deletions
diff --git a/common/recipes-kernel/linux/files/0609-drm-amd-dal-split-selection-of-connector-in-commit.patch b/common/recipes-kernel/linux/files/0609-drm-amd-dal-split-selection-of-connector-in-commit.patch deleted file mode 100644 index 7e7dbd26..00000000 --- a/common/recipes-kernel/linux/files/0609-drm-amd-dal-split-selection-of-connector-in-commit.patch +++ /dev/null @@ -1,131 +0,0 @@ -From c9ba7980b34bcfd93743b190c00ea8903122d198 Mon Sep 17 00:00:00 2001 -From: Mykola Lysenko <Mykola.Lysenko@amd.com> -Date: Thu, 10 Dec 2015 20:20:48 +0800 -Subject: [PATCH 0609/1110] drm/amd/dal: split selection of connector in commit - -During commit there could be situation when there are two connectors -in state. For SET mode action new connector should be used. -For RESET mode action old connector should be used. - -In old code there was a situation when OLD connector sink -used for SET mode. - -Also it uses new and old connector to update MST semaphore properly - -Signed-off-by: Harry Wentland <harry.wentland@amd.com> -Acked-by: Harry Wentland<harry.wentland@amd.com> ---- - .../gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.c | 45 +++++++++++++--------- - 1 file changed, 26 insertions(+), 19 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 a9ff09d..633f0de 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 -@@ -2118,7 +2118,8 @@ int amdgpu_dm_atomic_commit( - /* update changed items */ - for_each_crtc_in_state(state, crtc, old_crtc_state, i) { - struct amdgpu_crtc *acrtc; -- struct amdgpu_connector *aconnector = NULL; -+ struct amdgpu_connector *aconnector_new = NULL; -+ struct amdgpu_connector *aconnector_old = NULL; - enum dm_commit_action action; - struct drm_crtc_state *new_state = crtc->state; - struct drm_connector *connector; -@@ -2126,20 +2127,30 @@ int amdgpu_dm_atomic_commit( - - acrtc = to_amdgpu_crtc(crtc); - -- for_each_connector_in_state(state, -- connector, old_con_state, j) { -+ for_each_connector_in_state( -+ state, -+ connector, -+ old_con_state, -+ j) { - if (connector->state->crtc == crtc) { -- aconnector = to_amdgpu_connector(connector); -+ aconnector_new = to_amdgpu_connector(connector); - break; - } -+ } - -+ for_each_connector_in_state( -+ state, -+ connector, -+ old_con_state, -+ j) { - /* -- * this is the case when reset occur, connector is -- * removed from new crtc state. We need to update -- * connector state anyway. Access it from old_con_state -+ * this is the case when reset occur, connector -+ * is removed from new crtc state. We need to -+ * update connector state anyway. Access it from -+ * old_con_state - */ - if (old_con_state->crtc == crtc) { -- aconnector = to_amdgpu_connector(connector); -+ aconnector_old = to_amdgpu_connector(connector); - break; - } - } -@@ -2147,24 +2158,20 @@ int amdgpu_dm_atomic_commit( - /* handles headless hotplug case, updating new_state and - * aconnector as needed - */ -- handle_headless_hotplug(acrtc, new_state, &aconnector); -+ handle_headless_hotplug(acrtc, new_state, &aconnector_new); - - action = get_dm_commit_action(new_state); - -- if (!aconnector && action != DM_COMMIT_ACTION_NOTHING) { -- DRM_ERROR("Can't find connector for crtc %d\n", -- acrtc->crtc_id); -- break; -- } -- - switch (action) { - case DM_COMMIT_ACTION_DPMS_ON: - case DM_COMMIT_ACTION_SET: { - struct dc_target *new_target = - create_target_for_sink( -- aconnector, -+ aconnector_new, - &crtc->state->mode); -+ - DRM_DEBUG_KMS("Atomic commit: SET.\n"); -+ - if (!new_target) { - /* - * this could happen because of issues with -@@ -2190,7 +2197,7 @@ int amdgpu_dm_atomic_commit( - /* this is the update mode case */ - dc_target_release(acrtc->target); - acrtc->target = NULL; -- up(&aconnector->mst_sem); -+ up(&aconnector_old->mst_sem); - } - - /* -@@ -2204,7 +2211,7 @@ int amdgpu_dm_atomic_commit( - acrtc->target = new_target; - acrtc->enabled = true; - -- down(&aconnector->mst_sem); -+ down(&aconnector_new->mst_sem); - break; - } - -@@ -2222,7 +2229,7 @@ int amdgpu_dm_atomic_commit( - acrtc->target = NULL; - acrtc->enabled = false; - -- up(&aconnector->mst_sem); -+ up(&aconnector_old->mst_sem); - } - break; - } /* switch() */ --- -2.7.4 - |