kunlun2: Import power init scripts from bonito
Signed-off-by: SamarV-121 <samarvispute121@gmail.com>
This commit is contained in:
parent
2d90abaa7c
commit
a64a64897d
4 changed files with 141 additions and 1 deletions
|
@ -39,7 +39,8 @@ PRODUCT_COPY_FILES += \
|
|||
# Common init scripts
|
||||
PRODUCT_PACKAGES += \
|
||||
init.qcom.rc \
|
||||
init.safailnet.rc
|
||||
init.safailnet.rc \
|
||||
init.power.rc
|
||||
|
||||
# Device-specific settings
|
||||
PRODUCT_PACKAGES += \
|
||||
|
|
|
@ -15,3 +15,11 @@ LOCAL_MODULE_CLASS := ETC
|
|||
LOCAL_SRC_FILES := etc/init.safailnet.rc
|
||||
LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/init
|
||||
include $(BUILD_PREBUILT)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := init.power.rc
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_MODULE_CLASS := ETC
|
||||
LOCAL_SRC_FILES := etc/init.power.rc
|
||||
LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/init
|
||||
include $(BUILD_PREBUILT)
|
||||
|
|
84
rootdir/etc/init.power.rc
Normal file
84
rootdir/etc/init.power.rc
Normal file
|
@ -0,0 +1,84 @@
|
|||
#
|
||||
# Copyright (C) 2017 The Android Open-Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
on property:sys.boot_completed=1
|
||||
# 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/bw_hwmon/mbps_zones "1144 1720 2086 2929 3879 5931 6881"
|
||||
write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/sample_ms 4
|
||||
write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/io_percent 68
|
||||
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/down_thres 80
|
||||
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,mincpubw/governor "cpufreq"
|
||||
|
||||
# Enable memlat governor
|
||||
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-cpu0/mem_latency/ratio_ceil 400
|
||||
write /sys/class/devfreq/soc:qcom,memlat-cpu6/governor "mem_latency"
|
||||
write /sys/class/devfreq/soc:qcom,memlat-cpu6/polling_interval 10
|
||||
write /sys/class/devfreq/soc:qcom,memlat-cpu6/mem_latency/ratio_ceil 400
|
||||
|
||||
write /sys/class/devfreq/soc:qcom,l3-cpu0/governor "mem_latency"
|
||||
write /sys/class/devfreq/soc:qcom,l3-cpu0/polling_interval 10
|
||||
write /sys/class/devfreq/soc:qcom,l3-cpu0/mem_latency/ratio_ceil 400
|
||||
write /sys/class/devfreq/soc:qcom,l3-cpu6/governor "mem_latency"
|
||||
write /sys/class/devfreq/soc:qcom,l3-cpu6/polling_interval 10
|
||||
write /sys/class/devfreq/soc:qcom,l3-cpu6/mem_latency/ratio_ceil 400
|
||||
|
||||
# Limit the min frequency of LC to 576MHz
|
||||
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 576000
|
||||
|
||||
# Limit the min frequency of BC to 825MHz
|
||||
write /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq 825600
|
||||
|
||||
# Turn on sleep modes.
|
||||
write /sys/module/lpm_levels/parameters/sleep_disabled 0
|
||||
|
||||
# Enable idle state listener
|
||||
write /sys/class/drm/card0/device/idle_encoder_mask 1
|
||||
write /sys/class/drm/card0/device/idle_timeout_ms 100
|
||||
|
||||
# Change l3-cdsp to userspace governor
|
||||
write /sys/class/devfreq/soc:qcom,l3-cdsp/governor userspace
|
||||
chown system system /sys/class/devfreq/soc:qcom,l3-cdsp/userspace/set_freq
|
||||
|
||||
# Disable CPU Retention
|
||||
write /sys/module/lpm_levels/L3/cpu0/ret/idle_enabled N
|
||||
write /sys/module/lpm_levels/L3/cpu1/ret/idle_enabled N
|
||||
write /sys/module/lpm_levels/L3/cpu2/ret/idle_enabled N
|
||||
write /sys/module/lpm_levels/L3/cpu3/ret/idle_enabled N
|
||||
write /sys/module/lpm_levels/L3/cpu4/ret/idle_enabled N
|
||||
write /sys/module/lpm_levels/L3/cpu5/ret/idle_enabled N
|
||||
write /sys/module/lpm_levels/L3/cpu6/ret/idle_enabled N
|
||||
write /sys/module/lpm_levels/L3/cpu7/ret/idle_enabled N
|
||||
|
||||
# Disable console_suspend to get better logging for kernel crashes
|
||||
on boot
|
||||
write /sys/module/printk/parameters/console_suspend N
|
||||
|
||||
#Enable suspend to idle mode to reduce latency during suspend/resume
|
||||
write /sys/power/mem_sleep "s2idle"
|
||||
|
||||
# If UART is on, enable console_suspend on boot_complete to save power
|
||||
on property:sys.boot_completed=1 && property:init.svc.console=running
|
||||
write /sys/module/printk/parameters/console_suspend Y
|
|
@ -1,4 +1,48 @@
|
|||
on init
|
||||
# Disable powersaving
|
||||
write /sys/module/lpm_levels/parameters/sleep_disabled 1
|
||||
|
||||
# bring back all cores
|
||||
write /sys/devices/system/cpu/cpu0/online 1
|
||||
write /sys/devices/system/cpu/cpu1/online 1
|
||||
write /sys/devices/system/cpu/cpu2/online 1
|
||||
write /sys/devices/system/cpu/cpu3/online 1
|
||||
write /sys/devices/system/cpu/cpu4/online 1
|
||||
write /sys/devices/system/cpu/cpu5/online 1
|
||||
write /sys/devices/system/cpu/cpu6/online 1
|
||||
write /sys/devices/system/cpu/cpu7/online 1
|
||||
|
||||
# configure governor settings for little cluster
|
||||
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor schedutil
|
||||
write /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us 500
|
||||
write /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us 20000
|
||||
|
||||
# configure governor settings for big cluster
|
||||
write /sys/devices/system/cpu/cpu6/cpufreq/scaling_governor schedutil
|
||||
write /sys/devices/system/cpu/cpu6/cpufreq/schedutil/up_rate_limit_us 500
|
||||
write /sys/devices/system/cpu/cpu6/cpufreq/schedutil/down_rate_limit_us 20000
|
||||
|
||||
# set default schedTune value for foreground/top-app
|
||||
write /dev/stune/foreground/schedtune.prefer_idle 1
|
||||
write /dev/stune/top-app/schedtune.boost 10
|
||||
write /dev/stune/top-app/schedtune.prefer_idle 1
|
||||
|
||||
mkdir /dev/cpuset/camera-daemon
|
||||
write /dev/cpuset/camera-daemon/cpus 0-7
|
||||
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
|
||||
|
||||
# b/37682684 Enable suspend clock reporting
|
||||
write /sys/kernel/debug/clk/debug_suspend 1
|
||||
|
||||
# ZRAM setup
|
||||
write /sys/block/zram0/comp_algorithm lz4
|
||||
write /proc/sys/vm/page-cluster 0
|
||||
|
||||
on late-fs
|
||||
# Runtime fs tuning
|
||||
write /sys/block/sda/queue/iostats 0
|
||||
write /sys/block/sda/queue/scheduler cfq
|
||||
write /sys/block/sda/queue/read_ahead_kb 2048
|
||||
|
@ -13,6 +57,9 @@ on property:sys.boot_completed=1
|
|||
write /sys/block/sda/queue/nr_requests 128
|
||||
write /sys/block/dm-0/queue/read_ahead_kb 512
|
||||
write /sys/block/dm-1/queue/read_ahead_kb 512
|
||||
|
||||
# Setup runtime blkio
|
||||
# value for group_idle is us
|
||||
write /dev/blkio/blkio.weight 1000
|
||||
write /dev/blkio/background/blkio.weight 200
|
||||
write /dev/blkio/blkio.group_idle 2000
|
||||
|
|
Loading…
Reference in a new issue