sm6250-common: Init changes for pixel sched and libperfmgr

Signed-off-by: Subhajeet Muhuri <subhajeet.muhuri@gmail.com>
This commit is contained in:
Subhajeet Muhuri 2020-08-27 10:19:59 +05:30 committed by Volodymyr Zhdanov
parent a5acb78e21
commit a1a49c6da8
4 changed files with 48 additions and 53 deletions

View File

@ -154,6 +154,7 @@ firmware_directories /vendor/firmware_mnt/image/
/dev/adsprpc-smd-secure 0644 system system
/dev/system_health_monitor 0644 radio system
/dev/mdss_rotator 0664 system system
/dev/cpu_dma_latency 0660 system system
#QDSS
/dev/byte-cntr 0660 system oem_2902

View File

@ -144,53 +144,15 @@ function configure_memory_parameters() {
#Apply settings for atoll
# Core control parameters on silver
echo 0 0 0 0 1 1 > /sys/devices/system/cpu/cpu0/core_ctl/not_preferred
echo 4 > /sys/devices/system/cpu/cpu0/core_ctl/min_cpus
echo 60 > /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 8 > /sys/devices/system/cpu/cpu0/core_ctl/task_thres
echo 0 > /sys/devices/system/cpu/cpu6/core_ctl/enable
# Setting b.L scheduler parameters
# default sched up and down migrate values are 95 and 85
echo 65 > /proc/sys/kernel/sched_downmigrate
echo 71 > /proc/sys/kernel/sched_upmigrate
# default sched up and down migrate values are 100 and 95
echo 85 > /proc/sys/kernel/sched_group_downmigrate
echo 100 > /proc/sys/kernel/sched_group_upmigrate
echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks
#colocation v3 settings
echo 740000 > /proc/sys/kernel/sched_little_cluster_coloc_fmin_khz
# configure governor settings for little cluster
echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us
echo 1248000 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq
echo 576000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo 500 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us
echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us
# configure governor settings for big cluster
echo "schedutil" > /sys/devices/system/cpu/cpu6/cpufreq/scaling_governor
echo 0 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/up_rate_limit_us
echo 0 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/down_rate_limit_us
echo 1267200 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/hispeed_freq
echo 652800 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq
# sched_load_boost as -6 is equivalent to target load as 85. It is per cpu tunable.
echo -6 > /sys/devices/system/cpu/cpu6/sched_load_boost
echo -6 > /sys/devices/system/cpu/cpu7/sched_load_boost
echo 85 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/hispeed_load
# Enable conservative pl
echo 1 > /proc/sys/kernel/sched_conservative_pl
echo "0:1324800" > /sys/module/cpu_boost/parameters/input_boost_freq
echo 120 > /sys/module/cpu_boost/parameters/input_boost_ms
echo "0:0 1:0 2:0 3:0 4:1804800 5:0 6:0 7:2208000" > /sys/module/cpu_boost/parameters/powerkey_input_boost_freq
echo 400 > /sys/module/cpu_boost/parameters/powerkey_input_boost_ms
echo 500 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/up_rate_limit_us
echo 20000 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/down_rate_limit_us
# Set Memory parameters
configure_memory_parameters
@ -277,9 +239,6 @@ function configure_memory_parameters() {
echo 0-2,4-7 > /dev/cpuset/foreground/cpus
echo 0-7 > /dev/cpuset/top-app/cpus
# Turn off scheduler boost at the end
echo 0 > /proc/sys/kernel/sched_boost
# Turn on sleep modes
echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled

View File

@ -30,6 +30,8 @@ import /vendor/etc/init/hw/init.target.rc
import /vendor/etc/init/hw/init.device.rc
on early-init
# Disable EAS
write /proc/sys/kernel/sched_energy_aware 0
mount debugfs debugfs /sys/kernel/debug
chmod 0755 /sys/kernel/debug
@ -518,6 +520,9 @@ on property:sys.boot_completed=1
write /sys/class/drm/card0/device/idle_encoder_mask 1
write /sys/class/drm/card0/device/idle_timeout_ms 100
# Enable EAS
write /proc/sys/kernel/sched_energy_aware 1
# corefile limit
on property:persist.debug.trace=1
mkdir /data/core 0777 root root
@ -1002,6 +1007,10 @@ service esepmdaemon /system/vendor/bin/esepmdaemon
on charger
setprop persist.sys.usb.config mass_storage
load_system_props
# Enable EAS
write /proc/sys/kernel/sched_energy_aware 1
start qcom-post-boot
#add poweroffhandler

View File

@ -29,20 +29,46 @@
on early-init
exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules q6_pdr_dlkm q6_notifier_dlkm snd_event_dlkm apr_dlkm adsp_loader_dlkm q6_dlkm native_dlkm usf_dlkm pinctrl_lpi_dlkm swr_dlkm platform_dlkm hdmi_dlkm stub_dlkm wcd_core_dlkm wsa881x_dlkm bolero_cdc_dlkm wsa_macro_dlkm va_macro_dlkm rx_macro_dlkm tx_macro_dlkm wcd937x_dlkm wcd937x_slave_dlkm wcd938x_dlkm wcd938x_slave_dlkm tas2562_dlkm machine_dlkm
write /proc/sys/kernel/sched_boost 1
mkdir /dsp 0771 media media
mkdir /firmware 0771 system system
mkdir /bt_firmware 0771 system system
symlink /data/tombstones /tombstones
on init
write /dev/stune/foreground/schedtune.sched_boost_no_override 1
write /dev/stune/top-app/schedtune.sched_boost_no_override 1
write /dev/stune/schedtune.colocate 0
write /dev/stune/background/schedtune.colocate 0
write /dev/stune/system-background/schedtune.colocate 0
write /dev/stune/foreground/schedtune.colocate 0
write /dev/stune/top-app/schedtune.colocate 1
# 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
# Setup permission for Power HAL
chown system system /dev/stune/top-app/schedtune.boost
chown system system /dev/stune/top-app/schedtune.prefer_high_cap
chown system system /sys/class/kgsl/kgsl-3d0/max_pwrlevel
chown system system /sys/class/kgsl/kgsl-3d0/min_pwrlevel
chown system system /sys/class/kgsl/kgsl-3d0/force_clk_on
chown system system /sys/class/kgsl/kgsl-3d0/force_rail_on
chown system system /sys/class/kgsl/kgsl-3d0/idle_timer
chown system system /sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/hist_memory
chown system system /sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/hyst_length
chown system system /sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/hyst_trigger_count
chown system system /sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/min_freq
chown system system /sys/class/devfreq/soc:qcom,cpu0-cpu-l3-lat/min_freq
chown system system /sys/class/devfreq/soc:qcom,cpu6-cpu-l3-lat/min_freq
chmod 0664 /dev/stune/top-app/schedtune.boost
chmod 0664 /dev/stune/top-app/schedtune.prefer_high_cap
chmod 0664 /sys/class/kgsl/kgsl-3d0/max_pwrlevel
chmod 0664 /sys/class/kgsl/kgsl-3d0/min_pwrlevel
chmod 0664 /sys/class/kgsl/kgsl-3d0/force_clk_on
chmod 0664 /sys/class/kgsl/kgsl-3d0/force_rail_on
chmod 0664 /sys/class/kgsl/kgsl-3d0/idle_timer
chmod 0664 /sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/hist_memory
chmod 0664 /sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/hyst_length
chmod 0664 /sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/hyst_trigger_count
chmod 0664 /sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/min_freq
chmod 0664 /sys/class/devfreq/soc:qcom,cpu0-cpu-l3-lat/min_freq
chmod 0664 /sys/class/devfreq/soc:qcom,cpu6-cpu-l3-lat/min_freq
write /sys/module/qpnp_rtc/parameters/poweron_alarm 1
wait /dev/block/platform/soc/${ro.boot.bootdevice}
symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice