| # Copyright (c) 2016, Code Aurora Forum. All rights reserved. |
| # |
| # Redistribution and use in source and binary forms, with or without |
| # modification, are permitted provided that the following conditions are met: |
| # * Redistributions of source code must retain the above copyright |
| # notice, this list of conditions and the following disclaimer. |
| # * Redistributions in binary form must reproduce the above copyright |
| # notice, this list of conditions and the following disclaimer in the |
| # documentation and/or other materials provided with the distribution. |
| # * Neither the name of Code Aurora nor |
| # the names of its contributors may be used to endorse or promote |
| # products derived from this software without specific prior written |
| # permission. |
| # |
| # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
| # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| # IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
| # NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR |
| # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
| # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |
| # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; |
| # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, |
| # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR |
| # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF |
| # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| # |
| |
| on early-init |
| write /sys/block/mmcblk0/queue/scheduler "noop" |
| write /sys/block/mmcblk0/bdi/read_ahead_kb 512 |
| |
| on enable-low-power |
| # Configure the hardware properly |
| write /sys/module/lpm_levels/enable_low_power/l2 4 |
| write /sys/module/msm_pm/modes/cpu0/power_collapse/suspend_enabled 1 |
| write /sys/module/msm_pm/modes/cpu1/power_collapse/suspend_enabled 1 |
| write /sys/module/msm_pm/modes/cpu2/power_collapse/suspend_enabled 1 |
| write /sys/module/msm_pm/modes/cpu3/power_collapse/suspend_enabled 1 |
| write /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled 1 |
| write /sys/module/msm_pm/modes/cpu1/power_collapse/idle_enabled 1 |
| write /sys/module/msm_pm/modes/cpu2/power_collapse/idle_enabled 1 |
| write /sys/module/msm_pm/modes/cpu3/power_collapse/idle_enabled 1 |
| write /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled 1 |
| write /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled 1 |
| write /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/suspend_enabled 1 |
| write /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/suspend_enabled 1 |
| write /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled 1 |
| write /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled 1 |
| write /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled 1 |
| write /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled 1 |
| write /sys/module/msm_pm/modes/cpu0/retention/idle_enabled 1 |
| write /sys/module/msm_pm/modes/cpu1/retention/idle_enabled 1 |
| write /sys/module/msm_pm/modes/cpu2/retention/idle_enabled 1 |
| write /sys/module/msm_pm/modes/cpu3/retention/idle_enabled 1 |
| |
| # Disable thermal hotplug to switch governor |
| write /sys/module/msm_thermal/core_control/enabled 0 |
| |
| write /sys/devices/system/cpu/cpu1/online 1 |
| write /sys/devices/system/cpu/cpu2/online 1 |
| write /sys/devices/system/cpu/cpu3/online 1 |
| |
| # Configure the CPU governor |
| write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "interactive" |
| write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor "interactive" |
| write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor "interactive" |
| write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor "interactive" |
| write /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay "19000 1400000:39000 1700000:19000" |
| write /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load 99 |
| write /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq 1190400 |
| write /sys/devices/system/cpu/cpufreq/interactive/io_is_busy 1 |
| write /sys/devices/system/cpu/cpufreq/interactive/target_loads "85 1500000:90 1800000:70" |
| write /sys/devices/system/cpu/cpufreq/interactive/min_sample_time 40000 |
| write /sys/devices/system/cpu/cpufreq/interactive/timer_rate 30000 |
| write /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor 100000 |
| write /sys/devices/system/cpu/cpufreq/interactive/timer_slack 30000 |
| write /sys/devices/system/cpu/cpufreq/interactive/up_threshold_any_cpu_load 50 |
| write /sys/devices/system/cpu/cpufreq/interactive/sync_freq 1036800 |
| write /sys/devices/system/cpu/cpufreq/interactive/up_threshold_any_cpu_freq 1190400 |
| |
| write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 300000 |
| write /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq 300000 |
| write /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq 300000 |
| write /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq 300000 |
| chown root system /sys/devices/system/cpu/cpu1/online |
| chown root system /sys/devices/system/cpu/cpu2/online |
| chown root system /sys/devices/system/cpu/cpu3/online |
| chmod 664 /sys/devices/system/cpu/cpu1/online |
| chmod 664 /sys/devices/system/cpu/cpu2/online |
| chmod 664 /sys/devices/system/cpu/cpu3/online |
| |
| # Re-enable thermal hotplug |
| write /sys/module/msm_thermal/core_control/enabled 1 |
| |
| write /sys/class/devfreq/qcom,cpubw.42/governor "cpubw_hwmon" |
| write /sys/class/kgsl/kgsl-3d0/devfreq/governor "msm-adreno-tz" |
| |
| # Input boost config |
| write /sys/module/cpu_boost/parameters/boost_ms 20 |
| write /sys/module/cpu_boost/parameters/sync_threshold 1728000 |
| write /sys/module/cpu_boost/parameters/input_boost_freq 1497600 |
| write /sys/module/cpu_boost/parameters/input_boost_ms 40 |
| |
| write /dev/cpuctl/cpu.notify_on_migrate 1 |
| |
| on charger |
| write /sys/module/lpm_levels/enable_low_power/l2 2 |
| write /sys/module/msm_pm/modes/cpu0/power_collapse/suspend_enabled 1 |
| write /sys/module/msm_pm/modes/cpu1/power_collapse/suspend_enabled 1 |
| write /sys/module/msm_pm/modes/cpu2/power_collapse/suspend_enabled 1 |
| write /sys/module/msm_pm/modes/cpu3/power_collapse/suspend_enabled 1 |
| write /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled 1 |
| write /sys/module/msm_thermal/core_control/enabled 0 |
| write /sys/devices/system/cpu/cpu1/online 1 |
| write /sys/devices/system/cpu/cpu2/online 1 |
| write /sys/devices/system/cpu/cpu3/online 1 |
| write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "powersave" |
| write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor "powersave" |
| write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor "powersave" |
| write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor "powersave" |
| write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 300000 |
| write /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq 300000 |
| write /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq 300000 |
| write /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq 300000 |
| write /sys/module/msm_thermal/core_control/enabled 1 |
| write /sys/devices/system/cpu/cpu1/online 0 |
| write /sys/devices/system/cpu/cpu2/online 0 |
| write /sys/devices/system/cpu/cpu3/online 0 |
| |
| on boot |
| trigger enable-low-power |
| |
| on property:init.svc.recovery=running |
| write /sys/class/leds/button-backlight/brightness 255 |
| trigger enable-low-power |
| |
| on property:recovery.perf.mode=1 |
| write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "performance" |
| |
| on property:recovery.perf.mode=0 |
| write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "interactive" |
| |
| on property:dev.bootcomplete=1 |
| # Set I/O scheduler |
| setprop sys.io.scheduler "bfq" |
| |
| # Set perfd properties |
| setprop ro.qualcomm.perf.cores_online 2 |
| |
| # Start perfd |
| rm /data/system/perfd/default_values |
| start mpdecision |
| |
| service mpdecision /vendor/bin/mpdecision --avg_comp |
| class main |
| user root |
| group root readproc |
| socket perfd seqpacket 0666 root system |
| disabled |