Bug 16453 - suspend2ram doesn't possible any more under X11
Summary: suspend2ram doesn't possible any more under X11
Status: CLOSED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: Video(DRI - Intel) (show other bugs)
Hardware: All Linux
: P1 high
Assignee: drivers_video-dri-intel@kernel-bugs.osdl.org
URL:
Keywords:
Depends on:
Blocks: 7216 16055
  Show dependency tree
 
Reported: 2010-07-24 10:47 UTC by Toralf Förster
Modified: 2010-07-26 18:32 UTC (History)
3 users (show)

See Also:
Kernel Version: v2.6.35-rc6-19-g86c65a7
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments
.config (61.41 KB, text/plain)
2010-07-26 08:49 UTC, Toralf Förster
Details

Description Toralf Förster 2010-07-24 10:47:36 UTC
A
$>sync; sleep 2; sync; echo mem > /sys/power/state
sometimes results into a black screen and a blinking of the moon led - only power off button works in that case.
The issue happens only under X11, booting the system with "init 2" (no X11, no network) works.

Previous kernel 2.6.34 did not show this issue, probably the first .35-rcX too were ok.

My system is a ThinkPad T400 (i915) running x11-base/xorg-server-1.7.7 and x11-drivers/xf86-video-intel-2.11.0.
Comment 1 Rafael J. Wysocki 2010-07-24 22:54:15 UTC
I'm afraid it will be necessary to identify the commit that caused that problem to happen.

Please also check bug #16369 (maybe a duplicate?).
Comment 2 Toralf Förster 2010-07-25 18:23:14 UTC
(In reply to comment #1)
> I'm afraid it will be necessary to identify the commit that caused that
> problem
> to happen.
I'm afraid that ... ;)

tfoerste@n22 ~/devel/linux-2.6 $ git bisect bad
d1b851fc0d105caa6b6e3e7c92d2987dfb52cbe0 is the first bad commit
commit d1b851fc0d105caa6b6e3e7c92d2987dfb52cbe0
Author: Zou Nan hai <nanhai.zou@intel.com>
Date:   Fri May 21 09:08:57 2010 +0800

    drm/i915: implement BSD ring buffer V2
    
    The BSD (bit stream decoder) ring is used for accessing the BSD engine
    which decodes video bitstream for H.264 and VC1 on G45+.  It is
    asynchronous with the render ring and has access to separate parts of
    the GPU from it, though the render cache is coherent between the two.
    
    Signed-off-by: Zou Nan hai <nanhai.zou@intel.com>
    Signed-off-by: Xiang Hai hao <haihao.xiang@intel.com>
    Signed-off-by: Eric Anholt <eric@anholt.net>

:040000 040000 c486a9246bdcdc73bd83cee594d3948ca75fe841 bbb08d10d455133c1f1aab13d9feecf01fe4f87c M      drivers
Comment 3 Rafael J. Wysocki 2010-07-25 22:16:11 UTC
First-Bad-Commit : d1b851fc0d105caa6b6e3e7c92d2987dfb52cbe0

Thanks for bisecting, reassigning to DRI/Intel.
Comment 4 Chris Wilson 2010-07-26 07:34:45 UTC
I've seen that commit also breaks UMS in some circumstances. Toralf, you don't by any chance run with i915.modeset=0 [or rather not enable KMS]?
Comment 5 Toralf Förster 2010-07-26 08:49:52 UTC
Created attachment 27247 [details]
.config

(In reply to comment #4)
> I've seen that commit also breaks UMS in some circumstances. Toralf, you
> don't
> by any chance run with i915.modeset=0 [or rather not enable KMS]?
I attached the .config which I used to bisect the issue. (BTW it needed 1 to 4 suspend cycles to verify whether s2ram was broken or not).
Comment 6 Chris Wilson 2010-07-26 09:47:20 UTC
Awooga:
 CONFIG_DRM_I915=m
 CONFIG_DRM_I915_KMS=y

Hard hang, no other debug messages/clues available?

T400 I believe is a gm45, can you attach lspci to confirm?

Gordon, we haven't seen this issue during QA?
Comment 7 Chris Wilson 2010-07-26 09:49:31 UTC
Toralf, the other one that is vital to test is whether this occurs with 2.6.35-rc6? That (in theory) rules out the known memory corruption bug.
Comment 8 Toralf Förster 2010-07-26 11:46:33 UTC
Current git v2.6.35-rc6-19-g86c65a7 works fine with this command (at least for 3 suspends in a row ):
$>sync; sleep 2; sync; echo mem > /sys/power/state

:-)


BTW : 
From /var/log/messages it is a "Intel GM45 Chipset".

tfoerste@n22 ~/devel/linux-2.6 $ /usr/sbin/lspci | grep -i vga
00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)
Comment 9 Chris Wilson 2010-07-26 12:09:08 UTC
Toralf, I'm going to mark this as fixed as being the result of the i915 memory corruption bug, please reopen if it fails again. Thanks.

Note You need to log in before you can comment on or make changes to this bug.