Welcome to XDA

Search to go directly to your device's forum

Register an account

Unlock full posting privileges

Ask a question

No registration required
Post Reply

Performance modes?

OP sbdags

24th January 2014, 09:09 AM   |  #1  
sbdags's Avatar
OP Recognized Contributor
Flag Kenilworth, Coventry
Thanks Meter: 13,220
 
11,662 posts
Join Date:Joined: Jun 2007
Donate to Me
More
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
24th January 2014, 06:31 PM   |  #2  
sbdags's Avatar
OP Recognized Contributor
Flag Kenilworth, Coventry
Thanks Meter: 13,220
 
11,662 posts
Join Date:Joined: Jun 2007
Donate to Me
More
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
Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes