Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,768,845 Members 50,785 Now Online
XDA Developers Android and Mobile Development Forum

Performance modes?

Tip us?
 
sbdags
Old
#1  
sbdags's Avatar
Recognized Contributor - OP
Thanks Meter 12593
Posts: 11,102
Join Date: Jun 2007
Location: Kenilworth, Coventry

 
DONATE TO ME
Question Performance modes?

Right bit of a dev question - but I want to understand this further. On previous transformers the user could manually choose one of three performance modes - power saving, balanced or normal. THere were also two hidden modes that never got used. These were controlled by the cpu1.sh, cpu2.sh, cpu3.sh, cpu4.sh and cpu5.sh files.

On the TF700T this is done somewhat differently. It seems the system determines what performance is required on behalf of the user depending upon what they are doing.

Is there anyway of controlling this manually or does anyone know what triggers the selection?

They are:
power saving
normal
balanced
videoplay
web browsing
ASUS Transformer TF700T/TF201/TF300T(GL)/ME301T
[ROM] CROMBi-kk TF700T Infinity
[ROM] CROMBi-kk TF300T | TF201T | ME301T
[ROM] CROMi-X TF700T Infinity
[ROM] mini-C TF700T Infinity
[ROM] CROMi-X TF300T(GL) | TF201T Prime | ME301T Smart Pad 10


ASUS Transformer TF701T
[ROM] CROMi-X TF701T
[ROM] CROMBi-kk TF701


Google Nexus 5
Rocking Stock!


Please Donate Here to support CROMi-X / CROMBi-kk Development
 
sbdags
Old
#2  
sbdags's Avatar
Recognized Contributor - OP
Thanks Meter 12593
Posts: 11,102
Join Date: Jun 2007
Location: Kenilworth, Coventry

 
DONATE TO ME
The files are made up like this:

pwr-saving.sh
Code:
#!/bin/sh -x
#This is pwr-saving mode!
echo 1 > /sys/module/cpu_tegra/parameters/system_mode
echo 1 > /sys/class/graphics/fb0/device/smartdimmer/enable
echo 25 > /sys/class/graphics/fb0/device/smartdimmer/aggressiveness
am broadcast -a asus.splendid.powersaver.intent.action.CHANGE_MODE --ei asus.splendid.powersaver.intent.extra.CHANGE_MODE 25
pwr-balance.sh
Code:
#!/bin/sh -x
#This is pwr-balance mode!
echo 1 > /sys/module/cpu_tegra/parameters/system_mode
echo 1 > /sys/class/graphics/fb0/device/smartdimmer/enable
echo 25 > /sys/class/graphics/fb0/device/smartdimmer/aggressiveness
am broadcast -a asus.splendid.powersaver.intent.action.CHANGE_MODE --ei asus.splendid.powersaver.intent.extra.CHANGE_MODE 25
pwr-normal.sh
Code:
#!/bin/sh -x
#This is pwr-normal mode!
echo 0 > /sys/module/cpu_tegra/parameters/system_mode
echo 0 > /sys/class/graphics/fb0/device/smartdimmer/enable
am broadcast -a asus.splendid.powersaver.intent.action.CHANGE_MODE --ei asus.splendid.powersaver.intent.extra.CHANGE_MODE 0
pwr-videoplay.sh
Code:
#!/bin/sh -x
#This is pwr-videoplay mode!
echo 1 > /sys/module/cpu_tegra/parameters/system_mode
echo 1 > /sys/class/graphics/fb0/device/smartdimmer/enable
echo 29 > /sys/class/graphics/fb0/device/smartdimmer/aggressiveness
am broadcast -a asus.splendid.powersaver.intent.action.CHANGE_MODE --ei asus.splendid.powersaver.intent.extra.CHANGE_MODE 29
pwr-web_browsing.sh
Code:
#!/bin/sh -x
#This is pwr-web_browsing mode!
echo 1 > /sys/module/cpu_tegra/parameters/system_mode
echo 1 > /sys/class/graphics/fb0/device/smartdimmer/enable
echo 25 > /sys/class/graphics/fb0/device/smartdimmer/aggressiveness
am broadcast -a asus.splendid.powersaver.intent.action.CHANGE_MODE --ei asus.splendid.powersaver.intent.extra.CHANGE_MODE 25
So I can see how to disable smartdimmer. Easy enough Agressiveness to 0 presumably to turn that off just in case.

