diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0831-drm-amd-dal-add-missed-mst-callback-implementation.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0831-drm-amd-dal-add-missed-mst-callback-implementation.patch | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/files/0831-drm-amd-dal-add-missed-mst-callback-implementation.patch b/common/recipes-kernel/linux/files/0831-drm-amd-dal-add-missed-mst-callback-implementation.patch new file mode 100644 index 00000000..9b3ae4d6 --- /dev/null +++ b/common/recipes-kernel/linux/files/0831-drm-amd-dal-add-missed-mst-callback-implementation.patch @@ -0,0 +1,66 @@ +From bb63d37dea52ee376a08ad2295562fe92209302b 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 0831/1050] drm/amd/dal: add missed mst callback implementation + +Add new register_connector callback implementation + +Change-Id: Ie66ee724ae2f9f1b51fa0e6333ac9d487827f001 +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 8c3f603..8b5bdf9 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 +@@ -256,7 +256,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; + +@@ -280,11 +279,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); + +@@ -322,10 +316,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( +-- +1.9.1 + |