From c9b398e327082c7581f8d4d00f9dd343d16f6a36 Mon Sep 17 00:00:00 2001 From: Max Weffers Date: Mon, 12 Aug 2019 08:16:42 +0200 Subject: [PATCH] sdm660-common: Update init files from LA.UM.7.2.r1-07400-sdm660.0 --- rootdir/bin/init.class_main.sh | 59 ++- rootdir/bin/init.qcom.post_boot.sh | 643 +++++++++++++++++++++++---- rootdir/bin/init.qcom.sh | 29 +- rootdir/bin/init.qcom.usb.sh | 11 + rootdir/etc/init.msm.usb.configfs.rc | 37 +- rootdir/etc/init.qcom.rc | 155 +++---- rootdir/etc/init.target.rc | 96 ++-- rootdir/etc/ueventd.qcom.rc | 65 ++- 8 files changed, 781 insertions(+), 314 deletions(-) mode change 100755 => 100644 rootdir/etc/init.msm.usb.configfs.rc diff --git a/rootdir/bin/init.class_main.sh b/rootdir/bin/init.class_main.sh index e87b7bbf..ecba97d2 100755 --- a/rootdir/bin/init.class_main.sh +++ b/rootdir/bin/init.class_main.sh @@ -1,6 +1,6 @@ #! /vendor/bin/sh -# Copyright (c) 2013-2014, The Linux Foundation. All rights reserved. +# Copyright (c) 2013-2018, The Linux Foundation. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: @@ -33,21 +33,21 @@ baseband=`getprop ro.baseband` sgltecsfb=`getprop persist.vendor.radio.sglte_csfb` datamode=`getprop persist.vendor.data.mode` -rild_status=`getprop init.svc.ril-daemon` -vendor_rild_status=`getprop init.svc.vendor.ril-daemon` +qcrild_status=true case "$baseband" in "apq" | "sda" | "qcs" ) setprop ro.vendor.radio.noril yes - setprop ro.radio.noril yes - setprop hw.nophone yes - start vendor.ipacm - if [ -n "$rild_status" ] || [ -n "$vendor_rild_status" ]; then stop ril-daemon stop vendor.ril-daemon stop vendor.qcrild stop vendor.qcrild2 - fi + start vendor.ipacm +esac + +case "$baseband" in + "sa8") + start vendor.ipacm esac case "$baseband" in @@ -58,62 +58,55 @@ esac case "$baseband" in "msm" | "csfb" | "svlte2a" | "mdm" | "mdm2" | "sglte" | "sglte2" | "dsda2" | "unknown" | "dsda3" | "sdm" | "sdx" | "sm6") + # For older modem packages launch ril-daemon. if [ -f /vendor/firmware_mnt/verinfo/ver_info.txt ]; then modem=`cat /vendor/firmware_mnt/verinfo/ver_info.txt | sed -n 's/^[^:]*modem[^:]*:[[:blank:]]*//p' | sed 's/.*MPSS.\(.*\)/\1/g' | cut -d \. -f 1` - # Check if this is AT 3.0 or below. If so, start ril-daemon if [ "$modem" = "AT" ]; then version=`cat /vendor/firmware_mnt/verinfo/ver_info.txt | sed -n 's/^[^:]*modem[^:]*:[[:blank:]]*//p' | sed 's/.*AT.\(.*\)/\1/g' | cut -d \- -f 1` if [ ! -z $version ]; then if [ "$version" \< "3.1" ]; then - # For OTA targets, ril-daemon will be defined and for new vendor.ril-daemon - # To keep this script agnostic,start both of them as only valid one will start. - start ril-daemon - start vendor.ril-daemon + qcrild_status=false fi fi - # For older than TA 3.0 start ril-daemon elif [ "$modem" = "TA" ]; then version=`cat /vendor/firmware_mnt/verinfo/ver_info.txt | sed -n 's/^[^:]*modem[^:]*:[[:blank:]]*//p' | sed 's/.*TA.\(.*\)/\1/g' | cut -d \- -f 1` if [ ! -z $version ]; then if [ "$version" \< "3.0" ]; then - # For OTA targets, ril-daemon will be defined and for new vendor.ril-daemon - # To keep this script agnostic,start both of them as only valid one will start. - start ril-daemon - start vendor.ril-daemon + qcrild_status=false fi fi - # For older than JO 3.2 start ril-daemon elif [ "$modem" = "JO" ]; then version=`cat /vendor/firmware_mnt/verinfo/ver_info.txt | sed -n 's/^[^:]*modem[^:]*:[[:blank:]]*//p' | sed 's/.*JO.\(.*\)/\1/g' | cut -d \- -f 1` if [ ! -z $version ]; then if [ "$version" \< "3.2" ]; then - # For OTA targets, ril-daemon will be defined and for new vendor.ril-daemon - # To keep this script agnostic,start both of them as only valid one will start. - start ril-daemon - start vendor.ril-daemon + qcrild_status=false fi fi - else - start ril-daemon - start vendor.ril-daemon + elif [ "$modem" = "TH" ]; then + qcrild_status=false fi fi - # Get ril-daemon status again to ensure that we have latest info - rild_status=`getprop init.svc.ril-daemon` - vendor_rild_status=`getprop init.svc.vendor.ril-daemon` + if [ "$qcrild_status" = "true" ]; then + # Make sure both rild, qcrild are not running at same time. + # This is possible with vanilla aosp system image. + stop ril-daemon + stop vendor.ril-daemon - if [[ -z "$rild_status" || "$rild_status" = "stopped" ]] && [[ -z "$vendor_rild_status" || "$vendor_rild_status" = "stopped" ]]; then - start vendor.qcrild + start vendor.qcrild + else + start ril-daemon + start vendor.ril-daemon fi + start vendor.ipacm-diag start vendor.ipacm case "$baseband" in @@ -132,13 +125,13 @@ case "$baseband" in multisim=`getprop persist.radio.multisim.config` if [ "$multisim" = "dsds" ] || [ "$multisim" = "dsda" ]; then - if [[ -z "$rild_status" || "$rild_status" = "stopped" ]] && [[ -z "$vendor_rild_status" || "$vendor_rild_status" = "stopped" ]]; then + if [ "$qcrild_status" = "true" ]; then start vendor.qcrild2 else start vendor.ril-daemon2 fi elif [ "$multisim" = "tsts" ]; then - if [[ -z "$rild_status" || "$rild_status" = "stopped" ]] && [[ -z "$vendor_rild_status" || "$vendor_rild_status" = "stopped" ]]; then + if [ "$qcrild_status" = "true" ]; then start vendor.qcrild2 start vendor.qcrild3 else diff --git a/rootdir/bin/init.qcom.post_boot.sh b/rootdir/bin/init.qcom.post_boot.sh index 870bae22..d57fa76e 100755 --- a/rootdir/bin/init.qcom.post_boot.sh +++ b/rootdir/bin/init.qcom.post_boot.sh @@ -72,6 +72,119 @@ function 8937_sched_dcvs_eas() } +function configure_sku_parameters() { + +#read feature id from nvram +reg_val=`cat /sys/devices/platform/soc/780130.qfprom/qfprom0/nvmem | od -An -t d4` +feature_id=$(((reg_val >> 20) & 0xFF)) +log -t BOOT -p i "feature id '$feature_id'" +if [ $feature_id == 6 ]; then + echo " SKU Configured : SA6145" + echo 748800 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu5/cpufreq/scaling_min_freq + echo 1017600 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq + echo 1017600 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq + echo 748800 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq + echo 748800 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq + echo 748800 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq + echo 748800 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq + echo 748800 > /sys/devices/system/cpu/cpu5/cpufreq/scaling_max_freq + echo 1017600 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq + echo 1017600 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq + echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/min_freq + echo 1017600000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/max_freq + echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu6-cpu-l3-lat/min_freq + echo 1017600000 > /sys/class/devfreq/soc\:qcom,cpu6-cpu-l3-lat/max_freq + echo 3 > /sys/class/kgsl/kgsl-3d0/max_pwrlevel + echo 3 > /sys/class/kgsl/kgsl-3d0/min_pwrlevel + echo {class:ddr, res:fixed, val: 1016} > /sys/kernel/debug/aop_send_message + setprop vendor.sku_identified 1 +elif [ $feature_id == 5 ]; then + echo "SKU Configured : SA6150" + echo 748800 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu5/cpufreq/scaling_min_freq + echo 1017600 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq + echo 1017600 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_min_freq + echo 998400 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq + echo 998400 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq + echo 998400 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq + echo 998400 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq + echo 998400 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq + echo 998400 > /sys/devices/system/cpu/cpu5/cpufreq/scaling_max_freq + echo 1708800 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq + echo 1708800 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq + echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/min_freq + echo 1363200000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/max_freq + echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu6-cpu-l3-lat/min_freq + echo 1363200000 > /sys/class/devfreq/soc\:qcom,cpu6-cpu-l3-lat/max_freq + echo 2 > /sys/class/kgsl/kgsl-3d0/max_pwrlevel + echo 2 > /sys/class/kgsl/kgsl-3d0/min_pwrlevel + echo {class:ddr, res:fixed, val: 1333} > /sys/kernel/debug/aop_send_message + setprop vendor.sku_identified 1 +elif [ $feature_id == 4 || $feature_id == 3 ]; then + echo "SKU Configured : SA6155" + echo 748800 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu5/cpufreq/scaling_min_freq + echo 1017600 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq + echo 1017600 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_min_freq + echo 1593600 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq + echo 1593600 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq + echo 1593600 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq + echo 1593600 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq + echo 1593600 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq + echo 1593600 > /sys/devices/system/cpu/cpu5/cpufreq/scaling_max_freq + echo 1900800 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq + echo 1900800 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq + echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/min_freq + echo 1363200000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/max_freq + echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu6-cpu-l3-lat/min_freq + echo 1363200000 > /sys/class/devfreq/soc\:qcom,cpu6-cpu-l3-lat/max_freq + echo 0 > /sys/class/kgsl/kgsl-3d0/max_pwrlevel + echo 0 > /sys/class/kgsl/kgsl-3d0/min_pwrlevel + echo {class:ddr, res:fixed, val: 1555} > /sys/kernel/debug/aop_send_message + setprop vendor.sku_identified 1 +else + echo "unknown feature_id value" $feature_id + echo 748800 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + echo 748800 > /sys/devices/system/cpu/cpu5/cpufreq/scaling_min_freq + echo 1017600 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq + echo 1017600 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_min_freq + echo 1593600 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq + echo 1593600 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq + echo 1593600 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq + echo 1593600 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq + echo 1593600 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq + echo 1593600 > /sys/devices/system/cpu/cpu5/cpufreq/scaling_max_freq + echo 1900800 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq + echo 1900800 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq + echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/min_freq + echo 1363200000 > /sys/class/devfreq/soc\:qcom,cpu0-cpu-l3-lat/max_freq + echo 940800000 > /sys/class/devfreq/soc\:qcom,cpu6-cpu-l3-lat/min_freq + echo 1363200000 > /sys/class/devfreq/soc\:qcom,cpu6-cpu-l3-lat/max_freq + echo 0 > /sys/class/kgsl/kgsl-3d0/max_pwrlevel + echo 0 > /sys/class/kgsl/kgsl-3d0/min_pwrlevel + echo {class:ddr, res:fixed, val: 1555} > /sys/kernel/debug/aop_send_message + setprop vendor.sku_identified 1 +fi +} + function 8953_sched_dcvs_hmp() { #scheduler settings @@ -239,14 +352,14 @@ function configure_zram_parameters() { fi if [ -f /sys/block/zram0/disksize ]; then + echo 1 > /sys/block/zram0/use_dedup if [ $MemTotal -le 524288 ]; then echo 402653184 > /sys/block/zram0/disksize elif [ $MemTotal -le 1048576 ]; then echo 805306368 > /sys/block/zram0/disksize - elif [ $MemTotal -le 3145728 ]; then + else + # Set Zram disk size=1GB for >=2GB Non-Go targets. echo 1073741824 > /sys/block/zram0/disksize - elif [ $MemTotal -le 6291456 ]; then - echo 2147483648 > /sys/block/zram0/disksize fi mkswap /dev/block/zram0 swapon /dev/block/zram0 -p 32758 @@ -349,6 +462,10 @@ else echo 0 > /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk echo 0 > /sys/module/process_reclaim/parameters/enable_process_reclaim disable_core_ctl + # Enable oom_reaper for Go devices + if [ -f /proc/sys/vm/reap_mem_on_sigkill ]; then + echo 1 > /proc/sys/vm/reap_mem_on_sigkill + fi else # Read adj series and set adj threshold for PPR and ALMK. @@ -377,11 +494,6 @@ else vmpres_file_min=$((minfree_5 + (minfree_5 - rem_minfree_4))) echo $vmpres_file_min > /sys/module/lowmemorykiller/parameters/vmpressure_file_min - if [ $MemTotal -gt 5505024 ]; then - echo "18432,23040,27648,32256,85296,120640" > /sys/module/lowmemorykiller/parameters/minfree - else - echo "18432,23040,27648,32256,55296,100640" > /sys/module/lowmemorykiller/parameters/minfree - fi else # Set LMK series, vmpressure_file_min for 32 bit non-go targets. # Disable Core Control, enable KLMK for non-go 8909. @@ -419,7 +531,7 @@ else *) #Set PPR parameters for all other targets. echo $set_almk_ppr_adj > /sys/module/process_reclaim/parameters/min_score_adj - echo 0 > /sys/module/process_reclaim/parameters/enable_process_reclaim + echo 1 > /sys/module/process_reclaim/parameters/enable_process_reclaim echo 50 > /sys/module/process_reclaim/parameters/pressure_min echo 70 > /sys/module/process_reclaim/parameters/pressure_max echo 30 > /sys/module/process_reclaim/parameters/swap_opt_eff @@ -433,6 +545,10 @@ else echo 0 > /sys/module/vmpressure/parameters/allocstall_threshold echo 100 > /proc/sys/vm/swappiness + # Disable wsf for all targets beacause we are using efk. + # wsf Range : 1..1000 So set to bare minimum value 1. + echo 1 > /proc/sys/vm/watermark_scale_factor + configure_zram_parameters configure_read_ahead_kb_values @@ -1992,8 +2108,9 @@ case "$target" in platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id` fi + # Socid 386 = Pukeena case "$soc_id" in - "303" | "307" | "308" | "309" | "320" ) + "303" | "307" | "308" | "309" | "320" | "386" ) # Start Host based Touch processing case "$hw_platform" in @@ -2326,6 +2443,18 @@ case "$target" in esac ;; esac + + case "$soc_id" in + "386" ) + + # Start Host based Touch processing + case "$hw_platform" in + "QRD" ) + start_hbtp + ;; + esac + ;; + esac ;; esac @@ -2389,10 +2518,8 @@ case "$target" in echo 20 > /proc/sys/kernel/sched_small_wakee_task_load # cpuset settings - echo 0-7 > /dev/cpuset/top-app/cpus - echo 0-1 > /dev/cpuset/background/cpus - echo 0-2 > /dev/cpuset/system-background/cpus - echo 0-2,4-7 > /dev/cpuset/foreground/cpus + echo 0-3 > /dev/cpuset/background/cpus + echo 0-3 > /dev/cpuset/system-background/cpus # disable thermal bcl hotplug to switch governor echo 0 > /sys/module/msm_thermal/core_control/enabled @@ -2461,23 +2588,9 @@ case "$target" in # re-enable thermal and BCL hotplug echo 1 > /sys/module/msm_thermal/core_control/enabled - #Add-begin-HMI_M6100_A01-422,lijiang@longcheer.com,2018-10-12 - #Enable input boost configuration - echo "0:1401600" > /sys/module/cpu_boost/parameters/input_boost_freq - echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms - #Add-end-HMI_M6100_A01-422 - # Set Memory parameters configure_memory_parameters - # set lmk minfree for MemTotal greater than 6G - arch_type=`uname -m` - MemTotalStr=`cat /proc/meminfo | grep MemTotal` - MemTotal=${MemTotalStr:16:8} - if [ "$arch_type" == "aarch64" ] && [ $MemTotal -gt 5505024 ]; then - echo "18432,23040,27648,32256,85296,120640" > /sys/module/lowmemorykiller/parameters/minfree - fi - # Enable bus-dcvs for cpubw in /sys/class/devfreq/*qcom,cpubw* do @@ -2486,11 +2599,11 @@ case "$target" in echo 762 > $cpubw/min_freq echo "1525 3143 5859 7759 9887 10327 11863 13763" > $cpubw/bw_hwmon/mbps_zones echo 4 > $cpubw/bw_hwmon/sample_ms - echo 34 > $cpubw/bw_hwmon/io_percent + echo 85 > $cpubw/bw_hwmon/io_percent echo 100 > $cpubw/bw_hwmon/decay_rate echo 50 > $cpubw/bw_hwmon/bw_step echo 20 > $cpubw/bw_hwmon/hist_memory - echo 10 > $cpubw/bw_hwmon/hyst_length + echo 0 > $cpubw/bw_hwmon/hyst_length echo 80 > $cpubw/bw_hwmon/down_thres echo 0 > $cpubw/bw_hwmon/low_power_ceil_mbps echo 34 > $cpubw/bw_hwmon/low_power_io_percent @@ -2509,15 +2622,16 @@ case "$target" in echo "cpufreq" > /sys/class/devfreq/soc:qcom,mincpubw/governor # Start cdsprpcd only for sdm660 and disable for sdm630 - start vendor.cdsprpcd -##D2SP&F7A has no hbtp feature -# # Start Host based Touch processing -# case "$hw_platform" in -# "MTP" | "Surf" | "RCM" | "QRD" ) -# start_hbtp -# ;; -# esac -#end + if [ "$soc_id" -eq "317" ]; then + start vendor.cdsprpcd + fi + + # Start Host based Touch processing + case "$hw_platform" in + "MTP" | "Surf" | "RCM" | "QRD" ) + start_hbtp + ;; + esac ;; esac #Apply settings for sdm630 and Tahaa @@ -2686,6 +2800,132 @@ case "$target" in ;; esac +case "$target" in + "trinket") + + if [ -f /sys/devices/soc0/soc_id ]; then + soc_id=`cat /sys/devices/soc0/soc_id` + else + soc_id=`cat /sys/devices/system/soc/soc0/id` + fi + + case "$soc_id" in + "394" ) + + # Core control parameters on big + echo 2 > /sys/devices/system/cpu/cpu4/core_ctl/min_cpus + echo 40 > /sys/devices/system/cpu/cpu4/core_ctl/busy_down_thres + echo 60 > /sys/devices/system/cpu/cpu4/core_ctl/busy_up_thres + echo 100 > /sys/devices/system/cpu/cpu4/core_ctl/offline_delay_ms + echo 1 > /sys/devices/system/cpu/cpu4/core_ctl/is_big_cluster + echo 4 > /sys/devices/system/cpu/cpu4/core_ctl/task_thres + + # Setting b.L scheduler parameters + echo 67 > /proc/sys/kernel/sched_downmigrate + echo 77 > /proc/sys/kernel/sched_upmigrate + echo 85 > /proc/sys/kernel/sched_group_downmigrate + echo 100 > /proc/sys/kernel/sched_group_upmigrate + + # cpuset settings + echo 0-3 > /dev/cpuset/background/cpus + echo 0-3 > /dev/cpuset/system-background/cpus + + + # 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 1305600 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq + echo 614400 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + + # configure governor settings for big cluster + echo "schedutil" > /sys/devices/system/cpu/cpu4/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 1401600 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_freq + echo 1056000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + + echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks + + # sched_load_boost as -6 is equivalent to target load as 85. It is per cpu tunable. + echo -6 > /sys/devices/system/cpu/cpu0/sched_load_boost + echo -6 > /sys/devices/system/cpu/cpu1/sched_load_boost + echo -6 > /sys/devices/system/cpu/cpu2/sched_load_boost + echo -6 > /sys/devices/system/cpu/cpu3/sched_load_boost + echo -6 > /sys/devices/system/cpu/cpu4/sched_load_boost + echo -6 > /sys/devices/system/cpu/cpu5/sched_load_boost + 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/cpu0/cpufreq/schedutil/hispeed_load + echo 85 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_load + + # Set Memory parameters + configure_memory_parameters + + # Enable bus-dcvs + ddr_type=`od -An -tx /proc/device-tree/memory/ddr_device_type` + ddr_type4="07" + ddr_type3="05" + + for device in /sys/devices/platform/soc + do + for cpubw in $device/*cpu-cpu-ddr-bw/devfreq/*cpu-cpu-ddr-bw + do + echo "bw_hwmon" > $cpubw/governor + echo 50 > $cpubw/polling_interval + echo 762 > $cpubw/min_freq + if [ ${ddr_type:4:2} == $ddr_type4 ]; then + # LPDDR4 + echo "2288 3440 4173 5195 5859 7759 10322 11863 13763" > $cpubw/bw_hwmon/mbps_zones + echo 85 > $cpubw/bw_hwmon/io_percent + fi + if [ ${ddr_type:4:2} == $ddr_type3 ]; then + # LPDDR3 + echo "1525 3440 5195 5859 7102" > $cpubw/bw_hwmon/mbps_zones + echo 34 > $cpubw/bw_hwmon/io_percent + fi + echo 4 > $cpubw/bw_hwmon/sample_ms + echo 90 > $cpubw/bw_hwmon/decay_rate + echo 190 > $cpubw/bw_hwmon/bw_step + echo 20 > $cpubw/bw_hwmon/hist_memory + echo 0 > $cpubw/bw_hwmon/hyst_length + echo 80 > $cpubw/bw_hwmon/down_thres + echo 0 > $cpubw/bw_hwmon/guard_band_mbps + echo 250 > $cpubw/bw_hwmon/up_scale + echo 1600 > $cpubw/bw_hwmon/idle_mbps + done + + for memlat in $device/*cpu*-lat/devfreq/*cpu*-lat + do + echo "mem_latency" > $memlat/governor + echo 10 > $memlat/polling_interval + echo 400 > $memlat/mem_latency/ratio_ceil + done + + for latfloor in $device/*cpu*-ddr-latfloor*/devfreq/*cpu-ddr-latfloor* + do + echo "compute" > $latfloor/governor + echo 10 > $latfloor/polling_interval + done + + done + + # colcoation v3 disabled + echo 0 > /proc/sys/kernel/sched_min_task_util_for_boost + echo 0 > /proc/sys/kernel/sched_min_task_util_for_colocation + echo 0 > /proc/sys/kernel/sched_little_cluster_coloc_fmin_khz + + # 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 + + ;; + esac + ;; +esac + case "$target" in "sdm710") @@ -2708,11 +2948,11 @@ case "$target" in fi case "$soc_id" in - "336" | "337" | "347" | "360" ) + "336" | "337" | "347" | "360" | "393" ) # Start Host based Touch processing case "$hw_platform" in - "MTP" | "Surf" | "RCM" | "QRD" ) + "MTP" | "Surf" | "RCM" | "QRD" | "HDK" ) start_hbtp ;; esac @@ -2822,9 +3062,9 @@ case "$target" in esac case "$target" in - "talos") + "sm6150") - #Apply settings for talos + #Apply settings for sm6150 # Set the default IRQ affinity to the silver cluster. When a # CPU is isolated/hotplugged, the IRQ affinity is adjusted # to one of the CPU from the default IRQ affinity mask. @@ -2837,7 +3077,11 @@ case "$target" in fi case "$soc_id" in - "355" | "369" ) + "355" | "369" | "377" | "380" | "384" ) + + # update frequencies + configure_sku_parameters + sku_identified=`getprop vendor.sku_identified` # Core control parameters on silver echo 0 0 0 0 1 1 > /sys/devices/system/cpu/cpu0/core_ctl/not_preferred @@ -2859,17 +3103,27 @@ case "$target" in 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/rate_limit_us + 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 1209600 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq - echo 576000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + if [ $sku_identified != 1 ]; then + echo 576000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + fi # 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/rate_limit_us + 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 1209600 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/hispeed_freq - echo 768000 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq + if [ $sku_identified != 1 ]; then + echo 768000 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq + fi # 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 @@ -2882,6 +3136,7 @@ case "$target" in # Set Memory parameters configure_memory_parameters + # Enable bus-dcvs for device in /sys/devices/platform/soc do @@ -2923,6 +3178,15 @@ case "$target" in echo 400 > $memlat/mem_latency/ratio_ceil done + #Gold L3 ratio ceil + echo 4000 > /sys/class/devfreq/soc:qcom,cpu6-cpu-l3-lat/mem_latency/ratio_ceil + + #Enable cdspl3 governor for L3 cdsp nodes + for l3cdsp in $device/*cdsp-cdsp-l3-lat/devfreq/*cdsp-cdsp-l3-lat + do + echo "cdspl3" > $l3cdsp/governor + done + #Enable compute governor for gold latfloor for latfloor in $device/*cpu*-ddr-latfloor*/devfreq/*cpu-ddr-latfloor* do @@ -2944,6 +3208,146 @@ case "$target" in echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled ;; esac + + #Apply settings for moorea + case "$soc_id" in + "365" | "366" ) + + # 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 0 > /sys/devices/system/cpu/cpu0/core_ctl/is_big_cluster + 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 71 and 65 + 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 + + # 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 1324600 > /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 + + echo "0:1248000" > /sys/module/cpu_boost/parameters/input_boost_freq + echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms + + # Set Memory parameters + configure_memory_parameters + + # Enable bus-dcvs + for device in /sys/devices/platform/soc + do + for cpubw in $device/*cpu-cpu-llcc-bw/devfreq/*cpu-cpu-llcc-bw + do + echo "bw_hwmon" > $cpubw/governor + echo 50 > $cpubw/polling_interval + echo "2288 4577 7110 9155 12298 14236" > $cpubw/bw_hwmon/mbps_zones + echo 4 > $cpubw/bw_hwmon/sample_ms + echo 68 > $cpubw/bw_hwmon/io_percent + echo 20 > $cpubw/bw_hwmon/hist_memory + echo 0 > $cpubw/bw_hwmon/hyst_length + echo 80 > $cpubw/bw_hwmon/down_thres + echo 0 > $cpubw/bw_hwmon/guard_band_mbps + echo 250 > $cpubw/bw_hwmon/up_scale + echo 1600 > $cpubw/bw_hwmon/idle_mbps + done + + for llccbw in $device/*cpu-llcc-ddr-bw/devfreq/*cpu-llcc-ddr-bw + do + echo "bw_hwmon" > $llccbw/governor + echo 40 > $llccbw/polling_interval + echo "1144 1720 2086 2929 3879 5931 6881" > $llccbw/bw_hwmon/mbps_zones + echo 4 > $llccbw/bw_hwmon/sample_ms + echo 68 > $llccbw/bw_hwmon/io_percent + echo 20 > $llccbw/bw_hwmon/hist_memory + echo 0 > $llccbw/bw_hwmon/hyst_length + echo 80 > $llccbw/bw_hwmon/down_thres + echo 0 > $llccbw/bw_hwmon/guard_band_mbps + echo 250 > $llccbw/bw_hwmon/up_scale + echo 1600 > $llccbw/bw_hwmon/idle_mbps + done + + for npubw in $device/*npu-npu-ddr-bw/devfreq/*npu-npu-ddr-bw + do + echo 1 > /sys/devices/virtual/npu/msm_npu/pwr + echo "bw_hwmon" > $npubw/governor + echo 40 > $npubw/polling_interval + echo "1144 1720 2086 2929 3879 5931 6881" > $npubw/bw_hwmon/mbps_zones + echo 4 > $npubw/bw_hwmon/sample_ms + echo 80 > $npubw/bw_hwmon/io_percent + echo 20 > $npubw/bw_hwmon/hist_memory + echo 10 > $npubw/bw_hwmon/hyst_length + echo 30 > $npubw/bw_hwmon/down_thres + echo 0 > $npubw/bw_hwmon/guard_band_mbps + echo 250 > $npubw/bw_hwmon/up_scale + echo 0 > $npubw/bw_hwmon/idle_mbps + echo 0 > /sys/devices/virtual/npu/msm_npu/pwr + done + + #Enable mem_latency governor for L3, LLCC, and DDR scaling + for memlat in $device/*cpu*-lat/devfreq/*cpu*-lat + do + echo "mem_latency" > $memlat/governor + echo 10 > $memlat/polling_interval + echo 400 > $memlat/mem_latency/ratio_ceil + done + + #Gold L3 ratio ceil + echo 4000 > /sys/class/devfreq/soc:qcom,cpu6-cpu-l3-lat/mem_latency/ratio_ceil + + #Enable cdspl3 governor for L3 cdsp nodes + for l3cdsp in $device/*cdsp-cdsp-l3-lat/devfreq/*cdsp-cdsp-l3-lat + do + echo "cdspl3" > $l3cdsp/governor + done + + #Enable compute governor for gold latfloor + for latfloor in $device/*cpu*-ddr-latfloor*/devfreq/*cpu-ddr-latfloor* + do + echo "compute" > $latfloor/governor + echo 10 > $latfloor/polling_interval + done + + done + + # cpuset parameters + echo 0-5 > /dev/cpuset/background/cpus + echo 0-5 > /dev/cpuset/system-background/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 + ;; + esac ;; esac @@ -2988,6 +3392,7 @@ case "$target" in esac # 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 @@ -3062,7 +3467,9 @@ case "$target" in # Turn on sleep modes. echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - echo 100 > /proc/sys/vm/swappiness + + # Set Memory parameters + configure_memory_parameters ;; esac ;; @@ -3459,6 +3866,8 @@ case "$target" in echo N > /sys/module/lpm_levels/parameters/sleep_disabled fi echo N > /sys/module/lpm_levels/parameters/sleep_disabled + # Starting io prefetcher service + start iop # Set Memory parameters configure_memory_parameters @@ -3642,10 +4051,10 @@ case "$target" in # tasks eligible to run on previous cluster minus number of CPUs in # the previous cluster). # - # Setting to 3 by default which means there should be at least - # 6 tasks eligible to run on gold cluster (tasks running on gold cores + # Setting to 1 by default which means there should be at least + # 4 tasks eligible to run on gold cluster (tasks running on gold cores # plus misfit tasks on silver cores) to trigger assitance from gold+. - echo 3 > /sys/devices/system/cpu/cpu7/core_ctl/nr_prev_assist_thresh + echo 1 > /sys/devices/system/cpu/cpu7/core_ctl/nr_prev_assist_thresh # Disable Core control on silver echo 0 > /sys/devices/system/cpu/cpu0/core_ctl/enable @@ -3654,7 +4063,7 @@ case "$target" in echo 95 95 > /proc/sys/kernel/sched_upmigrate echo 85 85 > /proc/sys/kernel/sched_downmigrate echo 100 > /proc/sys/kernel/sched_group_upmigrate - echo 95 > /proc/sys/kernel/sched_group_downmigrate + echo 10 > /proc/sys/kernel/sched_group_downmigrate echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks # cpuset parameters @@ -3666,28 +4075,33 @@ case "$target" in # configure governor settings for silver cluster echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor - echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/rate_limit_us - echo 1075200 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_freq + echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/up_rate_limit_us + echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us + echo 1209600 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_freq echo 576000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq echo 1 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/pl # configure governor settings for gold cluster echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy4/scaling_governor - echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/rate_limit_us - echo 1248000 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/hispeed_freq + echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/up_rate_limit_us + echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/down_rate_limit_us + echo 1612800 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/hispeed_freq echo 1 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/pl # configure governor settings for gold+ cluster echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy7/scaling_governor - echo 0 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/rate_limit_us - echo 1286400 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/hispeed_freq + echo 0 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/up_rate_limit_us + echo 0 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/down_rate_limit_us + echo 1612800 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/hispeed_freq echo 1 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/pl # configure input boost settings echo "0:1324800" > /sys/module/cpu_boost/parameters/input_boost_freq echo 120 > /sys/module/cpu_boost/parameters/input_boost_ms - echo 120 > /proc/sys/vm/watermark_scale_factor + # Disable wsf, beacause we are using efk. + # wsf Range : 1..1000 So set to bare minimum value 1. + echo 1 > /proc/sys/vm/watermark_scale_factor echo 0-3 > /dev/cpuset/background/cpus echo 0-3 > /dev/cpuset/system-background/cpus @@ -3706,7 +4120,7 @@ case "$target" in do echo "bw_hwmon" > $cpubw/governor echo 40 > $cpubw/polling_interval - echo "2288 3051 6149 8132 10162 11856" > $cpubw/bw_hwmon/mbps_zones + echo "2288 4577 7110 9155 12298 14236 15258" > $cpubw/bw_hwmon/mbps_zones echo 4 > $cpubw/bw_hwmon/sample_ms echo 50 > $cpubw/bw_hwmon/io_percent echo 20 > $cpubw/bw_hwmon/hist_memory @@ -3715,13 +4129,14 @@ case "$target" in echo 0 > $cpubw/bw_hwmon/guard_band_mbps echo 250 > $cpubw/bw_hwmon/up_scale echo 1600 > $cpubw/bw_hwmon/idle_mbps + echo 14236 > $cpubw/max_freq done for llccbw in $device/*cpu-llcc-ddr-bw/devfreq/*cpu-llcc-ddr-bw do echo "bw_hwmon" > $llccbw/governor echo 40 > $llccbw/polling_interval - echo "1720 2929 4943 5931 6881 7980" > $llccbw/bw_hwmon/mbps_zones + echo "1720 2929 3879 5931 6881 7980" > $llccbw/bw_hwmon/mbps_zones echo 4 > $llccbw/bw_hwmon/sample_ms echo 80 > $llccbw/bw_hwmon/io_percent echo 20 > $llccbw/bw_hwmon/hist_memory @@ -3730,6 +4145,7 @@ case "$target" in echo 0 > $llccbw/bw_hwmon/guard_band_mbps echo 250 > $llccbw/bw_hwmon/up_scale echo 1600 > $llccbw/bw_hwmon/idle_mbps + echo 6881 > $llccbw/max_freq done for npubw in $device/*npu-npu-ddr-bw/devfreq/*npu-npu-ddr-bw @@ -3737,15 +4153,15 @@ case "$target" in echo 1 > /sys/devices/virtual/npu/msm_npu/pwr echo "bw_hwmon" > $npubw/governor echo 40 > $npubw/polling_interval - echo "1720 2929 4943 5931 6881 7980" > $npubw/bw_hwmon/mbps_zones + echo "1720 2929 3879 5931 6881 7980" > $npubw/bw_hwmon/mbps_zones echo 4 > $npubw/bw_hwmon/sample_ms echo 80 > $npubw/bw_hwmon/io_percent echo 20 > $npubw/bw_hwmon/hist_memory - echo 10 > $npubw/bw_hwmon/hyst_length + echo 6 > $npubw/bw_hwmon/hyst_length echo 30 > $npubw/bw_hwmon/down_thres echo 0 > $npubw/bw_hwmon/guard_band_mbps echo 250 > $npubw/bw_hwmon/up_scale - echo 1600 > $npubw/bw_hwmon/idle_mbps + echo 0 > $npubw/bw_hwmon/idle_mbps echo 0 > /sys/devices/virtual/npu/msm_npu/pwr done @@ -3775,6 +4191,12 @@ case "$target" in do echo 4000 > $l3gold/mem_latency/ratio_ceil done + + #Prime L3 ratio ceil + for l3prime in $device/*cpu7-cpu-l3-lat/devfreq/*cpu7-cpu-l3-lat + do + echo 20000 > $l3prime/mem_latency/ratio_ceil + done done if [ -f /sys/devices/soc0/hw_platform ]; then @@ -3796,6 +4218,11 @@ case "$target" in ;; esac ;; + "HDK" ) + if [ -d /sys/kernel/hbtpsensor ] ; then + start_hbtp + fi + ;; esac echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled @@ -3825,6 +4252,7 @@ case "$target" in echo 5 > /proc/sys/kernel/sched_spill_nr_run echo 1 > /proc/sys/kernel/sched_restrict_cluster_spill echo 1 > /proc/sys/kernel/sched_prefer_sync_wakee_to_waker + start iop # disable thermal bcl hotplug to switch governor echo 0 > /sys/module/msm_thermal/core_control/enabled @@ -4112,28 +4540,12 @@ case "$target" in esac ;; "msm8909") - echo 128 > /sys/block/mmcblk0/bdi/read_ahead_kb - echo 128 > /sys/block/mmcblk0/queue/read_ahead_kb - echo 128 > /sys/block/mmcblk0rpmb/bdi/read_ahead_kb - echo 128 > /sys/block/mmcblk0rpmb/queue/read_ahead_kb setprop vendor.post_boot.parsed 1 ;; "msm8952") - echo 128 > /sys/block/mmcblk0/bdi/read_ahead_kb - echo 128 > /sys/block/mmcblk0/queue/read_ahead_kb - echo 128 > /sys/block/dm-0/queue/read_ahead_kb - echo 128 > /sys/block/dm-1/queue/read_ahead_kb - echo 128 > /sys/block/mmcblk0rpmb/bdi/read_ahead_kb - echo 128 > /sys/block/mmcblk0rpmb/queue/read_ahead_kb setprop vendor.post_boot.parsed 1 ;; "msm8937" | "msm8953") - echo 128 > /sys/block/mmcblk0/bdi/read_ahead_kb - echo 128 > /sys/block/mmcblk0/queue/read_ahead_kb - echo 128 > /sys/block/dm-0/queue/read_ahead_kb - echo 128 > /sys/block/dm-1/queue/read_ahead_kb - echo 128 > /sys/block/mmcblk0rpmb/bdi/read_ahead_kb - echo 128 > /sys/block/mmcblk0rpmb/queue/read_ahead_kb setprop vendor.post_boot.parsed 1 low_ram_enable=`getprop ro.config.low_ram` @@ -4146,7 +4558,7 @@ case "$target" in start mpdecision echo 512 > /sys/block/mmcblk0/bdi/read_ahead_kb ;; - "msm8994" | "msm8992" | "msm8996" | "msm8998" | "sdm660" | "apq8098_latv" | "sdm845" | "sdm710" | "msmnile" | "msmsteppe") + "msm8994" | "msm8992" | "msm8996" | "msm8998" | "sdm660" | "apq8098_latv" | "sdm845" | "sdm710" | "msmnile" | "qcs605" | "sm6150" | "trinket") setprop vendor.post_boot.parsed 1 ;; "apq8084") @@ -4223,6 +4635,61 @@ case "$target" in ;; esac +product=`getprop ro.build.product` +case "$product" in + "msmnile_au") + #Setting the min and max supported frequencies + reg_val=`cat /sys/devices/platform/soc/780130.qfprom/qfprom0/nvmem | od -An -t d4` + feature_id=$(((reg_val >> 20) & 0xFF)) + + if [ $feature_id == 0 ]; then + echo "feature_id is 0 for SA8155" + echo 1036800 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + echo 1036800 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq + echo 1036800 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq + echo 1036800 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq + echo 1056000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + echo 1056000 > /sys/devices/system/cpu/cpu5/cpufreq/scaling_min_freq + echo 1056000 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq + echo 1171200 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_min_freq + echo 1785600 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq + echo 1785600 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq + echo 1785600 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq + echo 1785600 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq + echo 2131200 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq + echo 2131200 > /sys/devices/system/cpu/cpu5/cpufreq/scaling_max_freq + echo 2131200 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq + echo 2419200 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq + echo 4 > /sys/class/kgsl/kgsl-3d0/min_pwrlevel + echo 0 > /sys/class/kgsl/kgsl-3d0/max_pwrlevel + elif [ $feature_id == 1 ]; then + echo "feature_id is 1 for SA8150" + echo 1036800 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + echo 1036800 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq + echo 1036800 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq + echo 1036800 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq + echo 1056000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + echo 1056000 > /sys/devices/system/cpu/cpu5/cpufreq/scaling_min_freq + echo 1056000 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq + echo 1171200 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_min_freq + echo 1785600 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq + echo 1785600 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq + echo 1785600 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq + echo 1785600 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq + echo 1920000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq + echo 1920000 > /sys/devices/system/cpu/cpu5/cpufreq/scaling_max_freq + echo 1920000 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq + echo 2227200 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq + echo 4 > /sys/class/kgsl/kgsl-3d0/min_pwrlevel + echo 3 > /sys/class/kgsl/kgsl-3d0/max_pwrlevel + else + echo "unknown feature_id value" $feature_id + fi + ;; + *) + ;; +esac + # Let kernel know our image version/variant/crm_version if [ -f /sys/devices/soc0/select_image ]; then image_version="10:" @@ -4239,18 +4706,6 @@ if [ -f /sys/devices/soc0/select_image ]; then echo $oem_version > /sys/devices/soc0/image_crm_version fi -# Change console log level as per console config property -console_config=`getprop persist.console.silent.config` -case "$console_config" in - "1") - echo "Enable console config to $console_config" - echo 0 > /proc/sys/kernel/printk - ;; - *) - echo "Enable console config to $console_config" - ;; -esac - # Parse misc partition path and set property misc_link=$(ls -l /dev/block/bootdevice/by-name/misc) real_path=${misc_link##*>} diff --git a/rootdir/bin/init.qcom.sh b/rootdir/bin/init.qcom.sh index fbf8c820..aed988ec 100755 --- a/rootdir/bin/init.qcom.sh +++ b/rootdir/bin/init.qcom.sh @@ -84,7 +84,7 @@ start_msm_irqbalance_8939() { if [ -f /vendor/bin/msm_irqbalance ]; then case "$platformid" in - "239" | "293" | "294" | "295" | "304" | "313" |"353") + "239" | "293" | "294" | "295" | "304" | "338" | "313" |"353" | "354") start vendor.msm_irqbalance;; "349" | "350" ) start vendor.msm_irqbal_lb;; @@ -92,7 +92,14 @@ start_msm_irqbalance_8939() fi } -start_msm_irqbalance() +start_msm_irqbalance_msmnile() +{ + if [ -f /vendor/bin/msm_irqbalance ]; then + start vendor.msm_irqbalance + fi +} + +start_msm_irqbalance660() { if [ -f /vendor/bin/msm_irqbalance ]; then case "$platformid" in @@ -104,6 +111,13 @@ start_msm_irqbalance() fi } +start_msm_irqbalance() +{ + if [ -f /vendor/bin/msm_irqbalance ]; then + start vendor.msm_irqbalance + fi +} + baseband=`getprop ro.baseband` echo 1 > /proc/sys/net/ipv6/conf/default/accept_ra_defrtr @@ -183,7 +197,7 @@ case "$target" in fi case "$soc_id" in - "317" | "324" | "325" | "326" | "318" | "327" ) + "317" | "324" | "325" | "326" | "318" | "327" | "385" ) case "$hw_platform" in "Surf") setprop qemu.hw.mainkeys 0 @@ -200,7 +214,7 @@ case "$target" in esac ;; esac - start_msm_irqbalance + start_msm_irqbalance660 ;; "apq8084") platformvalue=`cat /sys/devices/soc0/hw_platform` @@ -253,7 +267,7 @@ case "$target" in ;; esac ;; - "msm8994" | "msm8992" | "msm8998" | "apq8098_latv" | "sdm845" | "sdm710" | "qcs605" | "msmnile" | "talos") + "msm8994" | "msm8992" | "msm8998" | "apq8098_latv" | "sdm845" | "sdm710" | "qcs605" | "sm6150" | "trinket") start_msm_irqbalance ;; "msm8996") @@ -280,6 +294,9 @@ case "$target" in "msm8909") start_vm_bms ;; + "msmnile") + start_msm_irqbalance_msmnile + ;; "msm8937") start_msm_irqbalance_8939 if [ -f /sys/devices/soc0/soc_id ]; then @@ -359,7 +376,7 @@ case "$target" in hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform` fi case "$soc_id" in - "336" | "337" | "347" | "360" ) + "336" | "337" | "347" | "360" | "393" ) case "$hw_platform" in "Surf") setprop qemu.hw.mainkeys 0 diff --git a/rootdir/bin/init.qcom.usb.sh b/rootdir/bin/init.qcom.usb.sh index 60c6ca89..f252db00 100755 --- a/rootdir/bin/init.qcom.usb.sh +++ b/rootdir/bin/init.qcom.usb.sh @@ -149,6 +149,17 @@ if [ "$target" == "msm8937" ]; then *) ;; esac + else + case "$soc_id" in + "313" | "320") + setprop vendor.usb.rndis.func.name "rndis_bam" + setprop vendor.usb.rmnet.func.name "rmnet_bam" + setprop vendor.usb.rmnet.inst.name "rmnet" + setprop vendor.usb.dpl.inst.name "dpl" + ;; + *) + ;; + esac fi fi diff --git a/rootdir/etc/init.msm.usb.configfs.rc b/rootdir/etc/init.msm.usb.configfs.rc old mode 100755 new mode 100644 index 7ad3db68..708eb96e --- a/rootdir/etc/init.msm.usb.configfs.rc +++ b/rootdir/etc/init.msm.usb.configfs.rc @@ -177,17 +177,29 @@ on property:sys.usb.config=rndis,none && property:sys.usb.configfs=1 write /config/usb_gadget/g1/idProduct 0xFF80 symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1 write /config/usb_gadget/g1/UDC ${sys.usb.controller} - write /config/usb_gadget/g1/configs/b.1/f1/wceis 1 setprop sys.usb.state rndis + on property:sys.usb.config=rndis,sec && property:sys.usb.configfs=1 write /config/usb_gadget/g2/configs/b.1/strings/0x409/configuration "rndis" rm /config/usb_gadget/g2/configs/b.1/f1 + rm /config/usb_gadget/g2/configs/b.1/f2 write /config/usb_gadget/g2/idVendor 0x05C6 write /config/usb_gadget/g2/idProduct 0xF00E symlink /config/usb_gadget/g2/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g2/configs/b.1/f1 write /config/usb_gadget/g2/UDC ${persist.vendor.usb.controller.secondary} setprop sys.usb.state rndis +on property:sys.usb.config=rndis,rmnet,sec && property:sys.usb.configfs=1 + write /config/usb_gadget/g2/configs/b.1/strings/0x409/configuration "rndis_rmnet" + rm /config/usb_gadget/g2/configs/b.1/f1 + rm /config/usb_gadget/g2/configs/b.1/f2 + write /config/usb_gadget/g2/idVendor 0x05C6 + write /config/usb_gadget/g2/idProduct 0x90F1 + symlink /config/usb_gadget/g2/functions/rndis.rndis /config/usb_gadget/g2/configs/b.1/f1 + symlink /config/usb_gadget/g2/functions/${vendor.usb.rmnet.func.name}.rmnet /config/usb_gadget/g2/configs/b.1/f2 + write /config/usb_gadget/g2/UDC ${persist.vendor.usb.controller.secondary} + setprop sys.usb.state rndis + on property:sys.usb.config=rndis,adb setprop sys.usb.config rndis,${persist.vendor.usb.config.extra},adb @@ -210,7 +222,6 @@ on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,none,adb && pro symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name}.rndis /config/usb_gadget/g1/configs/b.1/f1 symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 write /config/usb_gadget/g1/UDC ${sys.usb.controller} - write /config/usb_gadget/g1/configs/b.1/f1/wceis 1 setprop sys.usb.state rndis,adb on property:sys.usb.config=rndis,diag && property:sys.usb.configfs=1 @@ -1161,6 +1172,28 @@ on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,diag,diag_mdm,q write /config/usb_gadget/g1/UDC ${sys.usb.controller} setprop sys.usb.state rndis,adb +on property:sys.usb.config=diag,diag_mdm,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,diag_mdm,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_diag_mdm_adb" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x90D9 + symlink /config/usb_gadget/g1/functions/diag.diag /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/diag.diag_mdm /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f3 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + on property:sys.usb.config=adb && property:sys.usb.configfs=1 write /config/usb_gadget/g1/idVendor 0x2717 write /config/usb_gadget/g1/idProduct 0xFF08 diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index b051fe59..639ea9f2 100755 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -34,35 +34,31 @@ on early-init mount debugfs debugfs /sys/kernel/debug chmod 0755 /sys/kernel/debug - # create symlink for vendor mount points - symlink /vendor/firmware_mnt /firmware - symlink /vendor/bt_firmware /bt_firmware - symlink /vendor/dsp /dsp - # Change ownership of hw_recovery related nodes chown system graphics /sys/kernel/debug/dri/0/debug/dump chown system graphics /sys/kernel/debug/dri/0/debug/recovery_reg chown system graphics /sys/kernel/debug/dri/0/debug/recovery_dbgbus chown system graphics /sys/kernel/debug/dri/0/debug/recovery_vbif_dbgbus + # Change ownership of sw_sync node + chown system graphics /sys/kernel/debug/sync/sw_sync + chmod 0666 /sys/kernel/debug/sync/sw_sync + chown root system /dev/kmsg chmod 0620 /dev/kmsg # Load WIGIG platform driver exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules msm_11ad_proxy on init - - # Support legacy paths - symlink /sdcard /mnt/sdcard - symlink /sdcard /storage/sdcard0 + # Create cgroup mount point for memory + mkdir /sys/fs/cgroup/memory/bg 0750 root system + write /sys/fs/cgroup/memory/bg/memory.swappiness 140 + write /sys/fs/cgroup/memory/bg/memory.move_charge_at_immigrate 1 + chown root system /sys/fs/cgroup/memory/bg/tasks + chmod 0660 /sys/fs/cgroup/memory/bg/tasks on post-fs chmod 0755 /sys/kernel/debug/tracing - chown 0660 /sys/class/leds/red/brightness - chown 0660 /sys/class/leds/red/blink - chown system system /sys/class/leds/red/brightness - chown system system /sys/class/leds/red/blink - chown system system /sys/class/leds/red/duty_pcts on early-boot # set RLIMIT_MEMLOCK to 64MB @@ -84,11 +80,13 @@ on early-boot chown system system /mnt/vendor/persist/sensors chown system system /mnt/vendor/persist/sensors/sns.reg + chown system system /mnt/vendor/persist/sensors/sensors_list.txt chown system system /mnt/vendor/persist/sensors/registry chown system system /mnt/vendor/persist/sensors/registry/registry chown system system /mnt/vendor/persist/sensors/registry/registry/sensors_registry chown system system /mnt/vendor/persist/sensors/sensors_settings chown system system /mnt/vendor/persist/sensors/registry/sns_reg_config + chown system system /mnt/vendor/persist/sensors/registry/sns_reg_version chown system system /mnt/vendor/persist/sensors/registry/config chmod 0664 /mnt/vendor/persist/sensors/sensors_settings @@ -106,6 +104,7 @@ on boot chown system system /sys/kernel/debug/msm_core/enable chown system system /sys/kernel/debug/msm_core/ptable chown system system /sys/kernel/boot_slpi/ssr + chown system system /sys/kernel/boot_adsp/ssr chown system system /sys/module/radio_iris_transport/parameters/fmsmd_set chmod 0660 /sys/module/bluetooth_power/parameters/power chmod 0660 /sys/module/hci_smd/parameters/hcismd_set @@ -135,7 +134,6 @@ on boot mkdir /dev/socket/qmux_gps 0770 gps gps chmod 2770 /dev/socket/qmux_gps - #define back flash and front flash chmod 0660 /sys/android_camera/sensor chmod 0660 /sys/class/leds/led:flash_0/brightness @@ -191,6 +189,9 @@ on boot #enable camera read sensors data setprop persist.camera.gyro.disable 0 + #Remove SUID bit for iproute2 ip tool + chmod 0755 /system/bin/ip + chmod 0444 /sys/devices/platform/msm_hsusb/gadget/usb_state # Define TCP buffer sizes for various networks @@ -221,9 +222,6 @@ on boot # an ack packet comes out of order write /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal 1 - #Make MTU adjusting for sometimes cannot access to internet - write /proc/sys/net/ipv4/tcp_mtu_probing 1 - # Set the console loglevel to < KERN_INFO # Set the default message loglevel to KERN_INFO write /proc/sys/kernel/printk "6 6 1 7" @@ -258,7 +256,9 @@ on boot chown system system /sys/class/sensors/apds9930-proximity/poll_delay # Create directory used for display - mkdir /vendor/mnt/persist/display 0770 system graphics + # for backward compatibility + mkdir /persist/display 0770 system graphics + mkdir /mnt/vendor/persist/display 0770 system graphics # Create vpp directory mkdir /mnt/vendor/persist/vpp 0770 media media @@ -288,8 +288,8 @@ on post-fs-data # create QDMA dropbox mkdir /data/vendor/qdmastats 0700 system system mkdir /data/vendor/qdma 0770 system system - mkdir /dev/socket/qdma 0770 system system - chmod 2770 /dev/socket/qdma + mkdir /dev/socket/qdma 0777 system system + chmod 2777 /dev/socket/qdma # Create /data/vendor/tzstorage directory for SFS listener mkdir /data/vendor/tzstorage 0770 system system @@ -301,9 +301,6 @@ on post-fs-data mkdir /data/vendor/camera 0770 camera camera mkdir /data/misc/camera 0770 camera camera - mkdir /data/media 0770 media_rw media_rw - chown media_rw media_rw /data/media - #Change ownership to system chown system system /data/vendor/tombstones @@ -319,7 +316,6 @@ on post-fs-data mkdir /data/vendor/wifi/wpa_supplicant 0770 wifi wifi mkdir /data/vendor/wifi/wigig_hostapd 0770 wifi wifi mkdir /data/vendor/wifi/wpa 0770 wifi wifi - mkdir /data/vendor/wlan_logs 0770 system wifi mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi #create port-bridge log dir @@ -342,15 +338,6 @@ on post-fs-data mkdir /data/vendor/connectivity 0771 radio radio chown radio radio /data/vendor/connectivity - # Create the directories used by CnE subsystem - mkdir /data/vendor/connectivity 0771 radio radio - chown radio radio /data/vendor/connectivity - - # Create the directories used by LctDiagSendData - mkdir /data/vendor/lct_diag 0771 root root - chown root root /data/vendor/lct_diag - rm /data/vendor/lct_diag/client_* - # Create directory used by audio subsystem mkdir /data/vendor/audio 0770 audio audio @@ -358,15 +345,6 @@ on post-fs-data mkdir /data/vendor/audio/acdbdata 0770 media audio mkdir /data/vendor/audio/acdbdata/delta 0770 media audio - # Create directory used by the DASH client - mkdir /data/misc/dash 0770 media audio - - mkdir /data/vendor/audio/ 0770 media audio - - # Create a folder for audio delta files - mkdir /data/vendor/audio/acdbdata 0770 media audio - mkdir /data/vendor/audio/acdbdata/delta 0770 media audio - # Create directory for radio mkdir /data/vendor/radio 0770 system radio @@ -400,6 +378,11 @@ on post-fs-data mkdir /dev/socket/location 0770 gps gps mkdir /dev/socket/location/mq 0770 gps gps mkdir /dev/socket/location/xtra 0770 gps gps + mkdir /data/vendor/location-partner 0770 gps gps + mkdir /data/vendor/location-partner/dre 0770 gps gps + mkdir /data/vendor/location-partner/ppe 0770 gps gps + mkdir /dev/socket/location 0770 gps gps + mkdir /dev/socket/location/ehub 0770 gps gps #Create directory from IMS services mkdir /data/shared 0755 @@ -437,6 +420,11 @@ on post-fs-data chmod 2770 /data/vendor/perfd rm /data/vendor/perfd/default_values + mkdir /data/vendor/secure_element 0777 system system + + #Create IOP deamon related dirs + mkdir /data/vendor/iop 0700 root system + # Mark the copy complete flag to not completed write /data/vendor/radio/copy_complete 0 chown radio radio /data/vendor/radio/copy_complete @@ -476,6 +464,22 @@ on post-fs-data # Create vpp directory mkdir /data/vendor/vpp 0770 media media + #Create dir for TUI + mkdir /data/vendor/tui 0700 system system + + #Start move time data to /data/vendor once post-fs-data done + start vendor.move_time_data + +service vendor.ssr_setup /system/vendor/bin/ssr_setup + oneshot + disabled + +service vendor.ss_ramdump /system/vendor/bin/subsystem_ramdump + class main + user system + group system + disabled + on property:ro.vendor.iocgrp.config=1 mkdir /dev/blkio mount cgroup none /dev/blkio blkio @@ -488,23 +492,11 @@ on property:ro.vendor.iocgrp.config=1 write /dev/blkio/blkio.weight 1000 write /dev/blkio/bg/blkio.weight 100 - #Create dir for TUI - mkdir /data/vendor/tui 0600 system drmrpc - -service vendor.ssr_setup /system/vendor/bin/ssr_setup - oneshot - disabled - -service vendor.ss_ramdump /system/vendor/bin/subsystem_ramdump - class main - user system - group system - disabled -on property:persist.sys.ssr.enable_debug=* - write /sys/module/subsystem_restart/parameters/enable_debug ${persist.sys.ssr.enable_debug} +on property:persist.vendor.sys.ssr.enable_debug=* + write /sys/module/subsystem_restart/parameters/enable_debug ${persist.vendor.sys.ssr.enable_debug} on property:persist.vendor.sys.mba_boot_timeout=* - write /sys/module/pil_msa/parameters/pbl_mba_boot_timeout_ms ${persist.sys.mba_boot_timeout} + write /sys/module/pil_msa/parameters/pbl_mba_boot_timeout_ms ${persist.vendor.sys.mba_boot_timeout} on property:persist.vendor.sys.modem_auth_timeout=* write /sys/module/pil_msa/parameters/modem_auth_timeout_ms ${persist.vendor.sys.modem_auth_timeout} @@ -545,8 +537,6 @@ on property:persist.debug.trace=1 on property:init.svc.wpa_supplicant=stopped stop dhcpcd -on property:sys.ftmd=1 - start vendor.ftmd on property:ro.bluetooth.ftm_enabled=true start vendor.ftmd @@ -630,7 +620,6 @@ service vendor.sensors.qti /vendor/bin/sensors.qti class core user system group system - disabled service vendor.sensors.qcom /vendor/bin/sensors.qcom class core @@ -681,7 +670,7 @@ service loc_launcher /system/vendor/bin/loc_launcher group gps writepid /dev/cpuset/system-background/tasks -service qcom-sh /vendor/bin/init.qcom.sh +service vendor.qcom-sh /vendor/bin/init.qcom.sh class late_start user root group root system radio @@ -695,7 +684,7 @@ service vendor.qcom-post-boot /vendor/bin/init.qcom.post_boot.sh oneshot on property:sys.boot_completed=1 - start qcom-post-boot + start vendor.qcom-post-boot on property:ro.vendor.ril.mbn_copy_completed=1 write /data/vendor/radio/copy_complete 1 @@ -756,6 +745,7 @@ service vendor.msm_irqbal_lb /vendor/bin/msm_irqbalance -f /system/vendor/etc/ms on charger setprop persist.sys.usb.config mass_storage + load_system_props start qcom-post-boot on property:vendor.display.lcd_density=* @@ -768,16 +758,6 @@ on property:vendor.rild.libpath=* on property:ro.vendor.radio.noril=* setprop ro.radio.noril ${ro.vendor.radio.noril} -#ant check change permission - chown system system /sys/class/ant_class/ant_state - chmod 0644 /sys/class/ant_class/ant_state - -#lct add video status -on property:sys.thermal.isinvideo=1 - write /sys/class/power_supply/battery/device/thermalvideo 1 - -on property:sys.thermal.isinvideo=0 - write /sys/class/power_supply/battery/device/thermalvideo 0 service vendor.power_off_alarm /vendor/bin/power_off_alarm class core @@ -785,19 +765,6 @@ service vendor.power_off_alarm /vendor/bin/power_off_alarm disabled oneshot -#lct add video status -on property:sys.thermal.isinvideo=1 - write /sys/class/power_supply/battery/device/thermalvideo 1 - -on property:sys.thermal.isinvideo=0 - write /sys/class/power_supply/battery/device/thermalvideo 0 - -service config_bt_addr /vendor/bin/btnvtool -O - class core - user bluetooth - group bluetooth radio - oneshot - #Set GPU Opengles version on property:vendor.opengles.version=* setprop ro.opengles.version ${vendor.opengles.version} @@ -828,3 +795,19 @@ on property:sys.camera.not.ctsverify.apk=* #add cts verify flag on property:sys.gyro.sensorname=* setprop vendor.camera.gyro.sensorname ${sys.gyro.sensorname} + +service vendor.audio-hal-2-0 /vendor/bin/hw/android.hardware.audio@2.0-service + override + class hal + user audioserver + # media gid needed for /dev/fm (radio) and for /data/misc/media (tee) + group audio camera drmrpc inet media mediadrm net_bt net_bt_admin net_bw_acct oem_2901 wakelock system + capabilities BLOCK_SUSPEND + ioprio rt 4 + writepid /dev/cpuset/foreground/tasks /dev/stune/foreground/tasks + # audioflinger restarts itself when it loses connection with the hal + # and its .rc file has an "onrestart restart audio-hal" rule, thus + # an additional auto-restart from the init process isn't needed. + oneshot + interface android.hardware.audio@4.0::IDevicesFactory default + interface android.hardware.audio@2.0::IDevicesFactory default diff --git a/rootdir/etc/init.target.rc b/rootdir/etc/init.target.rc index 83313888..26c81580 100755 --- a/rootdir/etc/init.target.rc +++ b/rootdir/etc/init.target.rc @@ -47,6 +47,11 @@ on init write /dev/cpuset/camera-daemon/mems 0 chown cameraserver cameraserver /dev/cpuset/camera-daemon/tasks chmod 0660 /dev/cpuset/camera-daemon/tasks + # chmod node /dev/gpio_rf + chmod 0644 /dev/gpio_rf + + chown system system /dev/lirc0 + chmod 0660 /dev/lirc0 on fs wait /dev/block/platform/soc/${ro.boot.bootdevice} @@ -64,25 +69,14 @@ on fs mkdir /mnt/vendor/persist/secnvm 0770 system system mkdir /mnt/vendor/persist/time 0770 system system restorecon_recursive /mnt/vendor/persist - - mkdir /vendor/mnt/persist/wlan_bt 0777 root system - #add by Quanyu.Lee for MI-feature - #only needed on Factory version,DO NOT push to MIUI! - chmod 0644 /vendor/mnt/persist/wlan_bt/bt.mac - chmod 0644 /vendor/mnt/persist/wlan_bt/wlan.mac - chown system system /vendor/mnt/persist/wlan_bt/bt.mac - chown system system /vendor/mnt/persist/wlan_bt/wlan.mac - write /sys/kernel/boot_adsp/boot 1 - chown system system /dev/goodix_fp - #chmod 0644 /dev/goodix_fp - chmod 0664 /sys/class/thermal/thermal_message/sconfig chown system system /sys/class/thermal/thermal_message/sconfig on post-fs start vendor.qseecomd exec - system system -- /vendor/bin/init.qti.qseecomd.sh + write /dev/ipa 1 on init write /sys/module/qpnp_rtc/parameters/poweron_alarm 1 @@ -106,19 +100,19 @@ on post-fs-data setprop vendor.usb.dpl.inst.name "dpl" write /sys/module/usb_f_qcrndis/parameters/rndis_dl_max_xfer_size 15916 setprop sys.usb.configfs 1 - -# Thermal + mkdir /data/vendor/mac_addr 0770 system system mkdir /data/vendor/thermal 0771 root system mkdir /data/vendor/thermal/config 0771 root system on boot start vendor.rmt_storage + start rfs_access write /dev/cpuset/top-app/cpus 0-7 + write /dev/cpuset/audio-app/cpus 1-2 write /dev/cpuset/foreground/cpus 0-7 + write /dev/cpuset/foreground/boost/cpus 0-7 write /dev/cpuset/background/cpus 0-7 write /dev/cpuset/system-background/cpus 0-7 - write /dev/cpuset/restricted/cpus 0-7 - ####Regionalization config and prop files#### chmod 0644 /vendor/mnt/persist/speccfg/spec chmod 0644 /vendor/mnt/persist/speccfg/devicetype @@ -143,7 +137,16 @@ on boot #Create folder dump yuv images while debugging mkdir /data/vendor/camera 0770 camera camera -# Wifi firmware reload path + +#USB controller configuration + setprop vendor.usb.rndis.func.name "rndis_bam" + setprop vendor.usb.rmnet.func.name "rmnet_bam" + setprop vendor.usb.rmnet.inst.name "rmnet" + setprop vendor.usb.dpl.inst.name "dpl" + write /sys/module/usb_f_qcrndis/parameters/rndis_dl_max_xfer_size 15916 + setprop sys.usb.configfs 1 + + # Wifi firmware reload path chown wifi wifi /sys/module/wlan/parameters/fwpath # default country code @@ -178,11 +181,7 @@ on property:sys.shutdown.requested=* stop vendor.per_proxy stop vendor.ims_rtp_daemon -on property:vendor.camera.thermal_lc=12 - write /sys/class/thermal/thermal_message/sconfig 12 -on property:vendor.camera.thermal_lc=0 - write /sys/class/thermal/thermal_message/sconfig 0 service vendor.qseecomd /vendor/bin/qseecomd class core user root @@ -198,9 +197,10 @@ service vendor.thermal-engine /system/vendor/bin/thermal-engine group root service vendor.time_daemon /system/vendor/bin/time_daemon - class late_start - user root - group root + class main + user system + group system + capabilities SYS_TIME writepid /dev/cpuset/system-background/tasks service vendor.adsprpcd /system/vendor/bin/adsprpcd audiopd @@ -209,6 +209,11 @@ service vendor.adsprpcd /system/vendor/bin/adsprpcd audiopd group media writepid /dev/cpuset/system-background/tasks +service adsprpcd /vendor/bin/adsprpcd audiopd + class main + user media + group media + service vendor.imsqmidaemon /system/vendor/bin/imsqmidaemon class main user system @@ -216,6 +221,7 @@ service vendor.imsqmidaemon /system/vendor/bin/imsqmidaemon group radio log diag writepid /dev/cpuset/system-background/tasks +# imsdatadaemon starts with root and UID will be downgraded to SYSTEM. service vendor.imsdatadaemon /system/vendor/bin/imsdatadaemon class main user system @@ -237,14 +243,15 @@ service vendor.pd_mapper /system/vendor/bin/pd-mapper on property:vendor.ims.QMI_DAEMON_STATUS=1 start vendor.imsdatadaemon -#on property:vold.decrypt=trigger_restart_framework -# start cnss_diag +on property:vold.decrypt=trigger_restart_framework + start vendor.cnss_diag + restart vendor.camera-provider-2-4 service vendor.cnss_diag /system/vendor/bin/cnss_diag -q -f -t HELIUM class main user system group system wifi inet sdcard_rw media_rw diag - disabled + oneshot service vendor.ims_rtp_daemon /system/vendor/bin/ims_rtp_daemon class main @@ -255,13 +262,12 @@ service vendor.ims_rtp_daemon /system/vendor/bin/ims_rtp_daemon service vendor.imsrcsservice /system/vendor/bin/imsrcsd class main user system - group radio diag inet log + group radio diag inet log wakelock writepid /dev/cpuset/system-background/tasks + on property:vendor.ims.DATA_DAEMON_STATUS=1 restart vendor.ims_rtp_daemon - setprop persist.rcs.supported 0 -# add for HMI_L8866_A01-502: end service vendor.ppd /system/vendor/bin/mm-pp-dpps class hal @@ -294,7 +300,12 @@ on charger start vendor.hvdcp_opti setprop sys.usb.configfs 1 start vendor.power_off_alarm + + mount tmpfs tmpfs /data + restorecon_recursive /data + start vendor.thermal-engine + start charger service vendor.qfp-daemon /vendor/bin/qfp-daemon class late_start @@ -306,28 +317,3 @@ service vendor.hvdcp_opti /system/vendor/bin/hvdcp_opti user root group system wakelock writepid /dev/cpuset/system-background/tasks - -# lcd effect -on property:persist.sys.display_srgb=1 - write /sys/class/graphics/fb0/msm_fb_srgb 1 - -on property:persist.sys.display_srgb=2 - write /sys/class/graphics/fb0/msm_fb_srgb 2 - -on property:persist.sys.display_ce=4 - write /sys/class/graphics/fb0/msm_fb_ce 1 - -on property:persist.sys.display_ce=0 - write /sys/class/graphics/fb0/msm_fb_ce 2 - -on property:persist.sys.display_cabc=1 - write /sys/class/graphics/fb0/msm_fb_cabc 1 - -on property:persist.sys.display_cabc=2 - write /sys/class/graphics/fb0/msm_fb_cabc 2 - -on property:persist.sys.display_gamma=1 - write /sys/class/graphics/fb0/msm_fb_gamma 1 - -on property:persist.sys.display_gamma=2 - write /sys/class/graphics/fb0/msm_fb_gamma 2 diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc index 502379ab..785ef2d7 100644 --- a/rootdir/etc/ueventd.qcom.rc +++ b/rootdir/etc/ueventd.qcom.rc @@ -154,23 +154,13 @@ firmware_directories /vendor/firmware_mnt/image/ /dev/mdss_rotator 0664 system system /dev/cpu_dma_latency 0660 root system -# QDSS +#QDSS /dev/byte-cntr 0660 system oem_2902 # fpc fingerprint /sys/devices/soc/soc:fpc1020* hw_reset 0660 system system /sys/devices/soc/soc:fpc1020* irq 0660 system system /sys/devices/soc/soc:fpc1020* wakeup_enable 0660 system system /sys/devices/soc/soc:fpc1020* fingerdown_wait 0220 system system - -/sys/class/leds/red delay_on 0640 system system -/sys/class/leds/red delay_off 0640 system system -/sys/class/leds/red breath 0640 system system -/sys/class/leds/green delay_on 0640 system system -/sys/class/leds/green delay_off 0640 system system -/sys/class/leds/green breath 0640 system system -/sys/class/leds/blue delay_on 0640 system system -/sys/class/leds/blue delay_off 0640 system system -/sys/class/leds/blue breath 0640 system system /dev/mhi_qdss 0660 system oem_2902 /sys/class/qdss_bridge/mhi_qdss mode 0660 system oem_2902 @@ -192,6 +182,7 @@ firmware_directories /vendor/firmware_mnt/image/ /dev/msm_vidc_dec_sec 0660 system audio /dev/msm_vidc_enc 0660 system audio /dev/msm_rotator 0660 system system +/dev/hw_random 0600 root root /dev/sdsprpc-smd 0660 system system #permissions for audio @@ -366,6 +357,31 @@ firmware_directories /vendor/firmware_mnt/image/ # This is temporary while using SD card for initial bring-up /dev/block/platform/soc/8804000.sdhci/by-name/frp 0600 system system +# Kmsg device +/dev/kmsg 0620 root system + +# LED class devices +/sys/class/leds/red delay_on 0640 system system +/sys/class/leds/red delay_off 0640 system system +/sys/class/leds/red breath 0640 system system +/sys/class/leds/green delay_on 0640 system system +/sys/class/leds/green delay_off 0640 system system +/sys/class/leds/green breath 0640 system system +/sys/class/leds/blue delay_on 0640 system system +/sys/class/leds/blue delay_off 0640 system system +/sys/class/leds/blue breath 0640 system system + +# NPU device +/dev/msm_npu 0644 system system + +# USB role switch +/sys/class/dual_role_usb/* data_role 0660 system system +/sys/class/dual_role_usb/* power_role 0660 system system +/sys/class/dual_role_usb/* mode 0660 system system + +#Memory Offline +/sys/devices/system/memory/memory* state 0660 system system + # sys-fs display /sys/class/graphics/fb* hpd 0664 system graphics /sys/class/graphics/fb* res_info 0664 system graphics @@ -398,33 +414,6 @@ firmware_directories /vendor/firmware_mnt/image/ /sys/class/graphics/fb0 dynamic_bitclk 0664 system graphics /sys/devices/virtual/hdcp/msm_hdcp min_level_change 0664 system graphics -# Kmsg device -/dev/kmsg 0620 root system - -# LED class devices -/sys/class/leds/red delay_on 0640 system system -/sys/class/leds/red delay_off 0640 system system -/sys/class/leds/red breath 0640 system system -/sys/class/leds/green delay_on 0640 system system -/sys/class/leds/green delay_off 0640 system system -/sys/class/leds/green breath 0640 system system -/sys/class/leds/blue delay_on 0640 system system -/sys/class/leds/blue delay_off 0640 system system -/sys/class/leds/blue breath 0640 system system - -# NPU device -/dev/msm_npu 0644 system system - -# USB role switch -/sys/class/dual_role_usb/* data_role 0660 system system -/sys/class/dual_role_usb/* power_role 0660 system system -/sys/class/dual_role_usb/* mode 0660 system system - -# sys-fs display -/sys/class/graphics/fb0 dynamic_fps 0664 system graphics - -#Memory Offline -/sys/devices/system/memory/memory* state 0660 system system #QG device /dev/qg 0660 system system