#!/system/bin/sh # # Copyright (C) 2020 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # performance test setup for 2020 devices function disable_thermal() { thermal_path='/sys/devices/virtual/thermal/' nz=$(ls -al $thermal_path | grep thermal_zone | wc -l) i=0 while [ $i -lt $nz ]; do tz_path=$thermal_path'thermal_zone'$i'/' mode_path=$tz_path'mode' if [ -f $mode_path ]; then echo disabled > $tz_path'mode' fi i=$(($i + 1)); done } disable_thermal setprop vendor.powerhal.init 0 setprop ctl.restart vendor.power-hal-aidl cpubase=/sys/devices/system/cpu gov=cpufreq/scaling_governor cpu=6 top=8 #Big Core 652800 940800 1152000 1478400 1728000 1900800 2092800 2208000 #Big Plus 806400 1094400 1401600 1766400 1996800 2188800 2304000 2400000 cpufreq=2092800 # Set the bigcores around 2G while [ $((cpu < $top)) -eq 1 ]; do echo 1 > $cpubase/cpu${cpu}/online echo userspace > $cpubase/cpu${cpu}/$gov echo $cpufreq > /sys/devices/system/cpu/cpu$cpu/cpufreq/scaling_max_freq echo $cpufreq > /sys/devices/system/cpu/cpu$cpu/cpufreq/scaling_setspeed S=`cat $cpubase/cpu${cpu}/cpufreq/scaling_cur_freq` echo "set cpu $cpu to $S kHz" cpu=$(($cpu + 1)) done cpu=0 top=6 # Disable the silver cores. while [ $((cpu < $top)) -eq 1 ]; do echo "disable cpu $cpu" echo 0 > $cpubase/cpu${cpu}/online cpu=$(($cpu + 1)) done echo "disable GPU bus split" echo 0 > /sys/class/kgsl/kgsl-3d0/bus_split echo "enable GPU force clock on" echo 1 > /sys/class/kgsl/kgsl-3d0/force_clk_on echo "set GPU idle timer to 10000" echo 10000 > /sys/class/kgsl/kgsl-3d0/idle_timer # 0 381 572 762 1144 1571 2086 2597 2929 3879 4943 5931 6881 echo performance > /sys/class/devfreq/soc:qcom,gpubw/governor echo -n "set GPU bus frequency to max at " cat /sys/class/devfreq/soc:qcom,gpubw/cur_freq #625 500 400 275 mhz echo performance > /sys/class/kgsl/kgsl-3d0/devfreq/governor echo 0 > /sys/class/kgsl/kgsl-3d0/max_pwrlevel echo 0 > /sys/class/kgsl/kgsl-3d0/min_pwrlevel echo -n "set GPU frequency to max at " cat /sys/class/kgsl/kgsl-3d0/devfreq/cur_freq