[Intel-gfx] rfc: kms fix S3 resume

Jesse Barnes jbarnes at virtuousgeek.org
Tue Feb 10 18:14:27 CET 2009

On Monday, February 9, 2009 11:21 pm Yves-Alexis Perez wrote:
> On Tue, Feb 10, 2009 at 02:11:38PM +0800, Shaohua Li wrote:
> > After enabling kms, my console can't get resumed from S3. Below patch
> > makes it work, please check.
> For the record, I have S3 resume problems with my Thinkpad T61 with 965.
> There's an open bug at http://bugs.freedesktop.org/show_bug.cgi?id=19939
> Basically, when I suspend (from X, using echo mem > /sys/power/state),
> at resume:
> - console has some kind of greenish background
> - at X switch, it's as if the thinkpad was on acid (there's a picture on
>   the bug above and I shown it to Eric Anholt at FOSDEM)
> I tried your patch. Suspending from X, using the echo mem >
> /sys/power/state.
> It suspends fine, then at resume the console seems normal, but then it
> just hangs. No return to X and I can't do anything. Plugging an RJ-45
> doesn't seem to trigger anything so I guess it's really frozen.
> Sysreq+O tries to do something (I see the capslock+numlock leds blink
> onece) but it doesn't shut the thinkpad down.
> If you need some more info, please ask.
> (oh and btw this is with linux-2.6/master + drm-2.6/drm-fixe + your
> patch)

I think the kms resume path is missing some of the pre-KMS enter/leavevt code.  
Some of it is probably necessary to shut down rendering and save/restore 
state even in the KMS case.  Haven't had a chance to test that theory though 
(but there are two enter/leavevt paths for anyone curious to check, in the 
kernel's i915_gem.c and the 2D driver's i830_driver.c, just look for enter 
and leave vt).

Jesse Barnes, Intel Open Source Technology Center

More information about the Intel-gfx mailing list