aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0524-drm-amd-dal-add-missed-mst-callback-implementation.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/files/0524-drm-amd-dal-add-missed-mst-callback-implementation.patch')
-rw-r--r--common/recipes-kernel/linux/files/0524-drm-amd-dal-add-missed-mst-callback-implementation.patch65
1 files changed, 65 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/files/0524-drm-amd-dal-add-missed-mst-callback-implementation.patch b/common/recipes-kernel/linux/files/0524-drm-amd-dal-add-missed-mst-callback-implementation.patch
new file mode 100644
index 00000000..a7bae91d
--- /dev/null
+++ b/common/recipes-kernel/linux/files/0524-drm-amd-dal-add-missed-mst-callback-implementation.patch
@@ -0,0 +1,65 @@
+From 75cf587ebebb4387e355c6626a6c6b8e30e16477 Mon Sep 17 00:00:00 2001
+From: Mykola Lysenko <Mykola.Lysenko@amd.com>
+Date: Thu, 26 Nov 2015 18:40:13 +0800
+Subject: [PATCH 0524/1110] drm/amd/dal: add missed mst callback implementation
+
+Add new register_connector callback implementation
+
+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_mst_types.c | 20 ++++++++++++++------
+ 1 file changed, 14 insertions(+), 6 deletions(-)
+
+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 0838cca..a08468b 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
+@@ -257,7 +257,6 @@ static struct drm_connector *dm_dp_add_mst_connector(struct drm_dp_mst_topology_
+ {
+ struct amdgpu_connector *master = container_of(mgr, struct amdgpu_connector, mst_mgr);
+ struct drm_device *dev = master->base.dev;
+- struct amdgpu_device *adev = dev->dev_private;
+ struct amdgpu_connector *aconnector;
+ struct drm_connector *connector;
+
+@@ -281,11 +280,6 @@ static struct drm_connector *dm_dp_add_mst_connector(struct drm_dp_mst_topology_
+ drm_object_attach_property(&connector->base, dev->mode_config.path_property, 0);
+ drm_mode_connector_set_path_property(connector, pathprop);
+
+- mutex_lock(&dev->mode_config.mutex);
+- drm_fb_helper_add_one_connector(&adev->mode_info.rfbdev->helper, connector);
+- mutex_unlock(&dev->mode_config.mutex);
+-
+- drm_connector_register(connector);
+
+ DRM_DEBUG_KMS(":%d\n", connector->base.id);
+
+@@ -323,10 +317,24 @@ static void dm_dp_mst_hotplug(struct drm_dp_mst_topology_mgr *mgr)
+ drm_kms_helper_hotplug_event(dev);
+ }
+
++static void dm_dp_mst_register_connector(struct drm_connector *connector)
++{
++ struct drm_device *dev = connector->dev;
++ struct amdgpu_device *adev = dev->dev_private;
++
++ mutex_lock(&dev->mode_config.mutex);
++ drm_fb_helper_add_one_connector(&adev->mode_info.rfbdev->helper, connector);
++ mutex_unlock(&dev->mode_config.mutex);
++
++ drm_connector_register(connector);
++
++}
++
+ struct drm_dp_mst_topology_cbs dm_mst_cbs = {
+ .add_connector = dm_dp_add_mst_connector,
+ .destroy_connector = dm_dp_destroy_mst_connector,
+ .hotplug = dm_dp_mst_hotplug,
++ .register_connector = dm_dp_mst_register_connector
+ };
+
+ void amdgpu_dm_initialize_mst_connector(
+--
+2.7.4
+