1 # 2 # Copyright (C) 2017 The Android Open-Source Project 3 # 4 # Licensed under the Apache License, Version 2.0 (the "License"); 5 # you may not use this file except in compliance with the License. 6 # You may obtain a copy of the License at 7 # 8 # http://www.apache.org/licenses/LICENSE-2.0 9 # 10 # Unless required by applicable law or agreed to in writing, software 11 # distributed under the License is distributed on an "AS IS" BASIS, 12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 # See the License for the specific language governing permissions and 14 # limitations under the License. 15 # 16 17 on property:sys.boot_completed=1 18 # Enable bus-dcvs 19 write /sys/class/devfreq/soc:qcom,cpubw/governor "bw_hwmon" 20 write /sys/class/devfreq/soc:qcom,cpubw/polling_interval 50 21 write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/mbps_zones "2288 4577 6500 8132 9155 10681" 22 write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/sample_ms 4 23 write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/io_percent 40 24 write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/hist_memory 20 25 write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/hyst_length 10 26 write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/guard_band_mbps 0 27 write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/up_scale 250 28 write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/idle_mbps 1600 29 30 write /sys/class/devfreq/soc:qcom,llccbw/governor "bw_hwmon" 31 write /sys/class/devfreq/soc:qcom,llccbw/polling_interval 50 32 write /sys/class/devfreq/soc:qcom,llccbw/bw_hwmon/mbps_zones "1720 2929 3879 5931 6881" 33 write /sys/class/devfreq/soc:qcom,llccbw/bw_hwmon/sample_ms 4 34 write /sys/class/devfreq/soc:qcom,llccbw/bw_hwmon/io_percent 80 35 write /sys/class/devfreq/soc:qcom,llccbw/bw_hwmon/hist_memory 20 36 write /sys/class/devfreq/soc:qcom,llccbw/bw_hwmon/hyst_length 10 37 write /sys/class/devfreq/soc:qcom,llccbw/bw_hwmon/guard_band_mbps 0 38 write /sys/class/devfreq/soc:qcom,llccbw/bw_hwmon/up_scale 250 39 write /sys/class/devfreq/soc:qcom,llccbw/bw_hwmon/idle_mbps 1600 40 41 write /sys/class/devfreq/soc:qcom,mincpubw/governor "cpufreq" 42 43 # Enable memlat governor 44 write /sys/class/devfreq/soc:qcom,memlat-cpu0/governor "mem_latency" 45 write /sys/class/devfreq/soc:qcom,memlat-cpu0/polling_interval 10 46 write /sys/class/devfreq/soc:qcom,memlat-cpu0/mem_latency/ratio_ceil 400 47 write /sys/class/devfreq/soc:qcom,memlat-cpu4/governor "mem_latency" 48 write /sys/class/devfreq/soc:qcom,memlat-cpu4/polling_interval 10 49 write /sys/class/devfreq/soc:qcom,memlat-cpu4/mem_latency/ratio_ceil 400 50 51 write /sys/class/devfreq/soc:qcom,l3-cpu0/governor "mem_latency" 52 write /sys/class/devfreq/soc:qcom,l3-cpu0/polling_interval 10 53 write /sys/class/devfreq/soc:qcom,l3-cpu0/mem_latency/ratio_ceil 400 54 write /sys/class/devfreq/soc:qcom,l3-cpu4/governor "mem_latency" 55 write /sys/class/devfreq/soc:qcom,l3-cpu4/polling_interval 10 56 write /sys/class/devfreq/soc:qcom,l3-cpu4/mem_latency/ratio_ceil 4000 57 58 # Turn on sleep modes. 59 write /sys/module/lpm_levels/parameters/sleep_disabled 0 60 61 # Enable idle state listener 62 write /sys/class/drm/card0/device/idle_encoder_mask 1 63 write /sys/class/drm/card0/device/idle_timeout_ms 100 64 65 # Change l3-cdsp to userspace governor 66 write /sys/class/devfreq/soc:qcom,l3-cdsp/governor userspace 67 chown system system /sys/class/devfreq/soc:qcom,l3-cdsp/userspace/set_freq 68 69 # Disable console_suspend to get better logging for kernel crashes 70 on boot 71 write /sys/module/printk/parameters/console_suspend N 72 73 #Enable suspend to idle mode to reduce latency during suspend/resume 74 write /sys/power/mem_sleep "s2idle" 75 76 # If UART is on, enable console_suspend on boot_complete to save power 77 on property:sys.boot_completed=1 && property:init.svc.console=running 78 write /sys/module/printk/parameters/console_suspend Y 79