diff options
Diffstat (limited to 'rootdir/etc/init.qcom.power.rc')
-rwxr-xr-x | rootdir/etc/init.qcom.power.rc | 140 |
1 files changed, 140 insertions, 0 deletions
diff --git a/rootdir/etc/init.qcom.power.rc b/rootdir/etc/init.qcom.power.rc new file mode 100755 index 0000000..f922a88 --- /dev/null +++ b/rootdir/etc/init.qcom.power.rc @@ -0,0 +1,140 @@ +on boot + # Update foreground and background cpusets + write /dev/cpuset/foreground/cpus 0-3 + write /dev/cpuset/foreground/boost/cpus 0-3 + write /dev/cpuset/background/cpus 0-3 + write /dev/cpuset/system-background/cpus 0-3 + write /dev/cpuset/top-app/cpus 0-3 + + # Add a cpuset for the camera daemon + # we want all cores for camera + mkdir /dev/cpuset/camera-daemon + write /dev/cpuset/camera-daemon/cpus 0-3 + write /dev/cpuset/camera-daemon/mems 0 + chown system system /dev/cpuset/camera-daemon + chown system system /dev/cpuset/camera-daemon/tasks + chmod 0664 /dev/cpuset/camera-daemon/tasks + + # Enable sched boost + write /proc/sys/kernel/sched_boost 1 + +on enable-low-power + # Disable thermal bcl hotplug to switch governor + write /sys/module/msm_thermal/core_control/enabled 0 + write /sys/devices/soc/soc:qcom,bcl/mode "disable" + write /sys/devices/soc/soc:qcom,bcl/hotplug_mask 0 + write /sys/devices/soc/soc:qcom,bcl/hotplug_soc_mask 0 + write /sys/devices/soc/soc:qcom,bcl/mode "enable" + + # Enable Adaptive LMK + + write /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk 1 + write /sys/module/lowmemorykiller/parameters/vmpressure_file_min 81250 + + # Configure governor settings for little cluster + write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "interactive" + write /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load 1 + write /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif 1 + write /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay 19000 + write /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load 90 + write /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate 20000 + write /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq 960000 + write /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy 1 + write /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads 80 + write /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time 19000 + write /sys/devices/system/cpu/cpu0/cpufreq/interactive/max_freq_hysteresis 79000 + write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 307200 + write /sys/devices/system/cpu/cpu0/cpufreq/interactive/ignore_hispeed_on_notif 1 + write /sys/devices/system/cpu/cpu0/cpufreq/interactive/enable_prediction 1 + + # Online CPU2 + write /sys/devices/system/cpu/cpu2/online 1 + + # Configure governor settings for big cluster + write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor "interactive" + write /sys/devices/system/cpu/cpu2/cpufreq/interactive/use_sched_load 1 + write /sys/devices/system/cpu/cpu2/cpufreq/interactive/use_migration_notif 1 + write /sys/devices/system/cpu/cpu2/cpufreq/interactive/above_hispeed_delay "19000 1400000:39000 1700000:19000 2100000:79000" + write /sys/devices/system/cpu/cpu2/cpufreq/interactive/go_hispeed_load 90 + write /sys/devices/system/cpu/cpu2/cpufreq/interactive/timer_rate 20000 + write /sys/devices/system/cpu/cpu2/cpufreq/interactive/hispeed_freq 1248000 + write /sys/devices/system/cpu/cpu2/cpufreq/interactive/io_is_busy 1 + write /sys/devices/system/cpu/cpu2/cpufreq/interactive/target_loads "85 1500000:90 1800000:70 2100000:95" + write /sys/devices/system/cpu/cpu2/cpufreq/interactive/min_sample_time 19000 + write /sys/devices/system/cpu/cpu2/cpufreq/interactive/max_freq_hysteresis 79000 + write /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq 307200 + write /sys/devices/system/cpu/cpu2/cpufreq/interactive/ignore_hispeed_on_notif 1 + write /sys/devices/system/cpu/cpu2/cpufreq/interactive/enable_prediction 1 + + # Re-enable thermal and BCL hotplug + write /sys/module/msm_thermal/core_control/enabled 1 + write /sys/devices/soc/soc:qcom,bcl/mode "disable" + write /sys/devices/soc/soc:qcom,bcl/hotplug_mask 12 + write /sys/devices/soc/soc:qcom,bcl/hotplug_soc_mask 8 + write /sys/devices/soc/soc:qcom,bcl/mode "enable" + + # Input boost configuration + write /sys/module/cpu_boost/parameters/input_boost_freq "0:1324800 2:1324800" + write /sys/module/cpu_boost/parameters/input_boost_ms 40 + + # Setting b.L scheduler parameters + write /proc/sys/kernel/sched_boost 0 + write /proc/sys/kernel/sched_upmigrate 95 + write /proc/sys/kernel/sched_downmigrate 90 + write /proc/sys/kernel/sched_freq_inc_notify 400000 + write /proc/sys/kernel/sched_freq_dec_notify 400000 + write /proc/sys/kernel/sched_spill_nr_run 3 + write /proc/sys/kernel/sched_init_task_load 100 + + # Enable bus-dcvs + write /sys/class/devfreq/soc:qcom,cpubw/governor "bw_hwmon" + write /sys/class/devfreq/soc:qcom,cpubw/polling_interval 50 + write /sys/class/devfreq/soc:qcom,cpubw/min_freq 1525 + write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/mbps_zones "1525 5195 11863 13763" + write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/sample_ms 4 + write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/io_percent 34 + write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/hist_memory 20 + write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/hyst_length 10 + write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/low_power_ceil_mbps 0 + write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/low_power_io_percent 34 + write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/low_power_delay 20 + write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/guard_band_mbps 0 + write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/up_scale 250 + write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/idle_mbps 1600 + + write /sys/class/devfreq/soc:qcom,memlat-cpu0/governor "mem_latency" + write /sys/class/devfreq/soc:qcom,memlat-cpu0/polling_interval 10 + write /sys/class/devfreq/soc:qcom,memlat-cpu2/governor "mem_latency" + write /sys/class/devfreq/soc:qcom,memlat-cpu2/polling_interval 10 + write /sys/class/devfreq/soc:qcom,mincpubw/governor "cpufreq" + + write /sys/module/lpm_levels/parameters/sleep_disabled "N" + + # Set perfd properties + setprop sys.post_boot.parsed 1 + + # Starting io prefetcher service + start iop + +on charger + write /sys/module/msm_thermal/core_control/cpus_offlined 14 + write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "powersave" + write /sys/devices/system/cpu/cpu1/online 0 + write /sys/devices/system/cpu/cpu2/online 0 + write /sys/devices/system/cpu/cpu3/online 0 + write /sys/module/lpm_levels/parameters/sleep_disabled 0 + +on class_start:late_start + write /proc/sys/kernel/sched_boost 1 + + + trigger enable-low-power + +on property:init.svc.recovery=running + trigger enable-low-power + +on property:dev.bootcomplete=1 + write /proc/sys/kernel/sched_boost 0 + + + setprop sys.io.scheduler "bfq" |