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

drm/amd/display: Use scoped guards for handle_hpd_irq_helper()



Scoped guards will release the mutex when they go out of scope.

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 981a4742
Loading
Loading
Loading
Loading
+5 −7
Original line number Diff line number Diff line
@@ -3813,7 +3813,7 @@ static void handle_hpd_irq_helper(struct amdgpu_dm_connector *aconnector)
	 * In case of failure or MST no need to update connector status or notify the OS
	 * since (for MST case) MST does this in its own context.
	 */
	mutex_lock(&aconnector->hpd_lock);
	guard(mutex)(&aconnector->hpd_lock);

	if (adev->dm.hdcp_workqueue) {
		hdcp_reset_display(adev->dm.hdcp_workqueue, aconnector->dc_link->link_index);
@@ -3837,10 +3837,10 @@ static void handle_hpd_irq_helper(struct amdgpu_dm_connector *aconnector)
		if (aconnector->base.force == DRM_FORCE_UNSPECIFIED)
			drm_kms_helper_connector_hotplug_event(connector);
	} else {
		mutex_lock(&adev->dm.dc_lock);
		scoped_guard(mutex, &adev->dm.dc_lock) {
			dc_exit_ips_for_hw_access(dc);
			ret = dc_link_detect(aconnector->dc_link, DETECT_REASON_HPD);
		mutex_unlock(&adev->dm.dc_lock);
		}
		if (ret) {
			amdgpu_dm_update_connector_after_detect(aconnector);

@@ -3852,8 +3852,6 @@ static void handle_hpd_irq_helper(struct amdgpu_dm_connector *aconnector)
				drm_kms_helper_connector_hotplug_event(connector);
		}
	}
	mutex_unlock(&aconnector->hpd_lock);

}

static void handle_hpd_irq(void *param)