Turning The Screen Off


urjaman said:
I have to note here (and doublepost so people notice...): 137 mA with LCD off (this patch), backlight off, bluetooth off, (wifi always off for me), 50Mhz@OPP1 (I have a hacky hack that changes the voltage too when you set Mhz in personal testing atm). For comparison the same test, but LCD on is 176 mA, so yeah some 39mA won by turning off the LCD :) It should have about 30 hours of standby time now, Though some of that is propably due to OPP1. 50Mhz@OPP1 137mA, 250Mhz(OPP2) 173mA. 251Mhz(OPP3) 184 mA, 252Mhz(OPP3) 184 mA... (just to show the effect of voltage change) 500Mhz(OPP3) is some 225mA...
I would like to see these Power-Saving features in the official Firmware, so a hacking-noob like me don't have to dig through the entire Pandora OS to get this working. :D
Turning LCD light off is good, but also turning off the LCD itself is better. ^^
 
Last edited by a moderator:
fusion_power said:
I would like to see these Power-Saving features in the official Firmware, so a hacking-noob like me don't have to dig through the entire Pandora OS to get this working. :D
Turning LCD light off is good, but also turning off the LCD itself is better. ^^
Turning off the LCD when closing the LID is a simple patch (FS#151) that you can do manually if you want to. My voltage manipulation patch is a hack to a hacky driver (IMHO), was done just to see if OPP1 really does cut the power usage / if a simple/direct setting of voltage will work (i was just curious and hacked it together in <1h so...). Then i realized I had coded it so that it uses also higher voltages (upto OPP5,1.37V IIRC) when going faster and yeah I had to test how fast mine goes. I'll propably clean it up a bit and post a patch so people can test, but I personally dont like hard coding SoC specific stuff in a device specific driver ("pandora.c", it would work on any OMAP3530 (atleast i think so), but whatever...), nor working on the old 2.6.27 tree when we should be switching to 2.6.35...
 
Last edited by a moderator:
Since this seems to be the low power thread, I got powertop compiled, and with the standard kernel it is quoting 910 wake-ups from idle per sec, 33% due to [gp timer], and suggests CONFIG_NO_HZ (but it also throws out a bunch of other random hints, so I think it's guessing)
 
tsh said:
Since this seems to be the low power thread, I got powertop compiled, and with the standard kernel it is quoting 910 wake-ups from idle per sec, 33% due to [gp timer], and suggests CONFIG_NO_HZ (but it also throws out a bunch of other random hints, so I think it's guessing)
Well the standard kernel doesnt have CONFIG_NO_HZ, so that can be an issue, but OTOH I dont know if the kernel works in tickless mode, and IIRC tickless/CONFIG_NO_HZ means essentially that the kernel will essentially set a timer to wake it up many ticks from now (to the moment when next of its longer period timers expire, or if next timer hit is too long time from now, to some maximum timer value, or something), and I dont know if there's code to do this with the OMAP now, but... dunno, also it might just work.

EDIT: We're not (yet) talking about that 100hour mp3 playback, but i believe its possible. There's a lot of stuff left in the SoC to disable when not needed. I'm thinking that the DSS could/should be disabled (so that it doesnt scan memory) when you close the lid (and the TV out is off too), also the OMAP3530 VDD2 (used by the interconnects and buses etc on the SoC) is not yet lowered from OPP3 to OPP1 (when possible), etc...

Also the plan for the 100hour mp3 playback listed to put the SDRAM into slow refresh and effectively stop the ARM (like in suspend-to-ram) and use the DSP's onboard SRAM to decode (and play) a piece of mp3 at a time, waking up the ARM & SDRAM relative rarely to copy data from SDRAM to SRAM (and occasionally from NAND/SD to SDRAM).
 
Last edited by a moderator:
urjaman said:
tsh said:
Since this seems to be the low power thread, I got powertop compiled, and with the standard kernel it is quoting 910 wake-ups from idle per sec, 33% due to [gp timer], and suggests CONFIG_NO_HZ (but it also throws out a bunch of other random hints, so I think it's guessing)
Well the standard kernel doesnt have CONFIG_NO_HZ, so that can be an issue, but OTOH I dont know if the kernel works in tickless mode, and IIRC tickless/CONFIG_NO_HZ means essentially that the kernel will essentially set a timer to wake it up many ticks from now (to the moment when next of its longer period timers expire, or if next timer hit is too long time from now, to some maximum timer value, or something), and I dont know if there's code to do this with the OMAP now, but... dunno, also it might just work.

Until recently, timer-tick was a periodic event causing CPU to use power - even when the system is idle. The 'tickless kernel' has enabled systems to stay in low power mode for much longer - enabling better power savings.
http://processors.wiki.ti.com/index.php/Running_PowerTOP_on_OMAP35x_platform
Doesn't say which 'recently'.
I tried [*] Collect kernel timers statistics
and built my kernel native, from the OP git, but it now seems to crash whilst loading xfce.
 
Last edited by a moderator:
tsh said:
I tried [*] Collect kernel timers statistics
and built my kernel native, from the OP git, but it now seems to crash whilst loading xfce.
Did you include the patches http://git.openpandora.org/cgi-bin/gitweb.cgi?p=openpandora.oe.git;a=blob;f=recipes/linux/omap3-pandora-kernel_2.6.27-pandora.bb;h=eca051708a2fd1bb2a6e4ee9fe545d5514b22f75;hb=HEAD <- listed there (and base your configuration on that defconfig)?
 
Last edited by a moderator:
MWeston said:
If someone seriously wants to try to implement the screen power down correctly, you should send me a PM. There are SPI commands that should be issued
isn't that what the wiki is for?
 
Last edited by a moderator:
chris_c said:
isn't that what the wiki is for?
Thats what the code is for. That I linked to. Wont again. I have an invisible feeling. Okay some official documentation of the panels registers would be nice...
 
Last edited by a moderator:
Yeah LCD powerdown should be implemented properly, except maybe the part where it's supposed to be clearing the framebuffer before all this (that's not in panel driver's control).
 
urjaman said:
chris_c said:
isn't that what the wiki is for?
Thats what the code is for. That I linked to. Wont again. I have an invisible feeling. Okay some official documentation of the panels registers would be nice...
The wiki isn't really the place to be discussing kernel driver development. There is already a list of tasks which touch on this area, but it seems a bad idea to be encouraging people to trial and error change configuration things. (in this space, it is certainly possible to damage the hardware beyond repair). Now, I don't know my way around the kernel tree (and I guess MWeston doesn't either) but I can read the code once I know which files are relevant. Problem is, I don't know how the power management is structured, just that some things expect ACPI, and there is some emulation.
Regarding the panel registers, sadly it isn't always public (don't know in this case) - particularly if there are errata and work-arounds.
 
Last edited by a moderator:
It seems that it may be handy to have a configurable option in the OS on how to deal with a closed lid. It could be a power management mode of sorts. Some people may opt to retain full CPU capacity, others may want to just disable Bluetooth, and others yet may want their Pandora to go into a minimally powered mode. Is this (configurable option) something that could be included into a Hotfix?

In any case, a fully and properly powered off/blank screen mode should exist without the need for a hack option.
 
It's can be configured at the moment if you're good at editing bash scripting. It's likely that somebody will eventually make a GUI based configuration tool, but it might take a while.

I might give it a go myself, but I've said that about loads of things :p
 
it is easy enough to make a pnd which modifies these scripts based on a user dialogue. To date, the power management is pretty limited so I don't see much point in offering this level of customisation yet. Best to focus on tweaking the underlying controls first :)
 
I'd love to be able to slide my power switch to the left to turn off the screen with it open, while still playing music. Does doing that even do anything right now?
 
Back
Top