]>
Commit | Line | Data |
---|---|---|
d8546da0 GKH |
1 | From 256faedcfd646161477d47a1a78c32a562d2e845 Mon Sep 17 00:00:00 2001 |
2 | From: Linus Torvalds <torvalds@linux-foundation.org> | |
3 | Date: Mon, 7 Mar 2016 13:15:09 -0800 | |
4 | Subject: Revert "drm/radeon: call hpd_irq_event on resume" | |
5 | MIME-Version: 1.0 | |
6 | Content-Type: text/plain; charset=UTF-8 | |
7 | Content-Transfer-Encoding: 8bit | |
8 | ||
9 | From: Linus Torvalds <torvalds@linux-foundation.org> | |
10 | ||
11 | commit 256faedcfd646161477d47a1a78c32a562d2e845 upstream. | |
12 | ||
13 | This reverts commit dbb17a21c131eca94eb31136eee9a7fe5aff00d9. | |
14 | ||
15 | It turns out that commit can cause problems for systems with multiple | |
16 | GPUs, and causes X to hang on at least a HP Pavilion dv7 with hybrid | |
17 | graphics. | |
18 | ||
19 | This got noticed originally in 4.4.4, where this patch had already | |
20 | gotten back-ported, but 4.5-rc7 was verified to have the same problem. | |
21 | ||
22 | Alexander Deucher says: | |
23 | "It looks like you have a muxed system so I suspect what's happening is | |
24 | that one of the display is being reported as connected for both the | |
25 | IGP and the dGPU and then the desktop environment gets confused or | |
26 | there some sort problem in the detect functions since the mux is not | |
27 | switched to the dGPU. I don't see an easy fix unless Dave has any | |
28 | ideas. I'd say just revert for now" | |
29 | ||
30 | Reported-by: Jörg-Volker Peetz <jvpeetz@web.de> | |
31 | Acked-by: Alexander Deucher <Alexander.Deucher@amd.com> | |
32 | Cc: Dave Airlie <airlied@gmail.com> | |
33 | Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | |
34 | Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |
35 | ||
36 | --- | |
37 | drivers/gpu/drm/radeon/radeon_device.c | 1 - | |
38 | 1 file changed, 1 deletion(-) | |
39 | ||
40 | --- a/drivers/gpu/drm/radeon/radeon_device.c | |
41 | +++ b/drivers/gpu/drm/radeon/radeon_device.c | |
42 | @@ -1744,7 +1744,6 @@ int radeon_resume_kms(struct drm_device | |
43 | } | |
44 | ||
45 | drm_kms_helper_poll_enable(dev); | |
46 | - drm_helper_hpd_irq_event(dev); | |
47 | ||
48 | /* set the power state here in case we are a PX system or headless */ | |
49 | if ((rdev->pm.pm_method == PM_METHOD_DPM) && rdev->pm.dpm_enabled) |