Bug 22039

Summary: Xorg hangs after resume from suspend when KMS enabled on GM945
Product: xorg Reporter: Carey Underwood <cwillu>
Component: Driver/intelAssignee: Jesse Barnes <jbarnes>
Status: RESOLVED DUPLICATE QA Contact: Xorg Project Team <xorg-team>
Severity: major    
Priority: highest CC: lool
Version: unspecified   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Carey Underwood 2009-06-02 13:07:42 UTC
Title says it all :p

On resume:
 * Screen is frozen but uncorrupted.
 * Mouse cursor moves with the touchpad, but the external mouse doesn't move it.  
 * ctrl-alt-f1 doesn't change VTs
 * magic sysrq keys work, although sysrq-v causes "BUG: scheduling while atomic: swapper/0/0x10010000"
 * I can ssh into the machine, and it seems to be otherwise working properly

Suspending from a vt works fine, although after resuming I can't switch back to X (hangs in the same way).
Comment 1 Carey Underwood 2009-06-02 13:18:01 UTC
Linux cwillu-acer 2.6.30-999-generic #1243674012 SMP Sat May 30 09:44:52 UTC 2009 i686 GNU/Linux

libdrm-intel1                             2.4.11+git20090519.f355ad89-0ubuntu0sarvatt
libdrm2                                    2.4.11+git20090519.f355ad89-0ubuntu0sarvatt
xserver-xorg-video-intel                   2:2.7.99.1+git20090602.ec2fde7c-0ubuntu0sarvatt
Comment 2 Carey Underwood 2009-06-02 13:20:46 UTC
Output of intel_gpu_dump from vt1 before suspending: http://launchpadlibrarian.net/27425610/pre-suspend
Output of intel_gpu_dump from vt1 immediately after resuming: http://launchpadlibrarian.net/27425564/post-suspend

Comment 3 Carey Underwood 2009-06-02 13:32:14 UTC
Photo of image corruption on the rare otherwise-successful resume:  http://cwillu.com/images/resume-corruption.jpg

Occasionally the resume still succeeds (I'd say less than 10% of the time).  There's a variable amount of corruption of text at that point (every instance of specific letters) that goes away when bouncing to another vt and back.
Comment 4 Carey Underwood 2009-06-02 13:39:00 UTC
Running intel_gpu_top after a failed resume shows:

ring idle:   0%  ring space: 272/126976 (0%)
                          task  percent busy

                   Bypass FIFO: 100%
              Color calculator: 100%
                  Pixel shader: 100%
Comment 5 Carey Underwood 2009-06-02 13:44:11 UTC
Other potentially relevant logs are listed at https://bugs.launchpad.net/xorg-server/+bug/382884/comments/1
Comment 6 Bryce Harrington 2009-06-04 08:19:43 UTC
[Increasing priority since this is a freeze with the official stack KMS/UXA/GEM.]
Comment 7 Carey Underwood 2009-06-05 10:35:01 UTC
Incidentally, hibernation works fine (7 cycles so far).  I'll attach before/after intel_gpu_dump's in a moment.
Comment 8 Carey Underwood 2009-06-05 11:10:45 UTC
Let me revise that:  occasionally when a suspend works, it will continue to work dozens of times in a row.  I think that's what happened this last time with the hibernation, when I tried it again with instrumentation, I just got the broken behavior again.  

I'll try get a before/after dump the next time it works for a long string of attempts again, in the mean time, I'm attaching the before/after dumps from the hibernate.
Comment 10 Gordon Jin 2009-06-15 02:01:27 UTC
maybe dup with bug#22010
Comment 11 Loïc Minier 2009-06-16 03:14:21 UTC
I filed bug #22285 which looks very similar.
Comment 12 Jesse Barnes 2009-06-16 15:21:31 UTC

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

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.