xref: /aosp_15_r20/platform_testing/scripts/perf-setup/sw5100-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 sw5100 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 Worker#setprop vendor.powerhal.init 0
37*dd0948b3SAndroid Build Coastguard Worker#setprop 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=0
43*dd0948b3SAndroid Build Coastguard Workertop=4
44*dd0948b3SAndroid Build Coastguard Worker# 614400 864000 1363200 1708800
45*dd0948b3SAndroid Build Coastguard Workercpufreq=1708800
46*dd0948b3SAndroid Build Coastguard Worker# Set the cores around 1.7G
47*dd0948b3SAndroid Build Coastguard Workerwhile [ $((cpu < $top)) -eq 1 ]; do
48*dd0948b3SAndroid Build Coastguard Worker  echo 1 > $cpubase/cpu${cpu}/online
49*dd0948b3SAndroid Build Coastguard Worker  echo userspace > $cpubase/cpu${cpu}/$gov
50*dd0948b3SAndroid Build Coastguard Worker  echo $cpufreq > /sys/devices/system/cpu/cpu$cpu/cpufreq/scaling_max_freq
51*dd0948b3SAndroid Build Coastguard Worker  echo $cpufreq > /sys/devices/system/cpu/cpu$cpu/cpufreq/scaling_setspeed
52*dd0948b3SAndroid Build Coastguard Worker  S=`cat $cpubase/cpu${cpu}/cpufreq/scaling_cur_freq`
53*dd0948b3SAndroid Build Coastguard Worker  echo "set cpu $cpu to $S kHz"
54*dd0948b3SAndroid Build Coastguard Worker  cpu=$(($cpu + 1))
55*dd0948b3SAndroid Build Coastguard Workerdone
56*dd0948b3SAndroid Build Coastguard Worker
57*dd0948b3SAndroid Build Coastguard Workerecho "disable GPU bus split"
58*dd0948b3SAndroid Build Coastguard Workerecho 0 > /sys/class/kgsl/kgsl-3d0/bus_split
59*dd0948b3SAndroid Build Coastguard Workerecho "enable GPU force clock on"
60*dd0948b3SAndroid Build Coastguard Workerecho 1 > /sys/class/kgsl/kgsl-3d0/force_clk_on
61*dd0948b3SAndroid Build Coastguard Workerecho "set GPU idle timer to 10000"
62*dd0948b3SAndroid Build Coastguard Workerecho 10000 > /sys/class/kgsl/kgsl-3d0/idle_timer
63*dd0948b3SAndroid Build Coastguard Worker
64*dd0948b3SAndroid Build Coastguard Worker# 1010 900 700 470 310 mhz
65*dd0948b3SAndroid Build Coastguard Workerecho gpubw_mon > /sys/class/devfreq/kgsl-busmon/governor
66*dd0948b3SAndroid Build Coastguard Workerecho 1010000000 > /sys/class/devfreq/kgsl-busmon/min_freq
67*dd0948b3SAndroid Build Coastguard Workerecho -n "set GPU bus frequency to max at "
68*dd0948b3SAndroid Build Coastguard Workercat /sys/class/devfreq/kgsl-busmon/target_freq
69*dd0948b3SAndroid Build Coastguard Worker
70*dd0948b3SAndroid Build Coastguard Worker# 1010 900 700 470 310 mhz
71*dd0948b3SAndroid Build Coastguard Workerecho msm-adreno-tz > /sys/class/kgsl/kgsl-3d0/devfreq/governor
72*dd0948b3SAndroid Build Coastguard Workerecho 1010000000 > /sys/class/kgsl/kgsl-3d0/devfreq/min_freq
73*dd0948b3SAndroid Build Coastguard Workerecho 0 > /sys/class/kgsl/kgsl-3d0/max_pwrlevel
74*dd0948b3SAndroid Build Coastguard Workerecho 0 > /sys/class/kgsl/kgsl-3d0/min_pwrlevel
75*dd0948b3SAndroid Build Coastguard Workerecho -n "set GPU frequency to max at "
76*dd0948b3SAndroid Build Coastguard Workercat /sys/class/kgsl/kgsl-3d0/devfreq/cur_freq
77