xref: /aosp_15_r20/platform_testing/scripts/perf-setup/b4s4-setup.sh (revision dd0948b35e70be4c0246aabd6c72554a5eb8b22a)
1*dd0948b3SAndroid Build Coastguard Worker#!/system/bin/sh
2*dd0948b3SAndroid Build Coastguard Worker#
3*dd0948b3SAndroid Build Coastguard Worker# Copyright (C) 2018 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 b4/s4 devices
18*dd0948b3SAndroid Build Coastguard Worker
19*dd0948b3SAndroid Build Coastguard Workerstop vendor.thermal-engine
20*dd0948b3SAndroid Build Coastguard Workersetprop vendor.powerhal.init 0
21*dd0948b3SAndroid Build Coastguard Workersetprop ctl.restart vendor.power-hal-aidl
22*dd0948b3SAndroid Build Coastguard Workersetprop ctl.interface_restart android.hardware.power@1.0::IPower/default
23*dd0948b3SAndroid Build Coastguard Worker
24*dd0948b3SAndroid Build Coastguard Workercpubase=/sys/devices/system/cpu
25*dd0948b3SAndroid Build Coastguard Workergov=cpufreq/scaling_governor
26*dd0948b3SAndroid Build Coastguard Worker
27*dd0948b3SAndroid Build Coastguard Workercpu=6
28*dd0948b3SAndroid Build Coastguard Workertop=8
29*dd0948b3SAndroid Build Coastguard Worker
30*dd0948b3SAndroid Build Coastguard Worker# Enable golden cores at max frequency.
31*dd0948b3SAndroid Build Coastguard Worker# 300000 652800 825600 979200 1132800 1363200 1536000 1747200 1843200 1996800 2016000
32*dd0948b3SAndroid Build Coastguard Worker# 300000 576000 748800 998400 1209600 1324800 1516800 1612800 1708800
33*dd0948b3SAndroid Build Coastguard Workerwhile [ $((cpu < $top)) -eq 1 ]; do
34*dd0948b3SAndroid Build Coastguard Worker  echo 1 > $cpubase/cpu${cpu}/online
35*dd0948b3SAndroid Build Coastguard Worker  echo performance > $cpubase/cpu${cpu}/$gov
36*dd0948b3SAndroid Build Coastguard Worker  S=`cat $cpubase/cpu${cpu}/cpufreq/scaling_cur_freq`
37*dd0948b3SAndroid Build Coastguard Worker  echo "setting cpu $cpu to max at $S kHz"
38*dd0948b3SAndroid Build Coastguard Worker  cpu=$(($cpu + 1))
39*dd0948b3SAndroid Build Coastguard Workerdone
40*dd0948b3SAndroid Build Coastguard Worker
41*dd0948b3SAndroid Build Coastguard Workercpu=0
42*dd0948b3SAndroid Build Coastguard Workertop=6
43*dd0948b3SAndroid Build Coastguard Worker
44*dd0948b3SAndroid Build Coastguard Worker# Disable silver cores.
45*dd0948b3SAndroid Build Coastguard Workerwhile [ $((cpu < $top)) -eq 1 ]; do
46*dd0948b3SAndroid Build Coastguard Worker  echo "disable cpu $cpu"
47*dd0948b3SAndroid Build Coastguard Worker  echo 0 > $cpubase/cpu${cpu}/online
48*dd0948b3SAndroid Build Coastguard Worker  cpu=$(($cpu + 1))
49*dd0948b3SAndroid Build Coastguard Workerdone
50*dd0948b3SAndroid Build Coastguard Worker
51*dd0948b3SAndroid Build Coastguard Workerecho "disable GPU bus split"
52*dd0948b3SAndroid Build Coastguard Workerecho 0 > /sys/class/kgsl/kgsl-3d0/bus_split
53*dd0948b3SAndroid Build Coastguard Workerecho "enable GPU force clocks on"
54*dd0948b3SAndroid Build Coastguard Workerecho 1 > /sys/class/kgsl/kgsl-3d0/force_clk_on
55*dd0948b3SAndroid Build Coastguard Workerecho "set GPU idle timer to 10000"
56*dd0948b3SAndroid Build Coastguard Workerecho 10000 > /sys/class/kgsl/kgsl-3d0/idle_timer
57*dd0948b3SAndroid Build Coastguard Worker
58*dd0948b3SAndroid Build Coastguard Worker# 0 381 762 1144 1720 2086 2597 3147 3879 5161 5931 6881
59*dd0948b3SAndroid Build Coastguard Workerecho performance > /sys/class/devfreq/soc:qcom,gpubw/governor
60*dd0948b3SAndroid Build Coastguard Workerecho -n "set GPU bus frequency to max at "
61*dd0948b3SAndroid Build Coastguard Workercat /sys/class/devfreq/soc:qcom,gpubw/cur_freq
62*dd0948b3SAndroid Build Coastguard Worker
63*dd0948b3SAndroid Build Coastguard Worker# 180000000 267000000 355000000 430000000
64*dd0948b3SAndroid Build Coastguard Workerecho performance > /sys/class/kgsl/kgsl-3d0/devfreq/governor
65*dd0948b3SAndroid Build Coastguard Workerecho 0 > /sys/class/kgsl/kgsl-3d0/max_pwrlevel
66*dd0948b3SAndroid Build Coastguard Workerecho 0 > /sys/class/kgsl/kgsl-3d0/min_pwrlevel
67*dd0948b3SAndroid Build Coastguard Workerecho -n "set GPU frequency to max at "
68*dd0948b3SAndroid Build Coastguard Workercat /sys/class/kgsl/kgsl-3d0/devfreq/cur_freq
69