From 75cf587ebebb4387e355c6626a6c6b8e30e16477 Mon Sep 17 00:00:00 2001 From: Mykola Lysenko 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 Acked-by: Harry Wentland --- .../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