Commit f24a74d5 authored by Mario Limonciello's avatar Mario Limonciello Committed by Alex Deucher
Browse files

drm/amd/display: Use scoped guard for dm_resume()



Scoped guards will release the mutex when they go out of scope.
Adjust the code to use these instead.

Reviewed-by: default avatarAlex Hung <alex.hung@amd.com>
Signed-off-by: default avatarMario Limonciello <mario.limonciello@amd.com>
Signed-off-by: default avatarWayne Lin <wayne.lin@amd.com>
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 180998bf
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -3470,17 +3470,16 @@ static int dm_resume(struct amdgpu_ip_block *ip_block)
		if (aconnector->mst_root)
			continue;

		mutex_lock(&aconnector->hpd_lock);
		guard(mutex)(&aconnector->hpd_lock);
		if (!dc_link_detect_connection_type(aconnector->dc_link, &new_connection_type))
			drm_err(adev_to_drm(adev), "KMS: Failed to detect connector\n");

		if (aconnector->base.force && new_connection_type == dc_connection_none) {
			emulated_link_detect(aconnector->dc_link);
		} else {
			mutex_lock(&dm->dc_lock);
			guard(mutex)(&dm->dc_lock);
			dc_exit_ips_for_hw_access(dm->dc);
			dc_link_detect(aconnector->dc_link, DETECT_REASON_RESUMEFROMS3S4);
			mutex_unlock(&dm->dc_lock);
		}

		if (aconnector->fake_enable && aconnector->dc_link->local_sink)
@@ -3490,7 +3489,6 @@ static int dm_resume(struct amdgpu_ip_block *ip_block)
			dc_sink_release(aconnector->dc_sink);
		aconnector->dc_sink = NULL;
		amdgpu_dm_update_connector_after_detect(aconnector);
		mutex_unlock(&aconnector->hpd_lock);
	}
	drm_connector_list_iter_end(&iter);