Bug 54484

Summary: Thinkpad E525: LVDS und VGA do not turn back on after suspend/resume
Product: DRI Reporter: Helge Bahmann <hcb>
Component: DRM/RadeonAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED DUPLICATE QA Contact:
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
thinkpad-e525-radeon-traces none

Description Helge Bahmann 2012-09-04 08:13:59 UTC
Symptom: After resuming from "suspend to ram", the internal display remains black. The machine is responsive otherwise (ssh).

Tested with stock 3.2 and 3.5 kernels. Also, not yet fixed as of 3.6rc3 (here, radeon kms driver does not work at all).

System is Thinkpad E525 with A4-3300M.

Further experiments revealed that the VGA connector is affected in the same way, but I found the following interesting twist: when the kms fb driver only powers the LVDS, while the VGA connector is activated only while the X server is in control, then the VGA comes back to life after resume. (I have not yet found an easy way to let kms fb not drive the LVDS to test whether this also works the other way round; my hope is that this would be the case).

Traces show some differences in the modesetting sequence between VGA being driven (see below), I have tried but so far failed to hack up radeon kms accordingly.

Note: this is *probably* the same bug as #43829, but I do not want to intermingle the logs and traces with reports on different hardware.
Comment 1 Helge Bahmann 2012-09-04 08:22:59 UTC
Created attachment 66598 [details]
thinkpad-e525-radeon-traces

Detailed traces of the E525 over suspend/resume in two different scenarios.

The kernel was patched to provide additional information regarding DCE4 state and atombios calls.

For the two scenarios, the following information was collected:

- kernel.log: contains kernel log, including trace markers about the atombios functions called, and their parameters
- before-suspend.dce4: output of "radeontool regs dce4" before entering suspend state
- during-suspend.dce4: in-kernel grab of the DCE4 register state just before call to radeon_pm_suspend
- during-resume.dce4: in-kernel grab of the DCE4 register state just after call to radeon_pm_resume
- after-suspend.dce4: output of "radeontool regs dce4" after resuming and returning to X (with either both displays black, or only VGA in working condition)

directory "lvds-fb-vga-fb": both lvds and vga driven by kms fb driver

directory "lvds-fb-vga-x": only lvds driven by kms fb driver; vga only active during X

Unfortunately, the DCE4 register states do not tell me anything without at least register names. If any further state dumps, experiments or traces are helpful just let me know.
Comment 2 Alex Deucher 2012-09-04 13:07:53 UTC

*** This bug has been marked as a duplicate of bug 43829 ***

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.