From 8ccdb7d6be46a7cff622ab98062266274ffdb37f Mon Sep 17 00:00:00 2001 From: Zhao Wei Liew Date: Thu, 3 Nov 2016 14:49:36 +0800 Subject: [PATCH] land: Remove dependency on QCOM post-boot shell script Refactor all the relevant stuff to init.qcom.power.rc Change-Id: I6a4a60a8da01e392885ce302300ab0a25d8b30ad --- product/qcom-perf.mk | 1 - rootdir/Android.mk | 7 - rootdir/etc/init.qcom.post_boot.sh | 2136 ---------------------------- rootdir/init.qcom.power.rc | 8 +- rootdir/init.qcom.rc | 7 - rootdir/init.target.rc | 1 - 6 files changed, 7 insertions(+), 2153 deletions(-) delete mode 100644 rootdir/etc/init.qcom.post_boot.sh diff --git a/product/qcom-perf.mk b/product/qcom-perf.mk index b649e37..ac5685f 100644 --- a/product/qcom-perf.mk +++ b/product/qcom-perf.mk @@ -4,7 +4,6 @@ PRODUCT_COPY_FILES += \ # Init scripts PRODUCT_PACKAGES += \ - init.qcom.post_boot.sh \ init.qcom.power.rc # Properties diff --git a/rootdir/Android.mk b/rootdir/Android.mk index 341c7f6..4c2aed9 100644 --- a/rootdir/Android.mk +++ b/rootdir/Android.mk @@ -81,10 +81,3 @@ LOCAL_MODULE_TAGS := optional eng LOCAL_MODULE_CLASS := ETC LOCAL_SRC_FILES := etc/init.qcom.fm.sh include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := init.qcom.post_boot.sh -LOCAL_MODULE_TAGS := optional eng -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/init.qcom.post_boot.sh -include $(BUILD_PREBUILT) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh deleted file mode 100644 index e75ead1..0000000 --- a/rootdir/etc/init.qcom.post_boot.sh +++ /dev/null @@ -1,2136 +0,0 @@ -#!/system/bin/sh -# Copyright (c) 2012-2013, The Linux Foundation. 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 The Linux Foundation 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. -# - -target=`getprop ro.board.platform` - -function configure_memory_parameters() { - # Set Memory paremeters. - # - # Set per_process_reclaim tuning parameters - # 2GB 64-bit will have aggressive settings when compared to 1GB 32-bit - # 1GB and less will use vmpressure range 50-70, 2GB will use 10-70 - # 1GB and less will use 512 pages swap size, 2GB will use 1024 - # - # Set Low memory killer minfree parameters - # 32 bit all memory configurations will use 15K series - # 64 bit up to 2GB with use 14K, and above 2GB will use 18K - # - # Set ALMK parameters (usually above the highest minfree values) - # 32 bit will have 53K & 64 bit will have 81K - # - # Set ZCache parameters - # max_pool_percent is the percentage of memory that the compressed pool - # can occupy. - # clear_percent is the percentage of memory at which zcache starts - # evicting compressed pages. This should be slighlty above adj0 value. - # clear_percent = (adj0 * 100 / avalible memory in pages)+1 - # - arch_type=`uname -m` - MemTotalStr=`cat /proc/meminfo | grep MemTotal` - MemTotal=${MemTotalStr:16:8} - MemTotalPg=$((MemTotal / 4)) - adjZeroMinFree=18432 - echo 1 > /sys/module/process_reclaim/parameters/enable_process_reclaim - echo 70 > /sys/module/process_reclaim/parameters/pressure_max - echo 30 > /sys/module/process_reclaim/parameters/swap_opt_eff - echo 1 > /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk - if [ "$arch_type" == "aarch64" ] && [ $MemTotal -gt 2097152 ]; then - echo 10 > /sys/module/process_reclaim/parameters/pressure_min - echo 1024 > /sys/module/process_reclaim/parameters/per_swap_size - echo "18432,23040,27648,32256,55296,80640" > /sys/module/lowmemorykiller/parameters/minfree - echo 81250 > /sys/module/lowmemorykiller/parameters/vmpressure_file_min - adjZeroMinFree=18432 - elif [ "$arch_type" == "aarch64" ] && [ $MemTotal -gt 1048576 ]; then - echo 10 > /sys/module/process_reclaim/parameters/pressure_min - echo 1024 > /sys/module/process_reclaim/parameters/per_swap_size - echo "14746,18432,22118,25805,40000,55000" > /sys/module/lowmemorykiller/parameters/minfree - echo 81250 > /sys/module/lowmemorykiller/parameters/vmpressure_file_min - adjZeroMinFree=14746 - elif [ "$arch_type" == "aarch64" ]; then - echo 50 > /sys/module/process_reclaim/parameters/pressure_min - echo 512 > /sys/module/process_reclaim/parameters/per_swap_size - echo "14746,18432,22118,25805,40000,55000" > /sys/module/lowmemorykiller/parameters/minfree - echo 81250 > /sys/module/lowmemorykiller/parameters/vmpressure_file_min - adjZeroMinFree=14746 - else - echo 50 > /sys/module/process_reclaim/parameters/pressure_min - echo 512 > /sys/module/process_reclaim/parameters/per_swap_size - echo "15360,19200,23040,26880,34415,43737" > /sys/module/lowmemorykiller/parameters/minfree - echo 53059 > /sys/module/lowmemorykiller/parameters/vmpressure_file_min - adjZeroMinFree=15360 - fi - clearPercent=$((((adjZeroMinFree * 100) / MemTotalPg) + 1)) - echo $clearPercent > /sys/module/zcache/parameters/clear_percent - echo 30 > /sys/module/zcache/parameters/max_pool_percent -} - -case "$target" in - "msm7201a_ffa" | "msm7201a_surf" | "msm7627_ffa" | "msm7627_6x" | "msm7627a" | "msm7627_surf" | \ - "qsd8250_surf" | "qsd8250_ffa" | "msm7630_surf" | "msm7630_1x" | "msm7630_fusion" | "qsd8650a_st1x") - echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold - ;; -esac - -case "$target" in - "msm7201a_ffa" | "msm7201a_surf") - echo 500000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate - ;; -esac - -case "$target" in - "msm7630_surf" | "msm7630_1x" | "msm7630_fusion") - echo 75000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate - echo 1 > /sys/module/pm2/parameters/idle_sleep_mode - ;; -esac - -case "$target" in - "msm7201a_ffa" | "msm7201a_surf" | "msm7627_ffa" | "msm7627_6x" | "msm7627_surf" | "msm7630_surf" | "msm7630_1x" | "msm7630_fusion" | "msm7627a" ) - echo 245760 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - ;; -esac - -case "$target" in - "msm8660") - echo 1 > /sys/module/rpm_resources/enable_low_power/L2_cache - echo 1 > /sys/module/rpm_resources/enable_low_power/pxo - echo 2 > /sys/module/rpm_resources/enable_low_power/vdd_dig - echo 2 > /sys/module/rpm_resources/enable_low_power/vdd_mem - echo 1 > /sys/module/rpm_resources/enable_low_power/rpm_cpu - echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled - echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor - echo 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate - echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold - echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy - echo 4 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor - echo 384000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - echo 384000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq - chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq - chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - chown -h system /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq - chown -h system /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq - chown -h root.system /sys/devices/system/cpu/mfreq - chmod -h 220 /sys/devices/system/cpu/mfreq - chown -h root.system /sys/devices/system/cpu/cpu1/online - chmod -h 664 /sys/devices/system/cpu/cpu1/online - ;; -esac - -case "$target" in - "msm8960") - echo 1 > /sys/module/rpm_resources/enable_low_power/L2_cache - echo 1 > /sys/module/rpm_resources/enable_low_power/pxo - echo 1 > /sys/module/rpm_resources/enable_low_power/vdd_dig - echo 1 > /sys/module/rpm_resources/enable_low_power/vdd_mem - echo 1 > /sys/module/msm_pm/modes/cpu0/retention/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled - echo 0 > /sys/module/msm_thermal/core_control/enabled - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor - echo "ondemand" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor - echo "ondemand" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor - echo 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate - echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold - echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy - echo 4 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor - echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential - echo 70 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_multi_core - echo 3 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential_multi_core - echo 918000 > /sys/devices/system/cpu/cpufreq/ondemand/optimal_freq - echo 1026000 > /sys/devices/system/cpu/cpufreq/ondemand/sync_freq - echo 80 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_any_cpu_load - chown -h system /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate - chown -h system /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor - chown -h system /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy - echo 384000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - echo 384000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq - echo 384000 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq - echo 384000 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq - chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq - chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - chown -h system /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq - chown -h system /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq - chown -h system /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq - chown -h system /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq - chown -h system /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq - chown -h system /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq - echo 1 > /sys/module/msm_thermal/core_control/enabled - chown -h root.system /sys/devices/system/cpu/mfreq - chmod -h 220 /sys/devices/system/cpu/mfreq - chown -h root.system /sys/devices/system/cpu/cpu1/online - chown -h root.system /sys/devices/system/cpu/cpu2/online - chown -h root.system /sys/devices/system/cpu/cpu3/online - chmod -h 664 /sys/devices/system/cpu/cpu1/online - chmod -h 664 /sys/devices/system/cpu/cpu2/online - chmod -h 664 /sys/devices/system/cpu/cpu3/online - # set DCVS parameters for CPU - echo 40000 > /sys/module/msm_dcvs/cores/cpu0/slack_time_max_us - echo 40000 > /sys/module/msm_dcvs/cores/cpu0/slack_time_min_us - echo 100000 > /sys/module/msm_dcvs/cores/cpu0/em_win_size_min_us - echo 500000 > /sys/module/msm_dcvs/cores/cpu0/em_win_size_max_us - echo 0 > /sys/module/msm_dcvs/cores/cpu0/slack_mode_dynamic - echo 1000000 > /sys/module/msm_dcvs/cores/cpu0/disable_pc_threshold - echo 25000 > /sys/module/msm_dcvs/cores/cpu1/slack_time_max_us - echo 25000 > /sys/module/msm_dcvs/cores/cpu1/slack_time_min_us - echo 100000 > /sys/module/msm_dcvs/cores/cpu1/em_win_size_min_us - echo 500000 > /sys/module/msm_dcvs/cores/cpu1/em_win_size_max_us - echo 0 > /sys/module/msm_dcvs/cores/cpu1/slack_mode_dynamic - echo 1000000 > /sys/module/msm_dcvs/cores/cpu1/disable_pc_threshold - echo 25000 > /sys/module/msm_dcvs/cores/cpu2/slack_time_max_us - echo 25000 > /sys/module/msm_dcvs/cores/cpu2/slack_time_min_us - echo 100000 > /sys/module/msm_dcvs/cores/cpu2/em_win_size_min_us - echo 500000 > /sys/module/msm_dcvs/cores/cpu2/em_win_size_max_us - echo 0 > /sys/module/msm_dcvs/cores/cpu2/slack_mode_dynamic - echo 1000000 > /sys/module/msm_dcvs/cores/cpu2/disable_pc_threshold - echo 25000 > /sys/module/msm_dcvs/cores/cpu3/slack_time_max_us - echo 25000 > /sys/module/msm_dcvs/cores/cpu3/slack_time_min_us - echo 100000 > /sys/module/msm_dcvs/cores/cpu3/em_win_size_min_us - echo 500000 > /sys/module/msm_dcvs/cores/cpu3/em_win_size_max_us - echo 0 > /sys/module/msm_dcvs/cores/cpu3/slack_mode_dynamic - echo 1000000 > /sys/module/msm_dcvs/cores/cpu3/disable_pc_threshold - # set DCVS parameters for GPU - echo 20000 > /sys/module/msm_dcvs/cores/gpu0/slack_time_max_us - echo 20000 > /sys/module/msm_dcvs/cores/gpu0/slack_time_min_us - echo 0 > /sys/module/msm_dcvs/cores/gpu0/slack_mode_dynamic - # set msm_mpdecision parameters - echo 45000 > /sys/module/msm_mpdecision/slack_time_max_us - echo 15000 > /sys/module/msm_mpdecision/slack_time_min_us - echo 100000 > /sys/module/msm_mpdecision/em_win_size_min_us - echo 1000000 > /sys/module/msm_mpdecision/em_win_size_max_us - echo 3 > /sys/module/msm_mpdecision/online_util_pct_min - echo 25 > /sys/module/msm_mpdecision/online_util_pct_max - echo 97 > /sys/module/msm_mpdecision/em_max_util_pct - echo 2 > /sys/module/msm_mpdecision/rq_avg_poll_ms - echo 10 > /sys/module/msm_mpdecision/mp_em_rounding_point_min - echo 85 > /sys/module/msm_mpdecision/mp_em_rounding_point_max - echo 50 > /sys/module/msm_mpdecision/iowait_threshold_pct - #set permissions for the nodes needed by display on/off hook - chown -h system /sys/module/msm_dcvs/cores/cpu0/slack_time_max_us - chown -h system /sys/module/msm_dcvs/cores/cpu0/slack_time_min_us - chown -h system /sys/module/msm_mpdecision/slack_time_max_us - chown -h system /sys/module/msm_mpdecision/slack_time_min_us - chmod -h 664 /sys/module/msm_dcvs/cores/cpu0/slack_time_max_us - chmod -h 664 /sys/module/msm_dcvs/cores/cpu0/slack_time_min_us - chmod -h 664 /sys/module/msm_mpdecision/slack_time_max_us - chmod -h 664 /sys/module/msm_mpdecision/slack_time_min_us - if [ -f /sys/devices/soc0/soc_id ]; then - soc_id=`cat /sys/devices/soc0/soc_id` - else - soc_id=`cat /sys/devices/system/soc/soc0/id` - fi - case "$soc_id" in - "130") - echo 230 > /sys/class/gpio/export - echo 228 > /sys/class/gpio/export - echo 229 > /sys/class/gpio/export - echo "in" > /sys/class/gpio/gpio230/direction - echo "rising" > /sys/class/gpio/gpio230/edge - echo "in" > /sys/class/gpio/gpio228/direction - echo "rising" > /sys/class/gpio/gpio228/edge - echo "in" > /sys/class/gpio/gpio229/direction - echo "rising" > /sys/class/gpio/gpio229/edge - echo 253 > /sys/class/gpio/export - echo 254 > /sys/class/gpio/export - echo 257 > /sys/class/gpio/export - echo 258 > /sys/class/gpio/export - echo 259 > /sys/class/gpio/export - echo "out" > /sys/class/gpio/gpio253/direction - echo "out" > /sys/class/gpio/gpio254/direction - echo "out" > /sys/class/gpio/gpio257/direction - echo "out" > /sys/class/gpio/gpio258/direction - echo "out" > /sys/class/gpio/gpio259/direction - chown -h media /sys/class/gpio/gpio253/value - chown -h media /sys/class/gpio/gpio254/value - chown -h media /sys/class/gpio/gpio257/value - chown -h media /sys/class/gpio/gpio258/value - chown -h media /sys/class/gpio/gpio259/value - chown -h media /sys/class/gpio/gpio253/direction - chown -h media /sys/class/gpio/gpio254/direction - chown -h media /sys/class/gpio/gpio257/direction - chown -h media /sys/class/gpio/gpio258/direction - chown -h media /sys/class/gpio/gpio259/direction - echo 0 > /sys/module/rpm_resources/enable_low_power/vdd_dig - echo 0 > /sys/module/rpm_resources/enable_low_power/vdd_mem - ;; - esac - ;; -esac - -case "$target" in - "msm8974") - echo 4 > /sys/module/lpm_levels/enable_low_power/l2 - echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/retention/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/retention/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/retention/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/retention/idle_enabled - echo 0 > /sys/module/msm_thermal/core_control/enabled - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - if [ -f /sys/devices/soc0/soc_id ]; then - soc_id=`cat /sys/devices/soc0/soc_id` - else - soc_id=`cat /sys/devices/system/soc/soc0/id` - fi - case "$soc_id" in - "208" | "211" | "214" | "217" | "209" | "212" | "215" | "218" | "194" | "210" | "213" | "216") - for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor - do - echo "cpubw_hwmon" > $devfreq_gov - done - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo "interactive" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor - echo "interactive" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor - echo "interactive" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor - echo "20000 1400000:40000 1700000:20000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load - echo 1190400 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq - echo 1 > /sys/devices/system/cpu/cpufreq/interactive/io_is_busy - echo "85 1500000:90 1800000:70" > /sys/devices/system/cpu/cpufreq/interactive/target_loads - echo 40000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time - echo 20 > /sys/module/cpu_boost/parameters/boost_ms - echo 1728000 > /sys/module/cpu_boost/parameters/sync_threshold - echo 100000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor - echo 1497600 > /sys/module/cpu_boost/parameters/input_boost_freq - echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms - setprop ro.qualcomm.perf.cores_online 2 - ;; - *) - echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor - echo "ondemand" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor - echo "ondemand" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor - echo 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate - echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold - echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy - echo 2 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor - echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential - echo 70 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_multi_core - echo 3 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential_multi_core - echo 960000 > /sys/devices/system/cpu/cpufreq/ondemand/optimal_freq - echo 960000 > /sys/devices/system/cpu/cpufreq/ondemand/sync_freq - echo 1190400 > /sys/devices/system/cpu/cpufreq/ondemand/input_boost - echo 80 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_any_cpu_load - ;; - esac - echo 300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - echo 300000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq - echo 300000 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq - echo 300000 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq - chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq - chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - echo 1 > /sys/module/msm_thermal/core_control/enabled - chown -h root.system /sys/devices/system/cpu/mfreq - chmod -h 220 /sys/devices/system/cpu/mfreq - chown -h root.system /sys/devices/system/cpu/cpu1/online - chown -h root.system /sys/devices/system/cpu/cpu2/online - chown -h root.system /sys/devices/system/cpu/cpu3/online - chmod -h 664 /sys/devices/system/cpu/cpu1/online - chmod -h 664 /sys/devices/system/cpu/cpu2/online - chmod -h 664 /sys/devices/system/cpu/cpu3/online - echo 1 > /dev/cpuctl/apps/cpu.notify_on_migrate - ;; -esac - -case "$target" in - "msm8916") - if [ -f /sys/devices/soc0/soc_id ]; then - soc_id=`cat /sys/devices/soc0/soc_id` - else - soc_id=`cat /sys/devices/system/soc/soc0/id` - fi - case "$soc_id" in - "206" | "247" | "248" | "249" | "250") - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - ;; - "239" | "241" | "263") - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - echo 10 > /sys/class/net/rmnet0/queues/rx-0/rps_cpus - if [ -f /sys/devices/soc0/platform_subtype_id ]; then - platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id` - fi - if [ -f /sys/devices/soc0/hw_platform ]; then - hw_platform=`cat /sys/devices/soc0/hw_platform` - fi - case "$soc_id" in - "239") - case "$hw_platform" in - "Surf") - case "$platform_subtype_id" in - "1") - start hbtp - ;; - esac - ;; - "MTP") - case "$platform_subtype_id" in - "3") - start hbtp - ;; - esac - ;; - esac - ;; - esac - ;; - "233" | "240" | "242") - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - ;; - esac - ;; -esac - -case "$target" in - "msm8226") - echo 4 > /sys/module/lpm_levels/enable_low_power/l2 - echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/idle_enabled - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate - echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold - echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy - echo 2 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor - echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential - echo 70 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_multi_core - echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential_multi_core - echo 787200 > /sys/devices/system/cpu/cpufreq/ondemand/optimal_freq - echo 300000 > /sys/devices/system/cpu/cpufreq/ondemand/sync_freq - echo 80 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_any_cpu_load - echo 300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq - chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - chown -h root.system /sys/devices/system/cpu/cpu1/online - chown -h root.system /sys/devices/system/cpu/cpu2/online - chown -h root.system /sys/devices/system/cpu/cpu3/online - chmod -h 664 /sys/devices/system/cpu/cpu1/online - chmod -h 664 /sys/devices/system/cpu/cpu2/online - chmod -h 664 /sys/devices/system/cpu/cpu3/online - ;; -esac - -case "$target" in - "msm8610") - echo 4 > /sys/module/lpm_levels/enable_low_power/l2 - echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/idle_enabled - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate - echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold - echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy - echo 2 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor - echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential - echo 70 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_multi_core - echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential_multi_core - echo 787200 > /sys/devices/system/cpu/cpufreq/ondemand/optimal_freq - echo 300000 > /sys/devices/system/cpu/cpufreq/ondemand/sync_freq - echo 80 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_any_cpu_load - echo 300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - setprop ro.qualcomm.perf.min_freq 7 - echo 1 > /sys/kernel/mm/ksm/deferred_timer - chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq - chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - chown -h root.system /sys/devices/system/cpu/cpu1/online - chown -h root.system /sys/devices/system/cpu/cpu2/online - chown -h root.system /sys/devices/system/cpu/cpu3/online - chmod -h 664 /sys/devices/system/cpu/cpu1/online - chmod -h 664 /sys/devices/system/cpu/cpu2/online - chmod -h 664 /sys/devices/system/cpu/cpu3/online - ;; -esac - -case "$target" in - "msm8916") - - if [ -f /sys/devices/soc0/soc_id ]; then - soc_id=`cat /sys/devices/soc0/soc_id` - else - soc_id=`cat /sys/devices/system/soc/soc0/id` - fi - - # HMP scheduler settings for 8916, 8936, 8939 - echo 2 > /proc/sys/kernel/sched_window_stats_policy - echo 3 > /proc/sys/kernel/sched_ravg_hist_size - - # HMP Task packing settings for 8916, 8936, 8939 - echo 50 > /proc/sys/kernel/sched_small_task - echo 50 > /proc/sys/kernel/sched_mostly_idle_load - echo 10 > /proc/sys/kernel/sched_mostly_idle_nr_run - - # Apply governor settings for 8916 - case "$soc_id" in - "206" | "247" | "248" | "249" | "250") - - # disable thermal core_control to update scaling_min_freq - echo 0 > /sys/module/msm_thermal/core_control/enabled - echo 1 > /sys/devices/system/cpu/cpu0/online - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - # enable thermal core_control now - echo 1 > /sys/module/msm_thermal/core_control/enabled - - echo "25000 1094400:50000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load - echo 25000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate - echo 998400 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq - echo 0 > /sys/devices/system/cpu/cpufreq/interactive/io_is_busy - echo "1 800000:85 998400:90 1094400:80" > /sys/devices/system/cpu/cpufreq/interactive/target_loads - echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time - echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor - - # Bring up all cores online - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - echo 1 > /sys/devices/system/cpu/cpu4/online - ;; - esac - - # Apply governor settings for 8936 - case "$soc_id" in - "233" | "240" | "242") - - # disable thermal core_control to update scaling_min_freq, interactive gov - echo 0 > /sys/module/msm_thermal/core_control/enabled - echo 1 > /sys/devices/system/cpu/cpu0/online - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - # enable thermal core_control now - echo 1 > /sys/module/msm_thermal/core_control/enabled - - echo "25000 1113600:50000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load - echo 25000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate - echo 960000 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq - echo 0 > /sys/devices/system/cpu/cpufreq/interactive/io_is_busy - echo "1 800000:85 1113600:90 1267200:80" > /sys/devices/system/cpu/cpufreq/interactive/target_loads - echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time - echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor - - # Bring up all cores online - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - echo 1 > /sys/devices/system/cpu/cpu4/online - ;; - esac - - # Apply governor settings for 8939 - case "$soc_id" in - "239" | "241" | "263") - - for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor - do - echo "bw_hwmon" > $devfreq_gov - done - - # disable thermal core_control to update interactive gov settings - echo 0 > /sys/module/msm_thermal/core_control/enabled - - # enable governor for perf cluster - echo 1 > /sys/devices/system/cpu/cpu0/online - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo "25000 1113600:50000" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load - echo 25000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate - echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy - echo "1 800000:85 1113600:90 1267200:80" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads - echo 50000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time - echo 50000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/sampling_down_factor - echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - - # enable governor for power cluster - echo 1 > /sys/devices/system/cpu/cpu4/online - echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor - echo "25000 800000:50000" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load - echo 25000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate - echo 800000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq - echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy - echo "1 499200:75 800000:80" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads - echo 50000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time - echo 50000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/sampling_down_factor - echo 499200 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq - - # enable thermal core_control now - echo 1 > /sys/module/msm_thermal/core_control/enabled - - # Bring up all cores online - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - echo 1 > /sys/devices/system/cpu/cpu4/online - echo 1 > /sys/devices/system/cpu/cpu5/online - echo 1 > /sys/devices/system/cpu/cpu6/online - echo 1 > /sys/devices/system/cpu/cpu7/online - - # HMP scheduler (big.Little cluster related) settings - echo 60 > /proc/sys/kernel/sched_upmigrate - echo 40 > /proc/sys/kernel/sched_downmigrate - ;; - esac - ;; -esac - -case "$target" in - "msm8952") - - #Enable adaptive LMK and set vmpressure_file_min - ProductName=`getprop ro.product.name` - if [ "$ProductName" == "msm8952_32" ] || [ "$ProductName" == "msm8952_32_LMT" ]; then - echo 1 > /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk - echo 53059 > /sys/module/lowmemorykiller/parameters/vmpressure_file_min - elif [ "$ProductName" == "msm8952_64" ] || [ "$ProductName" == "msm8952_64_LMT" ]; then - echo 1 > /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk - echo 81250 > /sys/module/lowmemorykiller/parameters/vmpressure_file_min - fi - - if [ -f /sys/devices/soc0/soc_id ]; then - soc_id=`cat /sys/devices/soc0/soc_id` - else - soc_id=`cat /sys/devices/system/soc/soc0/id` - fi - case "$soc_id" in - "264" | "289") - # Apply Scheduler and Governor settings for 8952 - - # HMP scheduler settings - echo 3 > /proc/sys/kernel/sched_window_stats_policy - echo 3 > /proc/sys/kernel/sched_ravg_hist_size - echo 20000000 > /proc/sys/kernel/sched_ravg_window - - # HMP Task packing settings - echo 20 > /proc/sys/kernel/sched_small_task - echo 30 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu4/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu5/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu6/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu7/sched_mostly_idle_load - - echo 3 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu4/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu5/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu6/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu7/sched_mostly_idle_nr_run - - echo 0 > /sys/devices/system/cpu/cpu0/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu1/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu2/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu3/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu4/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu5/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu6/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu7/sched_prefer_idle - - for devfreq_gov in /sys/class/devfreq/qcom,mincpubw*/governor - do - echo "cpufreq" > $devfreq_gov - done - - for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor - do - echo "bw_hwmon" > $devfreq_gov - for cpu_io_percent in /sys/class/devfreq/qcom,cpubw*/bw_hwmon/io_percent - do - echo 20 > $cpu_io_percent - done - for cpu_guard_band in /sys/class/devfreq/qcom,cpubw*/bw_hwmon/guard_band_mbps - do - echo 30 > $cpu_guard_band - done - done - - for gpu_bimc_io_percent in /sys/class/devfreq/qcom,gpubw*/bw_hwmon/io_percent - do - echo 40 > $gpu_bimc_io_percent - done - # disable thermal & BCL core_control to update interactive gov settings - echo 0 > /sys/module/msm_thermal/core_control/enabled - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n disable > $mode - done - for hotplug_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_mask - do - bcl_hotplug_mask=`cat $hotplug_mask` - echo 0 > $hotplug_mask - done - for hotplug_soc_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_soc_mask - do - bcl_soc_hotplug_mask=`cat $hotplug_soc_mask` - echo 0 > $hotplug_soc_mask - done - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n enable > $mode - done - - # enable governor for perf cluster - echo 1 > /sys/devices/system/cpu/cpu0/online - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo "19000 1113600:39000" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay - echo 85 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate - echo 1113600 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy - echo "1 960000:85 1113600:90 1344000:80" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads - echo 40000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time - echo 40000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/sampling_down_factor - echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - - # enable governor for power cluster - echo 1 > /sys/devices/system/cpu/cpu4/online - echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor - echo 39000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate - echo 800000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq - echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy - echo "1 800000:90" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads - echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time - echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/sampling_down_factor - echo 800000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq - - # re-enable thermal & BCL core_control now - echo 1 > /sys/module/msm_thermal/core_control/enabled - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n disable > $mode - done - for hotplug_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_mask - do - echo $bcl_hotplug_mask > $hotplug_mask - done - for hotplug_soc_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_soc_mask - do - echo $bcl_soc_hotplug_mask > $hotplug_soc_mask - done - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n enable > $mode - done - - # Bring up all cores online - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - echo 1 > /sys/devices/system/cpu/cpu4/online - echo 1 > /sys/devices/system/cpu/cpu5/online - echo 1 > /sys/devices/system/cpu/cpu6/online - echo 1 > /sys/devices/system/cpu/cpu7/online - - # Keeping Low power modes disabled - echo 1 > /sys/module/lpm_levels/parameters/sleep_disabled - - # HMP scheduler (big.Little cluster related) settings - echo 93 > /proc/sys/kernel/sched_upmigrate - echo 83 > /proc/sys/kernel/sched_downmigrate - - # Enable sched guided freq control - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_migration_notif - echo 50000 > /proc/sys/kernel/sched_freq_inc_notify - echo 50000 > /proc/sys/kernel/sched_freq_dec_notify - - # Enable core control - insmod /system/lib/modules/core_ctl.ko - echo 2 > /sys/devices/system/cpu/cpu0/core_ctl/min_cpus - echo 4 > /sys/devices/system/cpu/cpu0/core_ctl/max_cpus - echo 68 > /sys/devices/system/cpu/cpu0/core_ctl/busy_up_thres - echo 40 > /sys/devices/system/cpu/cpu0/core_ctl/busy_down_thres - echo 100 > /sys/devices/system/cpu/cpu0/core_ctl/offline_delay_ms - - # Enable dynamic clock gating - echo 1 > /sys/module/lpm_levels/lpm_workarounds/dynamic_clock_gating - # Enable timer migration to little cluster - echo 1 > /proc/sys/kernel/power_aware_timer_migration - ;; - *) - panel=`cat /sys/class/graphics/fb0/modes` - if [ "${panel:5:1}" == "x" ]; then - panel=${panel:2:3} - else - panel=${panel:2:4} - fi - - # Apply Scheduler and Governor settings for 8976 - # SoC IDs are 266, 274, 277, 278 - - # HMP scheduler (big.Little cluster related) settings - echo 95 > /proc/sys/kernel/sched_upmigrate - echo 85 > /proc/sys/kernel/sched_downmigrate - - if [ $panel -gt 1080 ]; then - echo 2 > /proc/sys/kernel/sched_window_stats_policy - echo 5 > /proc/sys/kernel/sched_ravg_hist_size - else - echo 3 > /proc/sys/kernel/sched_window_stats_policy - echo 3 > /proc/sys/kernel/sched_ravg_hist_size - - echo 0 > /sys/devices/system/cpu/cpu0/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu1/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu2/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu3/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu4/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu5/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu6/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu7/sched_prefer_idle - fi - - echo 3 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu4/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu5/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu6/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu7/sched_mostly_idle_nr_run - - for devfreq_gov in /sys/class/devfreq/qcom,mincpubw*/governor - do - echo "cpufreq" > $devfreq_gov - done - - for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor - do - echo "bw_hwmon" > $devfreq_gov - for cpu_io_percent in /sys/class/devfreq/qcom,cpubw*/bw_hwmon/io_percent - do - echo 20 > $cpu_io_percent - done - for cpu_guard_band in /sys/class/devfreq/qcom,cpubw*/bw_hwmon/guard_band_mbps - do - echo 30 > $cpu_guard_band - done - done - - for gpu_bimc_io_percent in /sys/class/devfreq/qcom,gpubw*/bw_hwmon/io_percent - do - echo 40 > $gpu_bimc_io_percent - done - # disable thermal & BCL core_control to update interactive gov settings - echo 0 > /sys/module/msm_thermal/core_control/enabled - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n disable > $mode - done - for hotplug_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_mask - do - bcl_hotplug_mask=`cat $hotplug_mask` - echo 0 > $hotplug_mask - done - for hotplug_soc_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_soc_mask - do - bcl_soc_hotplug_mask=`cat $hotplug_soc_mask` - echo 0 > $hotplug_soc_mask - done - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n enable > $mode - done - - # enable governor for power cluster - echo 1 > /sys/devices/system/cpu/cpu0/online - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 90 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy - echo 40000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time - echo 691200 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - - # enable governor for perf cluster - echo 1 > /sys/devices/system/cpu/cpu4/online - echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor - echo 85 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate - echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy - echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time - echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/sampling_down_factor - echo 883200 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq - - if [ $panel -gt 1080 ]; then - echo 19000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay - echo 1017600 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq - echo "80" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads - echo 1382400 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq - echo 800000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/max_freq_hysteresis - echo "19000 1382400:39000" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay - echo "85 1382400:90 1747200:80" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads - # HMP Task packing settings for 8976 - echo 30 > /proc/sys/kernel/sched_small_task - echo 20 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_load - echo 20 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_load - echo 20 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_load - echo 20 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_load - echo 20 > /sys/devices/system/cpu/cpu4/sched_mostly_idle_load - echo 20 > /sys/devices/system/cpu/cpu5/sched_mostly_idle_load - echo 20 > /sys/devices/system/cpu/cpu6/sched_mostly_idle_load - echo 20 > /sys/devices/system/cpu/cpu7/sched_mostly_idle_load - else - echo 39000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay - echo 806400 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq - echo "1 691200:90" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads - echo 1190400 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq - echo "19000 1190400:39000" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay - echo "85 1190400:90 1747200:80" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads - # HMP Task packing settings for 8976 - echo 20 > /proc/sys/kernel/sched_small_task - echo 30 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu4/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu5/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu6/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu7/sched_mostly_idle_load - fi - - # re-enable thermal & BCL core_control now - echo 1 > /sys/module/msm_thermal/core_control/enabled - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n disable > $mode - done - for hotplug_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_mask - do - echo $bcl_hotplug_mask > $hotplug_mask - done - for hotplug_soc_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_soc_mask - do - echo $bcl_soc_hotplug_mask > $hotplug_soc_mask - done - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n enable > $mode - done - - # Bring up all cores online - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - echo 1 > /sys/devices/system/cpu/cpu4/online - echo 1 > /sys/devices/system/cpu/cpu5/online - echo 1 > /sys/devices/system/cpu/cpu6/online - echo 1 > /sys/devices/system/cpu/cpu7/online - - #Disable CPU retention modes for 32bit builds - ProductName=`getprop ro.product.name` - if [ "$ProductName" == "msm8952_32" ] || [ "$ProductName" == "msm8952_32_LMT" ]; then - echo N > /sys/module/lpm_levels/system/a72/cpu4/retention/idle_enabled - echo N > /sys/module/lpm_levels/system/a72/cpu5/retention/idle_enabled - echo N > /sys/module/lpm_levels/system/a72/cpu6/retention/idle_enabled - echo N > /sys/module/lpm_levels/system/a72/cpu7/retention/idle_enabled - fi - - # Enable Low power modes - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - - # Enable sched guided freq control - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_migration_notif - echo 50000 > /proc/sys/kernel/sched_freq_inc_notify - echo 50000 > /proc/sys/kernel/sched_freq_dec_notify - - # Enable core control - insmod /system/lib/modules/core_ctl.ko - #for 8976 - echo 2 > /sys/devices/system/cpu/cpu4/core_ctl/min_cpus - echo 4 > /sys/devices/system/cpu/cpu4/core_ctl/max_cpus - echo 68 > /sys/devices/system/cpu/cpu4/core_ctl/busy_up_thres - echo 40 > /sys/devices/system/cpu/cpu4/core_ctl/busy_down_thres - echo 100 > /sys/devices/system/cpu/cpu4/core_ctl/offline_delay_ms - - # Enable timer migration to little cluster - echo 1 > /proc/sys/kernel/power_aware_timer_migration - ;; - esac - ;; -esac - -case "$target" in - "msm8953") - - if [ -f /sys/devices/soc0/soc_id ]; then - soc_id=`cat /sys/devices/soc0/soc_id` - else - soc_id=`cat /sys/devices/system/soc/soc0/id` - fi - - if [ -f /sys/devices/soc0/hw_platform ]; then - hw_platform=`cat /sys/devices/soc0/hw_platform` - else - hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform` - fi - - case "$soc_id" in - "293" | "304" ) - - # Start Host based Touch processing - case "$hw_platform" in - "MTP" | "Surf" | "RCM" ) - #if this directory is present, it means that a - #1200p panel is connected to the device. - dir="/sys/bus/i2c/devices/3-0038" -#Bug159415 , zhangsan.libin, DEL, 2016.3.29 -# if [ ! -d "$dir" ]; then - # start hbtp -# fi - ;; - esac - - #scheduler settings - echo 3 > /proc/sys/kernel/sched_window_stats_policy - echo 3 > /proc/sys/kernel/sched_ravg_hist_size - - #task packing settings - echo 0 > /sys/devices/system/cpu/cpu0/sched_static_cpu_pwr_cost - echo 0 > /sys/devices/system/cpu/cpu1/sched_static_cpu_pwr_cost - echo 0 > /sys/devices/system/cpu/cpu2/sched_static_cpu_pwr_cost - echo 0 > /sys/devices/system/cpu/cpu3/sched_static_cpu_pwr_cost - echo 0 > /sys/devices/system/cpu/cpu4/sched_static_cpu_pwr_cost - echo 0 > /sys/devices/system/cpu/cpu5/sched_static_cpu_pwr_cost - echo 0 > /sys/devices/system/cpu/cpu6/sched_static_cpu_pwr_cost - echo 0 > /sys/devices/system/cpu/cpu7/sched_static_cpu_pwr_cost - - #init task load, restrict wakeups to preferred cluster - echo 15 > /proc/sys/kernel/sched_init_task_load - # spill load is set to 100% by default in the kernel - echo 3 > /proc/sys/kernel/sched_spill_nr_run - # Apply inter-cluster load balancer restrictions - echo 1 > /proc/sys/kernel/sched_restrict_cluster_spill - - - for devfreq_gov in /sys/class/devfreq/qcom,mincpubw*/governor - do - echo "cpufreq" > $devfreq_gov - done - - for devfreq_gov in /sys/class/devfreq/soc:qcom,cpubw/governor - do - echo "bw_hwmon" > $devfreq_gov - for cpu_io_percent in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/io_percent - do - echo 20 > $cpu_io_percent - done - for cpu_guard_band in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/guard_band_mbps - do - echo 30 > $cpu_guard_band - done - done - - for gpu_bimc_io_percent in /sys/class/devfreq/soc:qcom,gpubw/bw_hwmon/io_percent - do - echo 40 > $gpu_bimc_io_percent - done - - # Configure DCC module to capture critical register contents when device crashes - for DCC_PATH in /sys/bus/platform/devices/*.dcc* - do - echo 0 > $DCC_PATH/enable - echo cap > $DCC_PATH/func_type - echo sram > $DCC_PATH/data_sink - - # Register specifies APC CPR closed-loop settled voltage for current voltage corner - echo 0xb1d2c18 1 > $DCC_PATH/config - - # Register specifies SW programmed open-loop voltage for current voltage corner - echo 0xb1d2900 1 > $DCC_PATH/config - - # Register specifies APM switch settings and APM FSM state - echo 0xb1112b0 1 > $DCC_PATH/config - - # Register specifies CPR mode change state and also #online cores input to CPR HW - echo 0xb018798 1 > $DCC_PATH/config - - echo 1 > $DCC_PATH/enable - done - - # disable thermal & BCL core_control to update interactive gov settings - echo 0 > /sys/module/msm_thermal/core_control/enabled - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n disable > $mode - done - for hotplug_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_mask - do - bcl_hotplug_mask=`cat $hotplug_mask` - echo 0 > $hotplug_mask - done - for hotplug_soc_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_soc_mask - do - bcl_soc_hotplug_mask=`cat $hotplug_soc_mask` - echo 0 > $hotplug_soc_mask - done - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n enable > $mode - done - - #governor settings - echo 1 > /sys/devices/system/cpu/cpu0/online - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo "19000 1401600:39000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay - echo 85 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate - echo 1401600 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq - echo 0 > /sys/devices/system/cpu/cpufreq/interactive/io_is_busy - echo "85 1401600:80" > /sys/devices/system/cpu/cpufreq/interactive/target_loads - echo 39000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time - echo 40000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor - echo 652800 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - - # re-enable thermal & BCL core_control now - echo 1 > /sys/module/msm_thermal/core_control/enabled - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n disable > $mode - done - for hotplug_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_mask - do - echo $bcl_hotplug_mask > $hotplug_mask - done - for hotplug_soc_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_soc_mask - do - echo $bcl_soc_hotplug_mask > $hotplug_soc_mask - done - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n enable > $mode - done - - # Bring up all cores online - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - echo 1 > /sys/devices/system/cpu/cpu4/online - echo 1 > /sys/devices/system/cpu/cpu5/online - echo 1 > /sys/devices/system/cpu/cpu6/online - echo 1 > /sys/devices/system/cpu/cpu7/online - - # Enable low power modes - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - - # SMP scheduler - echo 100 > /proc/sys/kernel/sched_upmigrate - echo 100 > /proc/sys/kernel/sched_downmigrate - - # Enable sched guided freq control - echo 1 > /sys/devices/system/cpu/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpufreq/interactive/use_migration_notif - echo 200000 > /proc/sys/kernel/sched_freq_inc_notify - echo 200000 > /proc/sys/kernel/sched_freq_dec_notify - - # Set Memory parameters - configure_memory_parameters - ;; - esac - ;; -esac - -case "$target" in - "msm8937") - - if [ -f /sys/devices/soc0/soc_id ]; then - soc_id=`cat /sys/devices/soc0/soc_id` - else - soc_id=`cat /sys/devices/system/soc/soc0/id` - fi - - if [ -f /sys/devices/soc0/hw_platform ]; then - hw_platform=`cat /sys/devices/soc0/hw_platform` - else - hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform` - fi - - case "$soc_id" in - "303" | "307" | "308" | "309" ) - - # Start Host based Touch processing - case "$hw_platform" in - "MTP" | "Surf" | "RCM" ) - # start hbtp - ;; - esac - # Apply Scheduler and Governor settings for 8917 - - # HMP scheduler settings - echo 3 > /proc/sys/kernel/sched_window_stats_policy - echo 3 > /proc/sys/kernel/sched_ravg_hist_size - echo 20000000 > /proc/sys/kernel/sched_ravg_window - - # HMP Task packing settings - echo 20 > /proc/sys/kernel/sched_small_task - echo 30 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_load - - echo 3 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_nr_run - - echo 0 > /sys/devices/system/cpu/cpu0/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu1/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu2/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu3/sched_prefer_idle - - for devfreq_gov in /sys/class/devfreq/qcom,mincpubw*/governor - do - echo "cpufreq" > $devfreq_gov - done - - for devfreq_gov in /sys/class/devfreq/soc:qcom,cpubw/governor - do - echo "bw_hwmon" > $devfreq_gov - for cpu_io_percent in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/io_percent - do - echo 20 > $cpu_io_percent - done - for cpu_guard_band in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/guard_band_mbps - do - echo 30 > $cpu_guard_band - done - done - - for gpu_bimc_io_percent in /sys/class/devfreq/soc:qcom,gpubw/bw_hwmon/io_percent - do - echo 40 > $gpu_bimc_io_percent - done - - # disable thermal core_control to update interactive gov settings - echo 0 > /sys/module/msm_thermal/core_control/enabled - - echo 1 > /sys/devices/system/cpu/cpu0/online - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo "19000 1094400:39000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay - echo 85 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate - echo 1094400 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq - echo 0 > /sys/devices/system/cpu/cpufreq/interactive/io_is_busy - echo "1 960000:85 1094400:90" > /sys/devices/system/cpu/cpufreq/interactive/target_loads - echo 40000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time - echo 40000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor - echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - - # re-enable thermal core_control now - echo 1 > /sys/module/msm_thermal/core_control/enabled - - # Bring up all cores online - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - - # Enable low power modes - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - - # Enable sched guided freq control - echo 1 > /sys/devices/system/cpu/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpufreq/interactive/use_migration_notif - echo 50000 > /proc/sys/kernel/sched_freq_inc_notify - echo 50000 > /proc/sys/kernel/sched_freq_dec_notify - - # Enable dynamic clock gating - echo 1 > /sys/module/lpm_levels/lpm_workarounds/dynamic_clock_gating - # Enable timer migration to little cluster - echo 1 > /proc/sys/kernel/power_aware_timer_migration - # Set Memory parameters - configure_memory_parameters - ;; - *) - ;; - esac - - case "$soc_id" in - "294" | "295" ) - - # Start Host based Touch processing - case "$hw_platform" in - "MTP" | "Surf" | "RCM" ) - #start hbtp #Req-bug 164399,libin.wt, MODIFY , 20160413,close hbtp service - ;; - esac - - # Apply Scheduler and Governor settings for 8937 - - # HMP scheduler settings - echo 3 > /proc/sys/kernel/sched_window_stats_policy - echo 3 > /proc/sys/kernel/sched_ravg_hist_size - echo 20000000 > /proc/sys/kernel/sched_ravg_window - - # HMP Task packing settings - echo 20 > /proc/sys/kernel/sched_small_task - echo 30 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu4/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu5/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu6/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu7/sched_mostly_idle_load - - echo 3 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu4/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu5/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu6/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu7/sched_mostly_idle_nr_run - - echo 0 > /sys/devices/system/cpu/cpu0/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu1/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu2/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu3/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu4/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu5/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu6/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu7/sched_prefer_idle - - for devfreq_gov in /sys/class/devfreq/qcom,mincpubw*/governor - do - echo "cpufreq" > $devfreq_gov - done - - for devfreq_gov in /sys/class/devfreq/soc:qcom,cpubw/governor - do - echo "bw_hwmon" > $devfreq_gov - for cpu_io_percent in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/io_percent - do - echo 20 > $cpu_io_percent - done - for cpu_guard_band in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/guard_band_mbps - do - echo 30 > $cpu_guard_band - done - done - - for gpu_bimc_io_percent in /sys/class/devfreq/soc:qcom,gpubw/bw_hwmon/io_percent - do - echo 40 > $gpu_bimc_io_percent - done - # disable thermal core_control to update interactive gov settings - echo 0 > /sys/module/msm_thermal/core_control/enabled - - # enable governor for perf cluster - echo 1 > /sys/devices/system/cpu/cpu0/online - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo "19000 1094400:39000" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay - echo 85 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate - echo 1094400 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy - echo "1 960000:85 1094400:90 1344000:80" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads - echo 40000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time - echo 40000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/sampling_down_factor - echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - - # enable governor for power cluster - echo 1 > /sys/devices/system/cpu/cpu4/online - echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor - echo 39000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate - echo 768000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq - echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy - echo "1 768000:90" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads - echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time - echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/sampling_down_factor - echo 768000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq - - # re-enable thermal core_control now - echo 1 > /sys/module/msm_thermal/core_control/enabled - - # Bring up all cores online - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - echo 1 > /sys/devices/system/cpu/cpu4/online - echo 1 > /sys/devices/system/cpu/cpu5/online - echo 1 > /sys/devices/system/cpu/cpu6/online - echo 1 > /sys/devices/system/cpu/cpu7/online - # Disable L2-GDHS low power modes - echo N > /sys/module/lpm_levels/system/pwr/pwr-l2-gdhs/idle_enabled - echo N > /sys/module/lpm_levels/system/pwr/pwr-l2-gdhs/suspend_enabled - echo N > /sys/module/lpm_levels/system/perf/perf-l2-gdhs/idle_enabled - echo N > /sys/module/lpm_levels/system/perf/perf-l2-gdhs/suspend_enabled - - # Enable low power modes - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - - # HMP scheduler (big.Little cluster related) settings - echo 93 > /proc/sys/kernel/sched_upmigrate - echo 83 > /proc/sys/kernel/sched_downmigrate - - # Enable sched guided freq control - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_migration_notif - echo 50000 > /proc/sys/kernel/sched_freq_inc_notify - echo 50000 > /proc/sys/kernel/sched_freq_dec_notify - - # Enable core control - insmod /system/lib/modules/core_ctl.ko - echo 2 > /sys/devices/system/cpu/cpu0/core_ctl/min_cpus - echo 4 > /sys/devices/system/cpu/cpu0/core_ctl/max_cpus - echo 68 > /sys/devices/system/cpu/cpu0/core_ctl/busy_up_thres - echo 40 > /sys/devices/system/cpu/cpu0/core_ctl/busy_down_thres - echo 100 > /sys/devices/system/cpu/cpu0/core_ctl/offline_delay_ms - echo 1 > /sys/devices/system/cpu/cpu0/core_ctl/is_big_cluster - - # Enable dynamic clock gating - echo 1 > /sys/module/lpm_levels/lpm_workarounds/dynamic_clock_gating - # Enable timer migration to little cluster - echo 1 > /proc/sys/kernel/power_aware_timer_migration - # Set Memory parameters - configure_memory_parameters - - ;; - *) - - ;; - esac - ;; -esac - -case "$target" in - "gold") - echo 2 > /sys/class/net/rmnet0/queues/rx-0/rps_cpus - ;; -esac - -case "$target" in - "apq8084") - echo 4 > /sys/module/lpm_levels/enable_low_power/l2 - echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/retention/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/retention/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/retention/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/retention/idle_enabled - echo 0 > /sys/module/msm_thermal/core_control/enabled - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor - do - echo "cpubw_hwmon" > $devfreq_gov - done - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo "interactive" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor - echo "interactive" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor - echo "interactive" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor - echo "20000 1400000:40000 1700000:20000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load - echo 1497600 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq - echo "85 1500000:90 1800000:70" > /sys/devices/system/cpu/cpufreq/interactive/target_loads - echo 40000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time - echo 20 > /sys/module/cpu_boost/parameters/boost_ms - echo 1728000 > /sys/module/cpu_boost/parameters/sync_threshold - echo 100000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor - echo 1497600 > /sys/module/cpu_boost/parameters/input_boost_freq - echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms - echo 1 > /dev/cpuctl/apps/cpu.notify_on_migrate - echo 300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - echo 300000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq - echo 300000 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq - echo 300000 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq - echo 1 > /sys/module/msm_thermal/core_control/enabled - setprop ro.qualcomm.perf.cores_online 2 - chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq - chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - chown -h root.system /sys/devices/system/cpu/mfreq - chmod -h 220 /sys/devices/system/cpu/mfreq - chown -h root.system /sys/devices/system/cpu/cpu1/online - chown -h root.system /sys/devices/system/cpu/cpu2/online - chown -h root.system /sys/devices/system/cpu/cpu3/online - chmod -h 664 /sys/devices/system/cpu/cpu1/online - chmod -h 664 /sys/devices/system/cpu/cpu2/online - chmod -h 664 /sys/devices/system/cpu/cpu3/online - ;; -esac - -case "$target" in - "mpq8092") - echo 4 > /sys/module/lpm_levels/enable_low_power/l2 - echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/retention/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/retention/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/retention/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/retention/idle_enabled - echo 0 > /sys/module/msm_thermal/core_control/enabled - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor - echo "ondemand" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor - echo "ondemand" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor - echo 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate - echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold - echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy - echo 300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - echo 300000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq - echo 300000 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq - echo 300000 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq - echo 1 > /sys/module/msm_thermal/core_control/enabled - chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq - chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - chown -h root.system /sys/devices/system/cpu/mfreq - chmod -h 220 /sys/devices/system/cpu/mfreq - chown -h root.system /sys/devices/system/cpu/cpu1/online - chown -h root.system /sys/devices/system/cpu/cpu2/online - chown -h root.system /sys/devices/system/cpu/cpu3/online - chmod -h 664 /sys/devices/system/cpu/cpu1/online - chmod -h 664 /sys/devices/system/cpu/cpu2/online - chmod -h 664 /sys/devices/system/cpu/cpu3/online - ;; -esac - -case "$target" in - "msm8992") - # disable thermal bcl hotplug to switch governor - echo 0 > /sys/module/msm_thermal/core_control/enabled - echo -n disable > /sys/devices/soc.*/qcom,bcl.*/mode - bcl_hotplug_mask=`cat /sys/devices/soc.*/qcom,bcl.*/hotplug_mask` - echo 0 > /sys/devices/soc.*/qcom,bcl.*/hotplug_mask - echo -n enable > /sys/devices/soc.*/qcom,bcl.*/mode - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - # configure governor settings for little cluster - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif - echo 19000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate - echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy - echo 80 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads - echo 40000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time - echo 80000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/max_freq_hysteresis - echo 384000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - # online CPU4 - echo 1 > /sys/devices/system/cpu/cpu4/online - # configure governor settings for big cluster - echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_migration_notif - echo 19000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate - echo 1536000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy - echo 85 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads - echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time - echo 80000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/max_freq_hysteresis - echo 384000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq - # re-enable thermal and BCL hotplug - echo 1 > /sys/module/msm_thermal/core_control/enabled - echo -n disable > /sys/devices/soc.*/qcom,bcl.*/mode - echo $bcl_hotplug_mask > /sys/devices/soc.*/qcom,bcl.*/hotplug_mask - echo $bcl_soc_hotplug_mask > /sys/devices/soc.*/qcom,bcl.*/hotplug_soc_mask - echo -n enable > /sys/devices/soc.*/qcom,bcl.*/mode - # plugin remaining A57s - echo 1 > /sys/devices/system/cpu/cpu5/online - # input boost configuration - echo 0:1248000 > /sys/module/cpu_boost/parameters/input_boost_freq - echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms - # Enable task migration fixups in the scheduler - echo 1 > /proc/sys/kernel/sched_migration_fixup - for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor - do - echo "bw_hwmon" > $devfreq_gov - done - #enable rps static configuration - echo 8 > /sys/class/net/rmnet_ipa0/queues/rx-0/rps_cpus - echo 30 > /proc/sys/kernel/sched_small_task - ;; -esac - -case "$target" in - "msm8994") - # ensure at most one A57 is online when thermal hotplug is disabled - echo 0 > /sys/devices/system/cpu/cpu5/online - echo 0 > /sys/devices/system/cpu/cpu6/online - echo 0 > /sys/devices/system/cpu/cpu7/online - # in case CPU4 is online, limit its frequency - echo 960000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq - # Limit A57 max freq from msm_perf module in case CPU 4 is offline - echo "4:960000 5:960000 6:960000 7:960000" > /sys/module/msm_performance/parameters/cpu_max_freq - # disable thermal bcl hotplug to switch governor - echo 0 > /sys/module/msm_thermal/core_control/enabled - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n disable > $mode - done - for hotplug_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_mask - do - bcl_hotplug_mask=`cat $hotplug_mask` - echo 0 > $hotplug_mask - done - for hotplug_soc_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_soc_mask - do - bcl_soc_hotplug_mask=`cat $hotplug_soc_mask` - echo 0 > $hotplug_soc_mask - done - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n enable > $mode - done - # configure governor settings for little cluster - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif - echo 19000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate - echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy - echo 80 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads - echo 40000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time - echo 80000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/max_freq_hysteresis - echo 384000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - # online CPU4 - echo 1 > /sys/devices/system/cpu/cpu4/online - # Best effort limiting for first time boot if msm_performance module is absent - echo 960000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq - # configure governor settings for big cluster - echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_migration_notif - echo "19000 1400000:39000 1700000:19000" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate - echo 1248000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy - echo "85 1500000:90 1800000:70" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads - echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time - echo 80000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/max_freq_hysteresis - echo 384000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq - # restore A57's max - cat /sys/devices/system/cpu/cpu4/cpufreq/cpuinfo_max_freq > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq - # re-enable thermal and BCL hotplug - echo 1 > /sys/module/msm_thermal/core_control/enabled - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n disable > $mode - done - for hotplug_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_mask - do - echo $bcl_hotplug_mask > $hotplug_mask - done - for hotplug_soc_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_soc_mask - do - echo $bcl_soc_hotplug_mask > $hotplug_soc_mask - done - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n enable > $mode - done - # plugin remaining A57s - echo 1 > /sys/devices/system/cpu/cpu5/online - echo 1 > /sys/devices/system/cpu/cpu6/online - echo 1 > /sys/devices/system/cpu/cpu7/online - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - # Restore CPU 4 max freq from msm_performance - echo "4:4294967295 5:4294967295 6:4294967295 7:4294967295" > /sys/module/msm_performance/parameters/cpu_max_freq - # input boost configuration - echo 0:1344000 > /sys/module/cpu_boost/parameters/input_boost_freq - echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms - # Setting b.L scheduler parameters - echo 1 > /proc/sys/kernel/sched_migration_fixup - echo 30 > /proc/sys/kernel/sched_small_task - echo 20 > /proc/sys/kernel/sched_mostly_idle_load - echo 3 > /proc/sys/kernel/sched_mostly_idle_nr_run - echo 99 > /proc/sys/kernel/sched_upmigrate - echo 85 > /proc/sys/kernel/sched_downmigrate - echo 400000 > /proc/sys/kernel/sched_freq_inc_notify - echo 400000 > /proc/sys/kernel/sched_freq_dec_notify - #enable rps static configuration - echo 8 > /sys/class/net/rmnet_ipa0/queues/rx-0/rps_cpus - for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor - do - echo "bw_hwmon" > $devfreq_gov - done - ;; -esac - -case "$target" in - "msm8996") - # disable thermal bcl hotplug to switch governor - echo 0 > /sys/module/msm_thermal/core_control/enabled - echo -n disable > /sys/devices/soc/soc:qcom,bcl/mode - bcl_hotplug_mask=`cat /sys/devices/soc/soc:qcom,bcl/hotplug_mask` - echo 0 > /sys/devices/soc/soc:qcom,bcl/hotplug_mask - bcl_soc_hotplug_mask=`cat /sys/devices/soc/soc:qcom,bcl/hotplug_soc_mask` - echo 0 > /sys/devices/soc/soc:qcom,bcl/hotplug_soc_mask - echo -n enable > /sys/devices/soc/soc:qcom,bcl/mode - - # Enable Adaptive LMK - echo 1 > /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk - echo 81250 > /sys/module/lowmemorykiller/parameters/vmpressure_file_min - # configure governor settings for little cluster - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif - echo 19000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate - echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy - echo 80 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads - echo 19000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time - echo 79000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/max_freq_hysteresis - echo 300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/ignore_hispeed_on_notif - # online CPU2 - echo 1 > /sys/devices/system/cpu/cpu2/online - # configure governor settings for big cluster - echo "interactive" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor - echo 1 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/use_migration_notif - echo "19000 1400000:39000 1700000:19000" > /sys/devices/system/cpu/cpu2/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/timer_rate - echo 1248000 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/hispeed_freq - echo 1 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/io_is_busy - echo "85 1500000:90 1800000:70" > /sys/devices/system/cpu/cpu2/cpufreq/interactive/target_loads - echo 19000 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/min_sample_time - echo 79000 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/max_freq_hysteresis - echo 300000 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq - echo 1 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/ignore_hispeed_on_notif - # re-enable thermal and BCL hotplug - echo 1 > /sys/module/msm_thermal/core_control/enabled - echo -n disable > /sys/devices/soc/soc:qcom,bcl/mode - echo $bcl_hotplug_mask > /sys/devices/soc/soc:qcom,bcl/hotplug_mask - echo $bcl_soc_hotplug_mask > /sys/devices/soc/soc:qcom,bcl/hotplug_soc_mask - echo -n enable > /sys/devices/soc/soc:qcom,bcl/mode - # input boost configuration - echo "0:1324800 2:1324800" > /sys/module/cpu_boost/parameters/input_boost_freq - echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms - # Setting b.L scheduler parameters - echo 0 > /proc/sys/kernel/sched_boost - echo 1 > /proc/sys/kernel/sched_migration_fixup - echo 95 > /proc/sys/kernel/sched_upmigrate - echo 90 > /proc/sys/kernel/sched_downmigrate - echo 400000 > /proc/sys/kernel/sched_freq_inc_notify - echo 400000 > /proc/sys/kernel/sched_freq_dec_notify - echo 3 > /proc/sys/kernel/sched_spill_nr_run - echo 100 > /proc/sys/kernel/sched_init_task_load - # Enable bus-dcvs - for cpubw in /sys/class/devfreq/*qcom,cpubw* - do - echo "bw_hwmon" > $cpubw/governor - echo 50 > $cpubw/polling_interval - echo 1525 > $cpubw/min_freq - echo "1525 5195 11863 13763" > $cpubw/bw_hwmon/mbps_zones - echo 4 > $cpubw/bw_hwmon/sample_ms - echo 34 > $cpubw/bw_hwmon/io_percent - echo 20 > $cpubw/bw_hwmon/hist_memory - echo 10 > $cpubw/bw_hwmon/hyst_length - echo 0 > $cpubw/bw_hwmon/low_power_ceil_mbps - echo 34 > $cpubw/bw_hwmon/low_power_io_percent - echo 20 > $cpubw/bw_hwmon/low_power_delay - echo 0 > $cpubw/bw_hwmon/guard_band_mbps - echo 250 > $cpubw/bw_hwmon/up_scale - echo 1600 > $cpubw/bw_hwmon/idle_mbps - done - - for memlat in /sys/class/devfreq/*qcom,memlat-cpu* - do - echo "mem_latency" > $memlat/governor - echo 10 > $memlat/polling_interval - done - - soc_revision=`cat /sys/devices/soc0/revision` - if [ "$soc_revision" == "1.0" ] || [ "$soc_revision" == "2.0" ]; then - #Disable suspend for v1.0 and v2.0 - echo pwr_dbg > /sys/power/wake_lock - elif [ "$soc_revision" == "2.1" ]; then - # Enable C4.D4.E4.M3 LPM modes - # Disable D3 state - echo 0 > /sys/module/lpm_levels/system/pwr/pwr-l2-gdhs/idle_enabled - echo 0 > /sys/module/lpm_levels/system/perf/perf-l2-gdhs/idle_enabled - echo N > /sys/module/lpm_levels/parameters/sleep_disabled - # Disable DEF-FPC mode - echo N > /sys/module/lpm_levels/system/pwr/cpu0/fpc-def/idle_enabled - echo N > /sys/module/lpm_levels/system/pwr/cpu1/fpc-def/idle_enabled - echo N > /sys/module/lpm_levels/system/perf/cpu2/fpc-def/idle_enabled - echo N > /sys/module/lpm_levels/system/perf/cpu3/fpc-def/idle_enabled - elif [ "$soc_revision" == "3.0" ]; then - # Enable all LPMs by default - # This will enable C4, D4, D3, E4 and M3 LPMs - echo N > /sys/module/lpm_levels/parameters/sleep_disabled - else - # Enable all LPMs by default - # This will enable C4, D4, D3, E4 and M3 LPMs - echo N > /sys/module/lpm_levels/parameters/sleep_disabled - fi - # Starting io prefetcher service - start iop - ;; -esac - -case "$target" in - "msm8909") - - if [ -f /sys/devices/soc0/soc_id ]; then - soc_id=`cat /sys/devices/soc0/soc_id` - else - soc_id=`cat /sys/devices/system/soc/soc0/id` - fi - - # HMP scheduler settings for 8909 similiar to 8916 - echo 2 > /proc/sys/kernel/sched_window_stats_policy - echo 3 > /proc/sys/kernel/sched_ravg_hist_size - - # HMP Task packing settings for 8909 similiar to 8916 - echo 30 > /proc/sys/kernel/sched_small_task - echo 50 > /proc/sys/kernel/sched_mostly_idle_load - echo 10 > /proc/sys/kernel/sched_mostly_idle_nr_run - - # Apply governor settings for 8909 - - # disable thermal core_control to update scaling_min_freq - echo 0 > /sys/module/msm_thermal/core_control/enabled - echo 1 > /sys/devices/system/cpu/cpu0/online - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 400000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - # enable thermal core_control now - echo 1 > /sys/module/msm_thermal/core_control/enabled - - echo "25000 800000:50000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load - echo 25000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate - echo 800000 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq - echo 0 > /sys/devices/system/cpu/cpufreq/interactive/io_is_busy - echo "1 400000:85 998400:90 1094400:80" > /sys/devices/system/cpu/cpufreq/interactive/target_loads - echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time - echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor - - # Bring up all cores online - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - - for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor - do - echo "bw_hwmon" > $devfreq_gov - done - ;; -esac - -case "$target" in - "msm7627_ffa" | "msm7627_surf" | "msm7627_6x") - echo 25000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate - ;; -esac - -case "$target" in - "qsd8250_surf" | "qsd8250_ffa" | "qsd8650a_st1x") - echo 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate - ;; -esac - -case "$target" in - "qsd8650a_st1x") - mount -t debugfs none /sys/kernel/debug - ;; -esac - -chown -h system /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate -chown -h system /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor -chown -h system /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy - -emmc_boot=`getprop ro.boot.emmc` -case "$emmc_boot" - in "true") - chown -h system /sys/devices/platform/rs300000a7.65536/force_sync - chown -h system /sys/devices/platform/rs300000a7.65536/sync_sts - chown -h system /sys/devices/platform/rs300100a7.65536/force_sync - chown -h system /sys/devices/platform/rs300100a7.65536/sync_sts - ;; -esac - -case "$target" in - "msm8960" | "msm8660" | "msm7630_surf") - echo 10 > /sys/devices/platform/msm_sdcc.3/idle_timeout - ;; - "msm7627a") - echo 10 > /sys/devices/platform/msm_sdcc.1/idle_timeout - ;; -esac - -# Post-setup services -case "$target" in - "msm8660" | "msm8960" | "msm8226" | "msm8610" | "mpq8092" ) - start mpdecision - ;; - "msm8916") - if [ -f /sys/devices/soc0/soc_id ]; then - soc_id=`cat /sys/devices/soc0/soc_id` - else - soc_id=`cat /sys/devices/system/soc/soc0/id` - fi - if [ $soc_id = 239 ]; then - setprop ro.min_freq_0 800000 - setprop ro.min_freq_4 499200 - else - setprop ro.min_freq_0 800000 - fi - #start perfd after setprop - start perfd # start perfd on 8916 and 8939 - ;; - "msm8937" | "msm8953") - echo 128 > /sys/block/mmcblk0/bdi/read_ahead_kb - echo 128 > /sys/block/mmcblk0/queue/read_ahead_kb - echo 128 > /sys/block/dm-0/queue/read_ahead_kb - echo 128 > /sys/block/dm-1/queue/read_ahead_kb - rm /data/system/perfd/default_values - start perfd - ;; - "msm8974") - start mpdecision - echo 512 > /sys/block/mmcblk0/bdi/read_ahead_kb - ;; - "msm8994" | "msm8992" | "msm8996") - rm /data/system/perfd/default_values - setprop ro.min_freq_0 384000 - setprop ro.min_freq_4 384000 - start perfd - ;; - "apq8084") - rm /data/system/perfd/default_values - start mpdecision - echo 512 > /sys/block/mmcblk0/bdi/read_ahead_kb - echo 512 > /sys/block/sda/bdi/read_ahead_kb - echo 512 > /sys/block/sdb/bdi/read_ahead_kb - echo 512 > /sys/block/sdc/bdi/read_ahead_kb - echo 512 > /sys/block/sdd/bdi/read_ahead_kb - echo 512 > /sys/block/sde/bdi/read_ahead_kb - echo 512 > /sys/block/sdf/bdi/read_ahead_kb - echo 512 > /sys/block/sdg/bdi/read_ahead_kb - echo 512 > /sys/block/sdh/bdi/read_ahead_kb - ;; - "msm7627a") - if [ -f /sys/devices/soc0/soc_id ]; then - soc_id=`cat /sys/devices/soc0/soc_id` - else - soc_id=`cat /sys/devices/system/soc/soc0/id` - fi - case "$soc_id" in - "127" | "128" | "129") - start mpdecision - ;; - esac - ;; -esac - -# Enable Power modes and set the CPU Freq Sampling rates -case "$target" in - "msm7627a") - start qosmgrd - echo 1 > /sys/module/pm2/modes/cpu0/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/pm2/modes/cpu1/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/pm2/modes/cpu0/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/pm2/modes/cpu1/standalone_power_collapse/suspend_enabled - #SuspendPC: - echo 1 > /sys/module/pm2/modes/cpu0/power_collapse/suspend_enabled - #IdlePC: - echo 1 > /sys/module/pm2/modes/cpu0/power_collapse/idle_enabled - echo 25000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate - ;; -esac - -# Change adj level and min_free_kbytes setting for lowmemory killer to kick in -case "$target" in - "msm7627a") - echo 0,1,2,4,9,12 > /sys/module/lowmemorykiller/parameters/adj - echo 5120 > /proc/sys/vm/min_free_kbytes - ;; -esac - -# Install AdrenoTest.apk if not already installed -if [ -f /data/prebuilt/AdrenoTest.apk ]; then - if [ ! -d /data/data/com.qualcomm.adrenotest ]; then - pm install /data/prebuilt/AdrenoTest.apk - fi -fi - -# Install SWE_Browser.apk if not already installed -if [ -f /data/prebuilt/SWE_AndroidBrowser.apk ]; then - if [ ! -d /data/data/com.android.swe.browser ]; then - pm install /data/prebuilt/SWE_AndroidBrowser.apk - fi -fi - -# Change adj level and min_free_kbytes setting for lowmemory killer to kick in -case "$target" in - "msm8660") - start qosmgrd - echo 0,1,2,4,9,12 > /sys/module/lowmemorykiller/parameters/adj - echo 5120 > /proc/sys/vm/min_free_kbytes - ;; -esac - -# Let kernel know our image version/variant/crm_version -if [ -f /sys/devices/soc0/select_image ]; then - image_version="10:" - image_version+=`getprop ro.build.id` - image_version+=":" - image_version+=`getprop ro.build.version.incremental` - image_variant=`getprop ro.product.name` - image_variant+="-" - image_variant+=`getprop ro.build.type` - oem_version=`getprop ro.build.version.codename` - echo 10 > /sys/devices/soc0/select_image - echo $image_version > /sys/devices/soc0/image_version - echo $image_variant > /sys/devices/soc0/image_variant - echo $oem_version > /sys/devices/soc0/image_crm_version -fi diff --git a/rootdir/init.qcom.power.rc b/rootdir/init.qcom.power.rc index 91eee7f..061a281 100644 --- a/rootdir/init.qcom.power.rc +++ b/rootdir/init.qcom.power.rc @@ -1,4 +1,4 @@ -on property:sys.boot_completed=1 +on enable-low-power # HMP scheduler settings write /proc/sys/kernel/sched_window_stats_policy 3 write /proc/sys/kernel/sched_ravg_hist_size 3 @@ -124,5 +124,11 @@ on property:sys.boot_completed=1 rm /data/system/perfd/default_values start perfd +on property:sys.boot_completed=1 + trigger enable-low-power + swapon_all fstab.qcom write /proc/sys/vm/swappiness 100 + +on charger + trigger enable-low-power diff --git a/rootdir/init.qcom.rc b/rootdir/init.qcom.rc index 6b4ea82..a61e421 100644 --- a/rootdir/init.qcom.rc +++ b/rootdir/init.qcom.rc @@ -832,12 +832,6 @@ service sensor-sh /system/bin/sh /init.qcom.sensors.sh user root oneshot -service qcom-post-boot /system/bin/sh /system/etc/init.qcom.post_boot.sh - class late_start - user root - disabled - oneshot - service qti-testscripts /system/bin/sh /system/etc/init.qcom.testscripts.sh class late_start user root @@ -858,7 +852,6 @@ service wifi-crda /system/bin/sh /system/etc/init.crda.sh oneshot on property:sys.boot_completed=1 - start qcom-post-boot start qti-testscripts service atfwd /system/bin/ATFWD-daemon diff --git a/rootdir/init.target.rc b/rootdir/init.target.rc index 2d903bc..136c47e 100644 --- a/rootdir/init.target.rc +++ b/rootdir/init.target.rc @@ -231,7 +231,6 @@ on charger mount ext4 /dev/block/bootdevice/by-name/system /system ro barrier=1 load_all_props setprop persist.sys.usb.config mass_storage - start qcom-post-boot setprop persist.sys.usb.config mass_storage start hvdcp_opti