Resume from suspend-to-ram

From: Giridhar Pemmasani
Date: Fri Feb 20 2004 - 15:44:47 EST


I have Dell Latitude D600 laptop with Radeon R250 Lf (Mobility 9000
M9) video card. I have been trying to get suspend-to-ram work with
this laptop since 2.5.70 or so. The problem almost always was that if
frame buffer (I have tried radeon and vesa) is used, resume won't
finish - it would hang right after pressing power button and if plain
console is used resume works fine, but the LCD stays off.

Since new radeonfb has suspend/resume driver model, I thought I might
give it a try, but still the laptop would hang during resume. With a
bit of trial and error (and some guess work), I got the laptop to
resume successfully with the following patch.

--- radeon_pm.c.orig 2004-02-20 15:11:18.000000000 -0500
+++ radeon_pm.c 2004-02-20 15:12:23.000000000 -0500
@@ -907,11 +907,13 @@

/* Restore display & engine */
radeonfb_set_par(info);
- fb_pan_display(info, &info->var);
- fb_set_cmap(&info->cmap, 1, info);
+ /* fb_pan_display(info, &info->var);
+ * fb_set_cmap(&info->cmap, 1, info);
+ */

/* Refresh */
- fb_set_suspend(info, 0);
+ /* fb_set_suspend(info, 0);
+ */

/* Unblank */
rinfo->lock_blank = 0;


Right now after resume, console still remains blank, but X restores
the screen properly. Note that since frame buffer is not restored
properly, the console is pretty much useless, but it is not a problem
for me as I use X all the time.

I have used this patch with kernel 2.6.3-mm2. I haven't tried 2.6.3,
but I think it may work with 2.6.3 too.

I am also attaching config.bz2 and /etc/acpi/sleep (the script used to
suspend the laptop).

I am not subscribed to LKML, so please CC me.

Attachment: config.bz2
Description: BZip2 compressed data

Attachment: sleep
Description: application/shellscript