N810 suspend
What are the chances of getting suspend (resume from) working on the N810? Are there any patches or branches around that I can test (I'm slowly learning how to use git)?
I'm running Debian on an N810. With the current state of power management in linux-omap, the N810 will only run (with LCD off) for about 12 hours on a charge.
Thanks.
Quoted 7 lines · green
What are the chances of getting suspend (resume from) working on the N810? Are there any patches or branches around that I can test (I'm slowly learning how to use git)?
I'm running Debian on an N810. With the current state of power management in linux-omap, the N810 will only run (with LCD off) for about 12 hours on a charge.
Well you need to make sure the serial clocks are not enabled. Kevin has some patches for that in his pm branch. So you'll most likely want to use his whole pm branch.
Also, you need to make sure you have sleep while idle enabled:
# echo 1 > /sys/power/sleep_while_idle
It used to work, but I have not tried for six months or so.
Regards,
Tony
Quoted 13 lines · Tony Lindgren
Quoted 7 lines · green
What are the chances of getting suspend (resume from) working on the N810? Are there any patches or branches around that I can test (I'm slowly learning how to use git)?
I'm running Debian on an N810. With the current state of power management in linux-omap, the N810 will only run (with LCD off) for about 12 hours on a charge.
Well you need to make sure the serial clocks are not enabled. Kevin has some patches for that in his pm branch. So you'll most likely want to use his whole pm branch.
Quoted 6 lines
Also, you need to make sure you have sleep while idle enabled:
# echo 1 > /sys/power/sleep_while_idleIt used to work, but I have not tried for six months or so.
Suspend/resume on n810 is currently broken in linux-omap. I submitted a patch a week or so ago to fix an assembly bug which was crashing the suspend, but it is still not resuming.
Most likely a simple fix needed to init the proper wakeup sources, but I haven't tested further.
Kevin
Quoted 10 lines · Kevin Hilman
Quoted 8 lines · Tony Lindgren
Quoted 3 lines · green
What are the chances of getting suspend (resume from) working on the N810? Are there any patches or branches around that I can test (I'm slowly learning how to use git)?
Well you need to make sure the serial clocks are not enabled. Kevin has some patches for that in his pm branch. So you'll most likely want to use his whole pm branch.
Quoted 6 lines
Suspend/resume on n810 is currently broken in linux-omap. I submitted a patch a week or so ago to fix an assembly bug which was crashing the suspend, but it is still not resuming.
Most likely a simple fix needed to init the proper wakeup sources, but I haven't tested further.
I'll be looking for any progress ;) and will test it when I can.
Quoted 9 lines · On Mon, 15 Dec 2008 16:51:16 -0700 "ext green" <[email protected]> wrote:
Quoted 6 lines
Suspend/resume on n810 is currently broken in linux-omap. I submitted a patch a week or so ago to fix an assembly bug which was crashing the suspend, but it is still not resuming.
Most likely a simple fix needed to init the proper wakeup sources, but I haven't tested further.
I'll be looking for any progress ;) and will test it when I can.
Hold your horses, suspend is not very useful on N8x0 due watchdog kick after ~30 seconds or so :-)
Of course, generally suspend should work on OMAP & device drivers even though if it's broken currently.
What you might be interested instead is to get sleep_while_idle working. Then the system is running but should consume just few milliamps.
Jarkko
Quoted 8 lines · On Mon, 15 Dec 2008 13:14:32 -0800 "ext Tony Lindgren" <[email protected]> wrote:
Quoted 3 lines
I'm running Debian on an N810. With the current state of power management in linux-omap, the N810 will only run (with LCD off) for about 12 hours on a charge.
Well you need to make sure the serial clocks are not enabled. Kevin has some patches for that in his pm branch. So you'll most likely want to use his whole pm branch.
Quoted 6 lines
Also, you need to make sure you have sleep while idle enabled:
# echo 1 > /sys/power/sleep_while_idleIt used to work, but I have not tried for six months or so.
How did you disable the LCD and FB clocks? Does xserver-xorg-video-fbdev from Debian (it works!) do necessary steps with omap fb driver or is xomap required?
Jarkko
Quoted 13 lines · Jarkko Nikula
Quoted 10 lines · On Mon, 15 Dec 2008 13:14:32 -0800 "ext Tony Lindgren" <[email protected]> wrote:
Quoted 3 lines
I'm running Debian on an N810. With the current state of power management in linux-omap, the N810 will only run (with LCD off) for about 12 hours on a charge.
Well you need to make sure the serial clocks are not enabled. Kevin has some patches for that in his pm branch. So you'll most likely want to use his whole pm branch.
Also, you need to make sure you have sleep while idle enabled:
Quoted 7 lines
Quoted 4 lines
# echo 1 > /sys/power/sleep_while_idleIt used to work, but I have not tried for six months or so.
How did you disable the LCD and FB clocks? Does xserver-xorg-video-fbdev from Debian (it works!) do necessary steps with omap fb driver or is xomap required?
Oh, I just tested that sleep-while-idle worked when fb was blanked. I had a script that forced the LCD off via /sys, sorry don't remember the path now. Will be also heading to catch a plane in few hours, may not be able to check it right now.
Regards,
Tony
Quoted 12 lines · Tony Lindgren
Quoted 11 lines · Jarkko Nikula
Quoted 10 lines · On Mon, 15 Dec 2008 13:14:32 -0800 "ext Tony Lindgren" <[email protected]> wrote:
Well you need to make sure the serial clocks are not enabled. Kevin has some patches for that in his pm branch. So you'll most likely want to use his whole pm branch.
Also, you need to make sure you have sleep while idle enabled:
# echo 1 > /sys/power/sleep_while_idleIt used to work, but I have not tried for six months or so.
Quoted 8 lines
Quoted 3 lines
How did you disable the LCD and FB clocks? Does xserver-xorg-video-fbdev from Debian (it works!) do necessary steps with omap fb driver or is xomap required?
Oh, I just tested that sleep-while-idle worked when fb was blanked. I had a script that forced the LCD off via /sys, sorry don't remember the path now. Will be also heading to catch a plane in few hours, may not be able to check it right now.
'echo 3 > /sys/class/graphics/fb0/blank' turns off the LCD, if that is what you mean.
Quoted 17 lines · green
Quoted 16 lines · Tony Lindgren
Quoted 14 lines · Jarkko Nikula
Quoted 10 lines · On Mon, 15 Dec 2008 13:14:32 -0800 "ext Tony Lindgren" <[email protected]> wrote:
Well you need to make sure the serial clocks are not enabled. Kevin has some patches for that in his pm branch. So you'll most likely want to use his whole pm branch.
Also, you need to make sure you have sleep while idle enabled:
# echo 1 > /sys/power/sleep_while_idleIt used to work, but I have not tried for six months or so.
How did you disable the LCD and FB clocks? Does xserver-xorg-video-fbdev from Debian (it works!) do necessary steps with omap fb driver or is xomap required?
Quoted 7 lines
Quoted 4 lines
Oh, I just tested that sleep-while-idle worked when fb was blanked. I had a script that forced the LCD off via /sys, sorry don't remember the path now. Will be also heading to catch a plane in few hours, may not be able to check it right now.
'echo 3 >
/sys/class/graphics/fb0/blank' turns off the LCD, if that is what you mean.
Thanks, that's what I did.
Tony
Quoted 10 lines · On Tue, 16 Dec 2008 09:22:38 -0800 "ext Tony Lindgren" <[email protected]> wrote:
Quoted 7 lines
Quoted 4 lines
Oh, I just tested that sleep-while-idle worked when fb was blanked. I had a script that forced the LCD off via /sys, sorry don't remember the path now. Will be also heading to catch a plane in few hours, may not be able to check it right now.
'echo 3 >
/sys/class/graphics/fb0/blank' turns off the LCD, if that is what you mean.Thanks, that's what I did.
And it worked with N800. Battery current dropped below 10 mA after unplugging the USB cable so OMAP was going into retention.
'echo 1 >/sys/power/clocks_off_while_idle' seems to not have any effect?
Jarkko
Quoted 8 lines · On Wed, 17 Dec 2008 14:09:11 +0200 "ext Jarkko Nikula"…
Quoted 5 lines · On Tue, 16 Dec 2008 09:22:38 -0800 "ext Tony Lindgren" <[email protected]> wrote:
Quoted 5 lines
Quoted 4 lines
Oh, I just tested that sleep-while-idle worked when fb was blanked. I had a script that forced the LCD off via /sys, sorry don't remember the path now. Will be also heading to catch a plane in few hours, may not be able to check it right now.
Quoted 8 lines
Quoted 5 lines
Quoted 2 lines
'echo 3 >
/sys/class/graphics/fb0/blank' turns off the LCD, if that is what you mean.Thanks, that's what I did.
And it worked with N800. Battery current dropped below 10 mA after unplugging the USB cable so OMAP was going into retention.
FYI:
xorg.conf's Option "SuspendTime" seems to equal to blanking command 3 (VESA_POWERDOWN). Look drivers/video/omap/omapfb_main.c: omapfb_blank.
Section "ServerFlags"
Option "BlankTime" "0"
Option "StandbyTime" "0"
Option "SuspendTime" "1"
Option "OffTime" "0"EndSection
I just tried this with xserver-xorg-video-fbdev from Debian/testing on N800 and it went perfectly into retention. N810 didn't went and think reason is that bootloader enables UART3 for the GPS chip.
Oh my, I always tought there is some magic between Xomap and omapfb how the fb clocks are shutdown but lazy me newer bothered to check it from kernel sources :-)
Jarkko
Quoted 16 lines · Jarkko Nikula
Quoted 13 lines · On Wed, 17 Dec 2008 14:09:11 +0200 "ext Jarkko Nikula"…
Quoted 10 lines · On Tue, 16 Dec 2008 09:22:38 -0800 "ext Tony Lindgren" <[email protected]> wrote:
Quoted 7 lines
Quoted 4 lines
Oh, I just tested that sleep-while-idle worked when fb was blanked. I had a script that forced the LCD off via /sys, sorry don't remember the path now. Will be also heading to catch a plane in few hours, may not be able to check it right now.
'echo 3 >
/sys/class/graphics/fb0/blank' turns off the LCD, if that is what you mean.Thanks, that's what I did.
Quoted 7 lines
Quoted 3 lines
And it worked with N800. Battery current dropped below 10 mA after unplugging the USB cable so OMAP was going into retention.
FYI:
xorg.conf's Option "SuspendTime" seems to equal to blanking command 3 (
VESA_POWERDOWN). Lookdrivers/video/omap/omapfb_main.c:omapfb_blank.
Yes, but it should be FB_BLANK_POWERDOWN (4), shouldn't it?
Signature · 1 line
Felipe Contreras
Quoted 5 lines · On Thu, 18 Dec 2008 14:51:20 +0200 "ext Felipe Contreras"…
Quoted 2 lines
xorg.conf's Option "SuspendTime" seems to equal to blanking command 3 (
VESA_POWERDOWN). Lookdrivers/video/omap/omapfb_main.c:omapfb_blank.Yes, but it should be
FB_BLANK_POWERDOWN(4), shouldn't it?
Good question, no idea, probably yes? Only omapfb_main.c, fs1100fb.c and au1100fb.c are using VESA_xxx and rest of the fb drivers FB_BLANK_xxx modes.
Jarkko
Quoted 4 lines · Jarkko Nikula
xorg.conf's Option "SuspendTime" seems to equal to blanking command 3 (
VESA_POWERDOWN). Lookdrivers/video/omap/omapfb_main.c:omapfb_blank.Section "ServerFlags"
Quoted 8 lines
Option "BlankTime" "0" Option "StandbyTime" "0" Option "SuspendTime" "1" Option "OffTime" "0"EndSection
I just tried this with xserver-xorg-video-fbdev from Debian/testing on N800 and it went perfectly into retention.
Cool.
Quoted 2 lines
N810 didn't went and think reason is that bootloader enables UART3 for the GPS chip.
I noticed this as well. Any hacks to workaround this? Or do I really need to start searching for N800? :)
Signature · 1 line
Kalle Valo
Quoted 15 lines · Kalle Valo
Quoted 4 lines · Jarkko Nikula
xorg.conf's Option "SuspendTime" seems to equal to blanking command 3 (
VESA_POWERDOWN). Lookdrivers/video/omap/omapfb_main.c:omapfb_blank.Section "ServerFlags"
Quoted 8 lines
Option "BlankTime" "0" Option "StandbyTime" "0" Option "SuspendTime" "1" Option "OffTime" "0"EndSection
I just tried this with xserver-xorg-video-fbdev from Debian/testing on N800 and it went perfectly into retention.
Quoted 7 lines
Cool.
Quoted 2 lines
N810 didn't went and think reason is that bootloader enables UART3 for the GPS chip.
I noticed this as well. Any hacks to workaround this? Or do I really need to start searching for N800? :)
hey Kevin,
did your serial port idle code ever work out? I wonder if that would work for the N810s...
- Paul
Quoted 10 lines · ext Paul Walmsley
Quoted 5 lines
Quoted 2 lines
N810 didn't went and think reason is that bootloader enables UART3 for the GPS chip.
I noticed this as well. Any hacks to workaround this? Or do I really need to start searching for N800? :)
hey Kevin,
did your serial port idle code ever work out? I wonder if that would work for the N810s...
Any patches anywhere? I would gladly test something.
Signature · 1 line
Kalle Valo
Quoted 8 lines · Kalle Valo
Quoted 6 lines · ext Paul Walmsley
Quoted 5 lines
Quoted 2 lines
N810 didn't went and think reason is that bootloader enables UART3 for the GPS chip.
I noticed this as well. Any hacks to workaround this? Or do I really need to start searching for N800? :)
Quoted 7 lines
Quoted 4 lines
hey Kevin,
did your serial port idle code ever work out? I wonder if that would work for the N810s...
Any patches anywhere? I would gladly test something.
The PM branch[1] has a set of UART patches which disable UART clocks in the idle loop. The clocks are disabled after an inactivity timer (default 5 seconds of idle.)
I've tested the UART idle parts on n810 which seem to work, but hitting retention on n810 seems broken in current linux-omap. Tony merged a patch[2] from me last week which was crashing going into retention, but even with that I'm not able to wakeup from retention.
This could be something as simple as the wakeup event sources are not configured correctly for n810, but I did not debug further.
Kevin
[1] Branch 'pm' in linux-omap tree
[1] http://marc.info/?l=linux-omap&m=122855013200342&w=2