| #!/bin/bash |
| |
| cpubase=/sys/devices/system/cpu |
| gov=cpufreq/scaling_governor |
| |
| adb root |
| adb wait-for-device |
| thermal=$(adb shell "getprop persist.service.thermal") |
| echo "thermal status: $thermal" |
| if [ $thermal -eq 1 ] |
| then |
| echo "Trying to setprop persist.service.thermal 0 and reboot" |
| adb shell "setprop persist.service.thermal 0" |
| adb reboot |
| adb wait-for-device |
| thermal=$(adb shell "getprop persist.service.thermal") |
| if [ $thermal -eq 1 ] |
| then |
| echo "thermal property is still 1. Abort." |
| exit -1 |
| fi |
| echo "Successfully setup persist.service.thermal to 0" |
| fi |
| |
| adb shell stop perfprod |
| |
| # cores |
| # 1833000 1750000 1666000 1583000 1500000 1416000 1333000 1250000 |
| # 1166000 1083000 1000000 916000 833000 750000 666000 583000 500000 |
| |
| cpu=0 |
| S=1166000 |
| while [ $((cpu < 3)) -eq 1 ]; do |
| echo "Setting cpu ${cpu} & $(($cpu + 1)) cluster to $S hz" |
| # cpu0/online doesn't exist, because you can't turned it off, so ignore results of this command |
| adb shell "echo 1 > $cpubase/cpu${cpu}/online" &> /dev/null |
| adb shell "echo userspace > $cpubase/cpu${cpu}/$gov" |
| adb shell "echo $S > $cpubase/cpu${cpu}/cpufreq/scaling_max_freq" |
| adb shell "echo $S > $cpubase/cpu${cpu}/cpufreq/scaling_min_freq" |
| adb shell "echo $S > $cpubase/cpu${cpu}/cpufreq/scaling_setspeed" |
| cpu=$(($cpu + 2)) |
| done |
| |
| #/sys/class/devfreq/dfrgx/available_frequencies is empty, so set to min |
| echo "performance mode, 457 MHz" |
| adb shell "echo performance > /sys/class/devfreq/dfrgx/governor" |
| adb shell "echo 457000 > /sys/class/devfreq/dfrgx/min_freq" |
| adb shell "echo 457000 > /sys/class/devfreq/dfrgx/max_freq" |