aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/1260-drm-amd-dal-Re-enable-interrupt-after-hotplug-notify.patch
blob: a2fc7576676b45c053d9a1bb57f23e96cf2fd144 (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
56
From 341724ebcae557436973312c8a700e755e05e5d5 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 1260/1565] 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.

Change-Id: I76376ea6d3b464572d6319adf70efb40d8974863
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 = {
-- 
1.9.1