aboutsummaryrefslogtreecommitdiff
path: root/rootdir/etc/init.qcom.power_msm8916.rc
blob: f7bb26cdc172e246186bf40ee2f6ac1144c043ee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
on enable-low-power
    # HMP scheduler load tracking settings
    write /proc/sys/kernel/sched_window_stats_policy 3
    write /proc/sys/kernel/sched_ravg_hist_size 3

    # HMP Task packing settings for 8916
    write /proc/sys/kernel/sched_small_task 20
    write /proc/sys/kernel/sched_mostly_idle_load 30
    write /proc/sys/kernel/sched_mostly_idle_nr_run 3

    # disable thermal core_control to update interactive governor settings
    write /sys/module/msm_thermal/core_control/enabled 0

    # enable governor
    write /sys/devices/system/cpu/cpu0/online 1
    write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "interactive"
    write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 800000
    # enable thermal core_control now
    write /sys/module/msm_thermal/core_control/enabled 1

    write /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay "25000 1094400:50000"
    write /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load 90
    write /sys/devices/system/cpu/cpufreq/interactive/timer_rate 30000
    write /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq 998400
    write /sys/devices/system/cpu/cpufreq/interactive/io_is_busy 0
    write /sys/devices/system/cpu/cpufreq/interactive/target_loads "1 800000:85 998400:90 1094400:80"
    write /sys/devices/system/cpu/cpufreq/interactive/min_sample_time 50000
    write /sys/devices/system/cpu/cpufreq/interactive/max_freq_hysteresis 50000

    # bring all CPUs online
    write /sys/devices/system/cpu/cpu1/online 1
    write /sys/devices/system/cpu/cpu2/online 1
    write /sys/devices/system/cpu/cpu3/online 1

    # Enable low power modes
    write /sys/module/lpm_levels/parameters/sleep_disabled 0

    # Set RPS mask
    write /sys/class/net/rmnet0/queues/rx-0/rps_cpus 2

    # Update foreground and background cpusets
    # Reserve CPU 3 for the top app
    write /dev/cpuset/foreground/cpus 0-2
    write /dev/cpuset/foreground/boost/cpus 0-3
    write /dev/cpuset/background/cpus 0
    write /dev/cpuset/system-background/cpus 0-1
    write /dev/cpuset/top-app/cpus 0-3

    rm /data/system/perfd/default_values
    start perfd

on charger
    write /sys/module/lpm_levels/parameters/sleep_disabled 0
    write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "powersave"

on class_start:late_start
    trigger enable-low-power

on property:init.svc.recovery=running
    trigger enable-low-power

on property:dev.bootcomplete=1
    setprop sys.io.scheduler bfq