device_google_zumapro/conf/init.zumapro.soc.rc
Qais Yousef eb5f51eb7a init.zumapro.soc.rc: Match sched_pixel settings to powerhint's
We now default to 500us down_rate_limit_us. Boot with these defaults
too. powerhint can still modify these to whatever setting required by
the specific hint.

Only difference is that down_rate_limit_scale_pow for little is now the
default 1 instead of 2.

Bug: 339664411
Test: PTE A/B test
Flag: NONE no behavior change
Signed-off-by: Qais Yousef <qyousef@google.com>
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:ea40e248c17899d5bb556dad95647db97e30dc4d)
Merged-In: I4f0712faaad87afbb0fc7627c45a61081f91e1e6
Change-Id: I4f0712faaad87afbb0fc7627c45a61081f91e1e6
2024-06-24 23:07:06 +00:00

226 lines
14 KiB
Text

on init
chown system system /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/spc_threshold
chown system system /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/limit_frequency
chown system system /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/pmu_limit_enable
chown system system /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/spc_threshold
chown system system /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/limit_frequency
chown system system /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/pmu_limit_enable
chown system system /sys/devices/system/cpu/cpufreq/policy7/sched_pixel/spc_threshold
chown system system /sys/devices/system/cpu/cpufreq/policy7/sched_pixel/limit_frequency
chown system system /sys/devices/system/cpu/cpufreq/policy7/sched_pixel/pmu_limit_enable
chown system system /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu0_memlat@17000010/memlat_cpuidle_state_aware
chown system system /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu1_memlat@17000010/memlat_cpuidle_state_aware
chown system system /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu2_memlat@17000010/memlat_cpuidle_state_aware
chown system system /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu3_memlat@17000010/memlat_cpuidle_state_aware
chown system system /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu4_memlat@17000010/memlat_cpuidle_state_aware
chown system system /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu5_memlat@17000010/memlat_cpuidle_state_aware
chown system system /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu6_memlat@17000010/memlat_cpuidle_state_aware
chown system system /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu7_memlat@17000010/memlat_cpuidle_state_aware
# Boot time tuning
# Set uclamp_min to capacity of little core + 1 to avoid little core
write /proc/vendor_sched/groups/ta/uclamp_min 190
write /proc/vendor_sched/groups/ta/prefer_idle 1
write /proc/vendor_sched/groups/fg/uclamp_min 190
write /proc/vendor_sched/groups/fg/prefer_idle 1
write /proc/vendor_sched/groups/sys/uclamp_min 190
write /proc/vendor_sched/groups/sys/prefer_idle 1
write /proc/vendor_sched/groups/bg/rampup_multiplier 0
write /proc/vendor_sched/groups/cam/rampup_multiplier 1
write /proc/vendor_sched/groups/cam_power/rampup_multiplier 1
write /proc/vendor_sched/groups/dex2oat/rampup_multiplier 0
write /proc/vendor_sched/groups/fg/rampup_multiplier 0
write /proc/vendor_sched/groups/nnapi/rampup_multiplier 0
write /proc/vendor_sched/groups/ota/rampup_multiplier 0
write /proc/vendor_sched/groups/rt/rampup_multiplier 0
write /proc/vendor_sched/groups/sf/rampup_multiplier 1
write /proc/vendor_sched/groups/sys/rampup_multiplier 0
write /proc/vendor_sched/groups/sys_bg/rampup_multiplier 0
write /proc/vendor_sched/groups/ta/rampup_multiplier 1
write /proc/vendor_sched/adpf_rampup_multiplier 2
# governor setting
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor sched_pixel
write /sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/up_rate_limit_us 500
write /sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/down_rate_limit_us 500
write /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor sched_pixel
write /sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/up_rate_limit_us 500
write /sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/down_rate_limit_us 500
write /sys/devices/system/cpu/cpu7/cpufreq/scaling_governor sched_pixel
write /sys/devices/system/cpu/cpu7/cpufreq/sched_pixel/up_rate_limit_us 500
write /sys/devices/system/cpu/cpu7/cpufreq/sched_pixel/down_rate_limit_us 500
# memlat cpuidle awareness setting
# FIXME(b/301212469) these nodes missing on zuma pro
# TODO(b/308973423) these values need to be tuned
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu0_memlat@17000010/memlat_cpuidle_state_aware 2
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu1_memlat@17000010/memlat_cpuidle_state_aware 2
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu2_memlat@17000010/memlat_cpuidle_state_aware 2
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu3_memlat@17000010/memlat_cpuidle_state_aware 2
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu4_memlat@17000010/memlat_cpuidle_state_aware 2
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu5_memlat@17000010/memlat_cpuidle_state_aware 2
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu6_memlat@17000010/memlat_cpuidle_state_aware 2
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu7_memlat@17000010/memlat_cpuidle_state_aware 2
# change permissions and default values for camera-daemon cpu controller
chown system system /dev/cpuctl/camera-daemon/cpu.uclamp.min
chown system system /dev/cpuctl/camera-daemon/cpu.uclamp.max
chown root root /dev/cpuctl/camera-daemon/cpu.uclamp.latency_sensitive
chown system system /dev/cpuctl/camera-daemon/cgroup.procs
mkdir /dev/cpuset/camera-daemon-high-group
write /dev/cpuset/camera-daemon-high-group/cpus 0-7
write /dev/cpuset/camera-daemon-high-group/mems 0
chown system system /dev/cpuset/camera-daemon-high-group/tasks
chmod 0664 /dev/cpuset/camera-daemon-high-group/tasks
mkdir /dev/cpuset/camera-daemon-mid-group
write /dev/cpuset/camera-daemon-mid-group/cpus 0-7
write /dev/cpuset/camera-daemon-mid-group/mems 0
chown system system /dev/cpuset/camera-daemon-mid-group/tasks
chmod 0664 /dev/cpuset/camera-daemon-mid-group/tasks
mkdir /dev/cpuset/camera-daemon-mid-high-group
write /dev/cpuset/camera-daemon-mid-high-group/cpus 0-7
write /dev/cpuset/camera-daemon-mid-high-group/mems 0
chown system system /dev/cpuset/camera-daemon-mid-high-group/tasks
chmod 0664 /dev/cpuset/camera-daemon-mid-high-group/tasks
# Add memlat governor settings
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu0_memlat@17000010/polling_interval 10
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu1_memlat@17000010/polling_interval 10
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu2_memlat@17000010/polling_interval 10
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu3_memlat@17000010/polling_interval 10
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu4_memlat@17000010/polling_interval 10
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu5_memlat@17000010/polling_interval 10
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu6_memlat@17000010/polling_interval 10
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu7_memlat@17000010/polling_interval 10
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu0_memlat@17000010/mem_latency/ratio_ceil 3800
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu1_memlat@17000010/mem_latency/ratio_ceil 3800
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu2_memlat@17000010/mem_latency/ratio_ceil 3800
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu3_memlat@17000010/mem_latency/ratio_ceil 3800
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu4_memlat@17000010/mem_latency/ratio_ceil 3500
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu5_memlat@17000010/mem_latency/ratio_ceil 3500
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu6_memlat@17000010/mem_latency/ratio_ceil 3500
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu7_memlat@17000010/mem_latency/ratio_ceil 4800
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu0_memlat@17000010/mem_latency/stall_floor 3000
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu1_memlat@17000010/mem_latency/stall_floor 3000
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu2_memlat@17000010/mem_latency/stall_floor 3000
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu3_memlat@17000010/mem_latency/stall_floor 3000
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu4_memlat@17000010/mem_latency/stall_floor 2400
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu5_memlat@17000010/mem_latency/stall_floor 2400
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu6_memlat@17000010/mem_latency/stall_floor 2400
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu7_memlat@17000010/mem_latency/stall_floor 500
on zygote-start
# For PixelLogger configuration file.
chmod 0771 /data/vendor/wifi
write /proc/vendor_sched/groups/ta/uclamp_min 1
write /proc/vendor_sched/groups/fg/uclamp_min 0
write /proc/vendor_sched/groups/sys/uclamp_min 0
write /proc/vendor_sched/groups/ta/preferred_idle_mask_low 0x3f
write /proc/vendor_sched/groups/ta/preferred_idle_mask_mid 0xf0
write /proc/vendor_sched/groups/ta/preferred_idle_mask_high 0xf0
write /proc/vendor_sched/groups/ta/prefer_idle 1
write /proc/vendor_sched/groups/fg/preferred_idle_mask_low 0x3f
write /proc/vendor_sched/groups/fg/preferred_idle_mask_mid 0xf0
write /proc/vendor_sched/groups/fg/preferred_idle_mask_high 0xf0
write /proc/vendor_sched/groups/fg/prefer_idle 1
write /proc/vendor_sched/groups/sys/preferred_idle_mask_low 0x3f
write /proc/vendor_sched/groups/sys/preferred_idle_mask_mid 0xf0
write /proc/vendor_sched/groups/sys/preferred_idle_mask_high 0xf0
write /proc/vendor_sched/groups/sys/prefer_idle 1
write /proc/vendor_sched/groups/bg/ug 0
write /proc/vendor_sched/groups/sys_bg/ug 0
write /proc/vendor_sched/groups/ota/ug 0
write /proc/vendor_sched/groups/dex2oat/ug 1
write /proc/vendor_sched/groups/ta/ug 2
write /proc/vendor_sched/groups/fg/ug 2
write /proc/vendor_sched/groups/nnapi/ug 2
write /proc/vendor_sched/groups/rt/ug 2
write /proc/vendor_sched/groups/sf/ug 2
write /proc/vendor_sched/groups/sys/ug 2
on property:init.svc.vendor.charger=running
stop keymaster-4-0
setprop sys.usb.configfs 1
setprop vendor.setup.power 1
# keep one little and one big
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/devices/system/cpu/cpu4/online 0
write /sys/devices/system/cpu/cpu5/online 0
write /sys/devices/system/cpu/cpu6/online 0
on property:sys.boot_completed=1
# Set kswapd affinity
write /sys/kernel/vendor_mm/kswapd_cpu_affinity 7f
write /sys/kernel/vendor_mm/pa_kill/cpu_affinity 7f
# Restore prefer idle
write /proc/vendor_sched/groups/ta/preferred_idle_mask_low 0xff
write /proc/vendor_sched/groups/ta/preferred_idle_mask_mid 0xff
write /proc/vendor_sched/groups/ta/preferred_idle_mask_high 0xff
write /proc/vendor_sched/groups/fg/preferred_idle_mask_low 0xff
write /proc/vendor_sched/groups/fg/preferred_idle_mask_mid 0xff
write /proc/vendor_sched/groups/fg/preferred_idle_mask_high 0xff
write /proc/vendor_sched/groups/sys/preferred_idle_mask_low 0xff
write /proc/vendor_sched/groups/sys/preferred_idle_mask_mid 0xff
write /proc/vendor_sched/groups/sys/preferred_idle_mask_high 0xff
# Setup final cpuset
write /dev/cpuset/top-app/cpus 0-7
write /dev/cpuset/foreground/cpus 0-6
write /dev/cpuset/background/cpus 0-3
write /dev/cpuset/system-background/cpus 0-3
write /dev/cpuset/restricted/cpus 0-3
write /dev/cpuset/camera-daemon/cpus 0-7
setprop vendor.powerhal.init 1
# Set PMU freq limit parameters
write /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/spc_threshold 76
write /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/limit_frequency 1328000
write /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/spc_threshold 59
write /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/limit_frequency 1795000
write /sys/devices/system/cpu/cpufreq/policy7/sched_pixel/spc_threshold 62
write /sys/devices/system/cpu/cpufreq/policy7/sched_pixel/limit_frequency 2363000
write /proc/vendor_sched/pmu_poll_time 10
# Disable PMU freq limit
write /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/pmu_limit_enable 1
write /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/pmu_limit_enable 1
write /sys/devices/system/cpu/cpufreq/policy7/sched_pixel/pmu_limit_enable 1
write /proc/vendor_sched/pmu_poll_enable 0
# MTE
on property:persist.device_config.runtime_native_boot.mode_override=sync
# Per-core mode overrides.
# Little Cores: sync
write /sys/devices/system/cpu/cpu0/mte_tcf_preferred sync
write /sys/devices/system/cpu/cpu1/mte_tcf_preferred sync
write /sys/devices/system/cpu/cpu2/mte_tcf_preferred sync
write /sys/devices/system/cpu/cpu3/mte_tcf_preferred sync
# Mid Cores: sync
write /sys/devices/system/cpu/cpu4/mte_tcf_preferred sync
write /sys/devices/system/cpu/cpu5/mte_tcf_preferred sync
write /sys/devices/system/cpu/cpu6/mte_tcf_preferred sync
# Big Core: sync
write /sys/devices/system/cpu/cpu7/mte_tcf_preferred sync
on property:persist.device_config.runtime_native_boot.mode_override=asymm
# Per-core mode overrides.
write /sys/devices/system/cpu/cpu0/mte_tcf_preferred asymm
write /sys/devices/system/cpu/cpu1/mte_tcf_preferred asymm
write /sys/devices/system/cpu/cpu2/mte_tcf_preferred asymm
write /sys/devices/system/cpu/cpu3/mte_tcf_preferred asymm
write /sys/devices/system/cpu/cpu4/mte_tcf_preferred asymm
write /sys/devices/system/cpu/cpu5/mte_tcf_preferred asymm
write /sys/devices/system/cpu/cpu6/mte_tcf_preferred asymm
write /sys/devices/system/cpu/cpu7/mte_tcf_preferred asymm