1*dd0948b3SAndroid Build Coastguard Worker#!/system/bin/sh 2*dd0948b3SAndroid Build Coastguard Worker# 3*dd0948b3SAndroid Build Coastguard Worker# Copyright (C) 2020 The Android Open Source Project 4*dd0948b3SAndroid Build Coastguard Worker# 5*dd0948b3SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); 6*dd0948b3SAndroid Build Coastguard Worker# you may not use this file except in compliance with the License. 7*dd0948b3SAndroid Build Coastguard Worker# You may obtain a copy of the License at 8*dd0948b3SAndroid Build Coastguard Worker# 9*dd0948b3SAndroid Build Coastguard Worker# http://www.apache.org/licenses/LICENSE-2.0 10*dd0948b3SAndroid Build Coastguard Worker# 11*dd0948b3SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 12*dd0948b3SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, 13*dd0948b3SAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14*dd0948b3SAndroid Build Coastguard Worker# See the License for the specific language governing permissions and 15*dd0948b3SAndroid Build Coastguard Worker# limitations under the License. 16*dd0948b3SAndroid Build Coastguard Worker 17*dd0948b3SAndroid Build Coastguard Worker# performance test setup for 2020 devices 18*dd0948b3SAndroid Build Coastguard Workerfunction disable_thermal() 19*dd0948b3SAndroid Build Coastguard Worker{ 20*dd0948b3SAndroid Build Coastguard Worker thermal_path='/sys/devices/virtual/thermal/' 21*dd0948b3SAndroid Build Coastguard Worker 22*dd0948b3SAndroid Build Coastguard Worker nz=$(ls -al $thermal_path | grep thermal_zone | wc -l) 23*dd0948b3SAndroid Build Coastguard Worker i=0 24*dd0948b3SAndroid Build Coastguard Worker while [ $i -lt $nz ]; do 25*dd0948b3SAndroid Build Coastguard Worker tz_path=$thermal_path'thermal_zone'$i'/' 26*dd0948b3SAndroid Build Coastguard Worker mode_path=$tz_path'mode' 27*dd0948b3SAndroid Build Coastguard Worker 28*dd0948b3SAndroid Build Coastguard Worker if [ -f $mode_path ]; then 29*dd0948b3SAndroid Build Coastguard Worker echo disabled > $tz_path'mode' 30*dd0948b3SAndroid Build Coastguard Worker fi 31*dd0948b3SAndroid Build Coastguard Worker i=$(($i + 1)); 32*dd0948b3SAndroid Build Coastguard Worker done 33*dd0948b3SAndroid Build Coastguard Worker} 34*dd0948b3SAndroid Build Coastguard Worker 35*dd0948b3SAndroid Build Coastguard Workerdisable_thermal 36*dd0948b3SAndroid Build Coastguard Workersetprop vendor.powerhal.init 0 37*dd0948b3SAndroid Build Coastguard Workersetprop ctl.restart vendor.power-hal-aidl 38*dd0948b3SAndroid Build Coastguard Worker 39*dd0948b3SAndroid Build Coastguard Workercpubase=/sys/devices/system/cpu 40*dd0948b3SAndroid Build Coastguard Workergov=cpufreq/scaling_governor 41*dd0948b3SAndroid Build Coastguard Worker 42*dd0948b3SAndroid Build Coastguard Workercpu=6 43*dd0948b3SAndroid Build Coastguard Workertop=8 44*dd0948b3SAndroid Build Coastguard Worker#Big Core 652800 940800 1152000 1478400 1728000 1900800 2092800 2208000 45*dd0948b3SAndroid Build Coastguard Worker#Big Plus 806400 1094400 1401600 1766400 1996800 2188800 2304000 2400000 46*dd0948b3SAndroid Build Coastguard Workercpufreq=2092800 47*dd0948b3SAndroid Build Coastguard Worker# Set the bigcores around 2G 48*dd0948b3SAndroid Build Coastguard Workerwhile [ $((cpu < $top)) -eq 1 ]; do 49*dd0948b3SAndroid Build Coastguard Worker echo 1 > $cpubase/cpu${cpu}/online 50*dd0948b3SAndroid Build Coastguard Worker echo userspace > $cpubase/cpu${cpu}/$gov 51*dd0948b3SAndroid Build Coastguard Worker echo $cpufreq > /sys/devices/system/cpu/cpu$cpu/cpufreq/scaling_max_freq 52*dd0948b3SAndroid Build Coastguard Worker echo $cpufreq > /sys/devices/system/cpu/cpu$cpu/cpufreq/scaling_setspeed 53*dd0948b3SAndroid Build Coastguard Worker S=`cat $cpubase/cpu${cpu}/cpufreq/scaling_cur_freq` 54*dd0948b3SAndroid Build Coastguard Worker echo "set cpu $cpu to $S kHz" 55*dd0948b3SAndroid Build Coastguard Worker cpu=$(($cpu + 1)) 56*dd0948b3SAndroid Build Coastguard Workerdone 57*dd0948b3SAndroid Build Coastguard Worker 58*dd0948b3SAndroid Build Coastguard Workercpu=0 59*dd0948b3SAndroid Build Coastguard Workertop=6 60*dd0948b3SAndroid Build Coastguard Worker# Disable the silver cores. 61*dd0948b3SAndroid Build Coastguard Workerwhile [ $((cpu < $top)) -eq 1 ]; do 62*dd0948b3SAndroid Build Coastguard Worker echo "disable cpu $cpu" 63*dd0948b3SAndroid Build Coastguard Worker echo 0 > $cpubase/cpu${cpu}/online 64*dd0948b3SAndroid Build Coastguard Worker cpu=$(($cpu + 1)) 65*dd0948b3SAndroid Build Coastguard Workerdone 66*dd0948b3SAndroid Build Coastguard Worker 67*dd0948b3SAndroid Build Coastguard Workerecho "disable GPU bus split" 68*dd0948b3SAndroid Build Coastguard Workerecho 0 > /sys/class/kgsl/kgsl-3d0/bus_split 69*dd0948b3SAndroid Build Coastguard Workerecho "enable GPU force clock on" 70*dd0948b3SAndroid Build Coastguard Workerecho 1 > /sys/class/kgsl/kgsl-3d0/force_clk_on 71*dd0948b3SAndroid Build Coastguard Workerecho "set GPU idle timer to 10000" 72*dd0948b3SAndroid Build Coastguard Workerecho 10000 > /sys/class/kgsl/kgsl-3d0/idle_timer 73*dd0948b3SAndroid Build Coastguard Worker 74*dd0948b3SAndroid Build Coastguard Worker# 0 381 572 762 1144 1571 2086 2597 2929 3879 4943 5931 6881 75*dd0948b3SAndroid Build Coastguard Workerecho performance > /sys/class/devfreq/soc:qcom,gpubw/governor 76*dd0948b3SAndroid Build Coastguard Workerecho -n "set GPU bus frequency to max at " 77*dd0948b3SAndroid Build Coastguard Workercat /sys/class/devfreq/soc:qcom,gpubw/cur_freq 78*dd0948b3SAndroid Build Coastguard Worker 79*dd0948b3SAndroid Build Coastguard Worker#625 500 400 275 mhz 80*dd0948b3SAndroid Build Coastguard Workerecho performance > /sys/class/kgsl/kgsl-3d0/devfreq/governor 81*dd0948b3SAndroid Build Coastguard Workerecho 0 > /sys/class/kgsl/kgsl-3d0/max_pwrlevel 82*dd0948b3SAndroid Build Coastguard Workerecho 0 > /sys/class/kgsl/kgsl-3d0/min_pwrlevel 83*dd0948b3SAndroid Build Coastguard Workerecho -n "set GPU frequency to max at " 84*dd0948b3SAndroid Build Coastguard Workercat /sys/class/kgsl/kgsl-3d0/devfreq/cur_freq 85