From 653684ef3e912682ec10babaa5e080439b55cc9e Mon Sep 17 00:00:00 2001 From: Mykola Lysenko Date: Fri, 18 Dec 2015 18:46:32 +0800 Subject: [PATCH 0651/1110] drm/amd/dal: remove mst semaphore After fix applied to userspace we do not need to defer connectors destruction and so can remove mst semaphore usage Signed-off-by: Mykola Lysenko Signed-off-by: Harry Wentland Acked-by: Harry Wentland --- .../drm/amd/dal/amdgpu_dm/amdgpu_dm_mst_types.c | 3 --- .../gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.c | 23 ---------------------- 2 files changed, 26 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 e765f57..d47ec32 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 @@ -333,9 +333,6 @@ static void dm_dp_destroy_mst_connector( struct drm_device *dev = master->base.dev; struct amdgpu_device *adev = dev->dev_private; - /* wait until reset mode occur */ - down(&aconnector->mst_sem); - drm_connector_unregister(connector); /* need to nuke the connector */ drm_modeset_lock_all(dev); 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 492939e..00a0139 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 @@ -1804,8 +1804,6 @@ void amdgpu_dm_connector_init_helper( drm_object_attach_property(&aconnector->base.base, adev->mode_info.underscan_vborder_property, 0); - - sema_init(&aconnector->mst_sem, 1); } /* Note: this function assumes that dc_link_detect() was called for the @@ -2074,25 +2072,6 @@ static void handle_headless_hotplug( } } -static void update_connector_sem_state(struct drm_atomic_state *state) -{ - struct drm_connector *connector; - struct drm_connector_state *old_con_state; - struct amdgpu_connector *aconnector = NULL; - int i; - - for_each_connector_in_state(state, connector, old_con_state, i) { - aconnector = to_amdgpu_connector(connector); - if (old_con_state->crtc) { - if (!connector->state->crtc) - up(&aconnector->mst_sem); - } else { - if (connector->state->crtc) - down(&aconnector->mst_sem); - } - } -} - int amdgpu_dm_atomic_commit( struct drm_device *dev, struct drm_atomic_state *state, @@ -2251,8 +2230,6 @@ int amdgpu_dm_atomic_commit( /* DC is optimized not to do anything if 'targets' didn't change. */ dc_commit_targets(dm->dc, commit_targets, commit_targets_count); - update_connector_sem_state(state); - /* update planes when needed */ for_each_plane_in_state(state, plane, old_plane_state, i) { struct drm_plane_state *plane_state = plane->state; -- 2.7.4