Files
device_google_wahoo/init.power.sh
Thierry Strudel 4e18dc435b Import common file from device specific directory
Test: boot, basic functionality
Change-Id: I9c07718b481730c3388f99c5e1eff17c9fd75a7b
Signed-off-by: Thierry Strudel <tstrudel@google.com>
2017-03-04 23:34:45 -08:00

77 lines
2.7 KiB
Bash

#!/system/bin/sh
################################################################################
# helper functions to allow Android init like script
function write() {
echo -n $2 > $1
}
function copy() {
cat $1 > $2
}
################################################################################
soc_revision=`cat /sys/devices/soc0/revision`
if [ "$soc_revision" == "1.0" ]; then
# Disable retention low power modes
write /sys/module/lpm_levels/system/pwr/cpu0/ret/idle_enabled N
write /sys/module/lpm_levels/system/pwr/cpu1/ret/idle_enabled N
write /sys/module/lpm_levels/system/pwr/cpu2/ret/idle_enabled N
write /sys/module/lpm_levels/system/pwr/cpu3/ret/idle_enabled N
write /sys/module/lpm_levels/system/perf/cpu4/ret/idle_enabled N
write /sys/module/lpm_levels/system/perf/cpu5/ret/idle_enabled N
write /sys/module/lpm_levels/system/perf/cpu6/ret/idle_enabled N
write /sys/module/lpm_levels/system/perf/cpu7/ret/idle_enabled N
# Enable all LPMs by default
write /sys/module/lpm_levels/parameters/sleep_disabled N
fi
# disable thermal hotplug to switch governor
write /sys/module/msm_thermal/core_control/enabled 0
# bring back main cores CPU 0,4
write /sys/devices/system/cpu/cpu0/online 1
write /sys/devices/system/cpu/cpu4/online 1
# Setting b.L scheduler parameters
write /proc/sys/kernel/sched_migration_fixup 1
write /proc/sys/kernel/sched_upmigrate 99
write /proc/sys/kernel/sched_downmigrate 85
write /proc/sys/kernel/sched_freq_inc_notify 400000
write /proc/sys/kernel/sched_freq_dec_notify 400000
write /proc/sys/kernel/sched_spill_nr_run 5
write /proc/sys/kernel/sched_restrict_cluster_spill 1
# configure governor settings for little cluster
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "sched"
# configure governor settings for big cluster
write /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor "sched"
# re-enable thermal hotplug
write /sys/module/msm_thermal/core_control/enabled 1
# Enable bus-dcvs
for cpubw in /sys/class/devfreq/*qcom,cpubw*
do
write $cpubw/governor "bw_hwmon"
write $cpubw/polling_interval 50
write $cpubw/min_freq 1525
write $cpubw/bw_hwmon/mbps_zones "3143 5859 11863 13763"
write $cpubw/bw_hwmon/sample_ms 4
write $cpubw/bw_hwmon/io_percent 34
write $cpubw/bw_hwmon/hist_memory 20
write $cpubw/bw_hwmon/hyst_length 10
write $cpubw/bw_hwmon/low_power_ceil_mbps 0
write $cpubw/bw_hwmon/low_power_io_percent 34
write $cpubw/bw_hwmon/low_power_delay 20
write $cpubw/bw_hwmon/guard_band_mbps 0
write $cpubw/bw_hwmon/up_scale 250
write $cpubw/bw_hwmon/idle_mbps 1600
done
write /sys/class/devfreq/soc:qcom,mincpubw/governor "cpufreq"