But what would call these? I.e., how does the system know which is required. I'll have a look through the kernel to see if there is anything obvious. Anyone seen any documentation from nvidia on this? There is one final file called power.macallan.rc which also looks very interesting:

Code:
# FORMAT:
#  panelresolution=[xres]X[yres], such as panelresolution=1280X720
#  powernode1 normal balanced maxbatterylife
#  powernode2 normal balanced maxbatterylife
#  ......
#  powernoden normal balanced maxbatterylife
#  panelresolution=[xres]X[yres], such as panelresolution=1920X1080
#  powernode1 normal balanced maxbatterylife
#  powernode2 normal balanced maxbatterylife
#  ......
#  powernoden normal balanced maxbatterylife
#  ......
#  ......
#  panelresolution=[xres]X[yres], such as panelresolution=1920X1200
#  powernode1 normal balanced maxbatterylife
#  powernode2 normal balanced maxbatterylife
#  ......
#  powernoden normal balanced maxbatterylife
#
# NOTES:
#  The panelresolution is the lcd panel resolution.
#  No space should exist in panelresolution=[xres]X[yres].
#  panelresolution=720X1280 equals with panelresolution=1280X720.
#  For panelresolution=-1X-1, it should be the last set of power settings in this file.
#  When your panel resolution is found in this file,
#  it will use the set of power settings followed by your panel resolution.
#  When your panel resolution is not found in this file, it will use the default power settings.
#  The power settings followed by panelresolution=-1X-1 is the default power settings.
#  powernode is the sysfs or variable we need to write and it is followed by three ints.
#  normal, balanced, maxbatterylife are the three ints for different power modes.
#
panelresolution=1920X1200
NV_FPSLIMIT 0 30 30
NV_MAX_CORES 0 0 2
/sys/module/cpu_tegra/parameters/cpu_user_cap 0 900000 900000
/sys/class/graphics/fb0/device/smartdimmer/aggressiveness 29 29 29
/sys/class/graphics/fb0/device/smartdimmer/enable 1 1 1
panelresolution=2560X1600
NV_FPSLIMIT 0 30 30
NV_MAX_CORES 0 0 2
/sys/module/cpu_tegra/parameters/cpu_user_cap 0 1000000 1000000
/sys/class/graphics/fb0/device/smartdimmer/aggressiveness 29 29 29
/sys/class/graphics/fb0/device/smartdimmer/enable 1 1 1
panelresolution=-1X-1
NV_FPSLIMIT 0 30 30
NV_MAX_CORES 0 0 2
/sys/module/cpu_tegra/parameters/cpu_user_cap 0 1000000 1000000
/sys/class/graphics/fb0/device/smartdimmer/aggressiveness 29 29 29
/sys/class/graphics/fb0/device/smartdimmer/enable 1 1 1
ASUS Transformer TF700T/TF201/TF300T(GL)/ME301T
[ROM] CROMBi-kk TF700T Infinity
[ROM] CROMBi-kk TF300T | TF201T | ME301T
[ROM] CROMi-X TF700T Infinity
[ROM] mini-C TF700T Infinity
[ROM] CROMi-X TF300T(GL) | TF201T Prime | ME301T Smart Pad 10


ASUS Transformer TF701T
[ROM] CROMi-X TF701T
[ROM] CROMBi-kk TF701


Google Nexus 5
Rocking Stock!


Please Donate Here to support CROMi-X / CROMBi-kk Development
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes