aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0695-drm-amd-dal-Re-enable-interrupt-after-hotplug-notify.patch
blob: 17c3906d565ee97097295061824c12a0941b6e83 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
From d3f85dbd65bbabe5f225a9ffe0c8715389392900 Mon Sep 17 00:00:00 2001
From: Eric Yang <eric.yang2@amd.com>
Date: Thu, 14 Jan 2016 17:41:51 -0500
Subject: [PATCH 0695/1110] drm/amd/dal: Re-enable interrupt after hotplug
 notify

On S3 resume, re-enable interrupt after hotplug notify to guarantee
OS knows about a disconnect that happend during S3 before any HPD
can fire and change the connection status of the connector. This
Fixes pageflip issues on S3 resume observed when multiple displays
are connected.

Signed-off-by: Eric Yang <eric.yang2@amd.com>
Acked-by: Jordan Lazare <Jordan.Lazare@amd.com>
---
 drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm.c
index 6de5703..9879512 100644
--- a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm.c
@@ -801,10 +801,6 @@ static int dm_resume(void *handle)
 		DC_ACPI_CM_POWER_STATE_D0,
 		DC_VIDEO_POWER_ON);
 
-	/* program HPD filter*/
-	dc_resume(dm->dc);
-	/* resume IRQ */
-	amdgpu_dm_irq_resume(adev);
 	/* Do detection*/
 	list_for_each_entry(connector,
 			&ddev->mode_config.connector_list, head) {
@@ -814,10 +810,18 @@ static int dm_resume(void *handle)
 		amdgpu_dm_update_connector_after_detect(aconnector);
 	}
 
+
 	drm_modeset_lock_all(ddev);
 	ret = dm_display_resume(ddev);
 	drm_modeset_unlock_all(ddev);
 
+	drm_kms_helper_hotplug_event(ddev);
+
+	/* program HPD filter*/
+	dc_resume(dm->dc);
+	/* resume IRQ */
+	amdgpu_dm_irq_resume(adev);
+
 	return ret;
 }
 const struct amd_ip_funcs amdgpu_dm_funcs = {
-- 
2.7.4