aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/0119-drm-amd-display-MST-Fix-startup-sequence-v3.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/0119-drm-amd-display-MST-Fix-startup-sequence-v3.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.14.71/0119-drm-amd-display-MST-Fix-startup-sequence-v3.patch99
1 files changed, 0 insertions, 99 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/0119-drm-amd-display-MST-Fix-startup-sequence-v3.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/0119-drm-amd-display-MST-Fix-startup-sequence-v3.patch
deleted file mode 100644
index 1b6bbbe7..00000000
--- a/common/recipes-kernel/linux/linux-yocto-4.14.71/0119-drm-amd-display-MST-Fix-startup-sequence-v3.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From dc2f346525971f22cff1b172b78ec4b9196050b2 Mon Sep 17 00:00:00 2001
-From: Andrey Grodzovsky <Andrey.Grodzovsky@amd.com>
-Date: Thu, 29 Dec 2016 13:21:31 -0500
-Subject: [PATCH 0119/4131] drm/amd/display: [MST] Fix startup sequence v3.
-
-Problem: MST topology discovery was started before fbdev
-init causing kernel panic on boot.
-Fix: Defer MST to late init hook, after fbdev strucutres
-already initilized.
-
-v2: Add explicit late_init hook function in DAL.
-v3:
-Change signature of detect_mst_link_for_all_connectors
-from void* to drm_dev*
-
-Signed-off-by: Andrey Grodzovsky <Andrey.Grodzovsky@amd.com>
-Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
----
- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 35 ++++++++++++++---------
- 1 file changed, 22 insertions(+), 13 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
-index cd1e9e6..8aeea59 100644
---- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
-+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
-@@ -367,27 +367,39 @@ static int dm_sw_fini(void *handle)
- return 0;
- }
-
--static void detect_link_for_all_connectors(struct drm_device *dev)
-+static int detect_mst_link_for_all_connectors(struct drm_device *dev)
- {
- struct amdgpu_connector *aconnector;
- struct drm_connector *connector;
-+ int ret = 0;
-
- drm_modeset_lock(&dev->mode_config.connection_mutex, NULL);
-
- list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
- aconnector = to_amdgpu_connector(connector);
-- if (aconnector->dc_link->type == dc_connection_mst_branch) {
-- DRM_INFO("DM_MST: starting TM on aconnector: %p [id: %d]\n",
-- aconnector, aconnector->base.base.id);
--
-- if (drm_dp_mst_topology_mgr_set_mst(&aconnector->mst_mgr, true) < 0) {
-- DRM_ERROR("DM_MST: Failed to start MST\n");
-- ((struct dc_link *)aconnector->dc_link)->type = dc_connection_single;
-+ if (aconnector->dc_link->type == dc_connection_mst_branch) {
-+ DRM_INFO("DM_MST: starting TM on aconnector: %p [id: %d]\n",
-+ aconnector, aconnector->base.base.id);
-+
-+ ret = drm_dp_mst_topology_mgr_set_mst(&aconnector->mst_mgr, true);
-+ if (ret < 0) {
-+ DRM_ERROR("DM_MST: Failed to start MST\n");
-+ ((struct dc_link *)aconnector->dc_link)->type = dc_connection_single;
-+ return ret;
- }
-- }
-+ }
- }
-
- drm_modeset_unlock(&dev->mode_config.connection_mutex);
-+ return ret;
-+}
-+
-+static int dm_late_init(void *handle)
-+{
-+ struct drm_device *dev = ((struct amdgpu_device *)handle)->ddev;
-+ int r = detect_mst_link_for_all_connectors(dev);
-+
-+ return r;
- }
-
- static void s3_handle_mst(struct drm_device *dev, bool suspend)
-@@ -417,11 +429,8 @@ static int dm_hw_init(void *handle)
- struct amdgpu_device *adev = (struct amdgpu_device *)handle;
- /* Create DAL display manager */
- amdgpu_dm_init(adev);
--
- amdgpu_dm_hpd_init(adev);
-
-- detect_link_for_all_connectors(adev->ddev);
--
- return 0;
- }
-
-@@ -680,7 +689,7 @@ int amdgpu_dm_display_resume(struct amdgpu_device *adev )
- static const struct amd_ip_funcs amdgpu_dm_funcs = {
- .name = "dm",
- .early_init = dm_early_init,
-- .late_init = NULL,
-+ .late_init = dm_late_init,
- .sw_init = dm_sw_init,
- .sw_fini = dm_sw_fini,
- .hw_init = dm_hw_init,
---
-2.7.4
-