xref: /aosp_15_r20/platform_testing/scripts/perf-setup/b5r3-setup.sh (revision dd0948b35e70be4c0246aabd6c72554a5eb8b22a)
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