[ltp] Need help for bug #3022 (Radeon D2 suspend)

Thomas de Grenier de Latour linux-thinkpad@linux-thinkpad.org
Mon, 5 Dec 2005 15:43:04 +0100


Hi list,

I would need some feedback to improve the whitelisting mechanism of
the "suspend Radeon to D2 state" patch which is on bug #3022 (you
know, this patch which makes radeon stop sucking your battery when
laptop is suspended to ram):
http://bugzilla.kernel.org/show_bug.cgi?id=3022

Some previous patches were using a whitelist of exact product
codes to identify known-to-work laptops, but this aproach will
never end (there are really thousands of models which should work).

So i have modified this patches (last attachment to the bug report,
called "radeonfb_d2_suspend-20051205.patch") to use a more
permissive whithelist, more like what is done in the hwdaps driver
or in the smapi driver that was announced here today. The idea is to
match models on their model name instead (like "ThinkPad T40"),
because it's unlikely that some T40 work whereas others don't. 

Current status of this patch and where help is needed:

 - models we know can suspend to D2 and are correctly identified by
the DMI check: R50, R51, T40p, T40, T41p, T41 and T42. Hopefully,
the R40 also falls in this category (it's DMI matching should be
fixed now).  For this ones, i would not be against a confirmation
that everything is fine, but i'm already confident.

 - models we know can suspend to D2, but for which i don't know
whether the DMI matching works: T30, R32, X31. For this ones, a
`dmidecode -s system-version` would help (or, again, a test of the
patch would be even better). 

 - models which may be able to suspend to D2, but never got any
confirmation: R50p, R50e, R51e, and probably other models that i
don't know which use Radeon Mobility too. This ones are not
whitelisted. What would be very nice would be that you test the
patch with the "force_sleep" option (on your kernel boot option,
"video=radeonfb:your_other_options,force_sleep"), and report about
the suspend behavior (a test script for the power consumption is
available in the bug report IIRC). And if it works, the output of 
`dmidecode -s system-version` would be appreciated too, so that i
can add the model to the whitelist.

 - T42p is the only model which so far got a negative report, and
no positive one. Would be nice if one could test it again like the
previous models, just to be sure.


Also note that, when testing, an useful command to known what
happens is: dmesg | grep radeonfb

Output (after a suspend/resume cycle) on a successful model is as
follow:

Kernel command line: root=/dev/hda3 resume2=file:/dev/hda3:0x6002
noresume2 video=radeonfb:accel,mtrr,1024x768-32@60
splash=silent,fadein,theme:gentoo elevator=cfq acpi=noirq
console=tty1 quiet 
radeonfb: Retreived PLL infos from BIOS
radeonfb: Reference=27.00 MHz (RefDiv=12) Memory=260.00 Mhz,
System=183.00 MHz 
radeonfb: PLL min 12000 max 35000
radeonfb: Monitor 1 type LCD found
radeonfb: Monitor 2 type no found
radeonfb: panel ID string: 1024x768
radeonfb: detected LVDS panel size from BIOS: 1024x768
radeonfb: Dynamic Clock Power Management enabled
radeonfb: IBM ThinkPad T40 detected, enabling D2 sleep
radeonfb (0000:01:00.0): ATI Radeon LW
radeonfb (0000:01:00.0): suspending to state: 2...
radeonfb (0000:01:00.0): switching to D2 state...
radeonfb (0000:01:00.0): resuming from state: 2...
radeonfb (0000:01:00.0): switching to D0 state...

Note the "T40 detected" and "switching to D2 state...", whereas on
an unsupported system (here faked by the "nosleep" option), it
whould more be something like this:

Kernel command line: root=/dev/hda3 resume2=file:/dev/hda3:0x6002
noresume2 video=radeonfb:accel,mtrr,1024x768-32@60,nosleep
splash=silent,fadein,theme:gentoo elevator=cfq acpi=noirq
console=tty1 quiet 
radeonfb: Retreived PLL infos from BIOS
radeonfb: Reference=27.00 MHz (RefDiv=12) Memory=260.00 Mhz,
System=183.00 MHz 
radeonfb: PLL min 12000 max 35000
radeonfb: Monitor 1 type LCD found
radeonfb: Monitor 2 type no found
radeonfb: panel ID string: 1024x768
radeonfb: detected LVDS panel size from BIOS: 1024x768
radeonfb: Dynamic Clock Power Management enabled
radeonfb (0000:01:00.0): ATI Radeon LW
radeonfb (0000:01:00.0): suspending to state: 2...
radeonfb (0000:01:00.0): resuming from state: 2...



Thanks in advance for your feedback,

-- 
TGL.