Need help for bug #3022 (Radeon D2 suspend)

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Need help for bug #3022 (Radeon D2 suspend)

Thomas de Grenier de Latour
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.
--
The linux-thinkpad mailing list home page is at:
http://mailman.linux-thinkpad.org/mailman/listinfo/linux-thinkpad
Reply | Threaded
Open this post in threaded view
|

Re: Need help for bug #3022 (Radeon D2 suspend)

graziano-4
I tried the patch on my T41 Debian unstable machine and it works
perfectly. I do have a radeon M9 in it. The patch correctly recognize my
T41.

graziano




On Mon, Dec 05, 2005 at 03:43:04PM +0100, Thomas de Grenier de Latour wrote:

> 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.
> --
> The linux-thinkpad mailing list home page is at:
> http://mailman.linux-thinkpad.org/mailman/listinfo/linux-thinkpad
>

--
+-----------------------+--------------------------+
| Graziano Obertelli    | CS Dept. Rm 102          |
| [hidden email]  | University of California |
| (805) 893-5212        | Santa Barbara, CA 93106  |
+-----------------------+--------------------------+
--
The linux-thinkpad mailing list home page is at:
http://mailman.linux-thinkpad.org/mailman/listinfo/linux-thinkpad