From 6133ed7040f96863b300c08dc0e2472836009162 Mon Sep 17 00:00:00 2001 From: Max Weffers Date: Thu, 19 Sep 2019 17:49:41 +0200 Subject: [PATCH] sdm660-common: Update init.rc and init.sh from LA.UM.8.2.r1-04000 --- rootdir/bin/init.qcom.post_boot.sh | 1780 ++++++++------------------ rootdir/bin/init.qcom.sh | 15 +- rootdir/bin/init.qcom.usb.sh | 69 +- rootdir/etc/init.msm.usb.configfs.rc | 214 +++- rootdir/etc/init.qcom.rc | 108 +- rootdir/etc/init.qcom.usb.rc | 12 +- rootdir/etc/init.target.rc | 38 +- 7 files changed, 784 insertions(+), 1452 deletions(-) diff --git a/rootdir/bin/init.qcom.post_boot.sh b/rootdir/bin/init.qcom.post_boot.sh index 91a03400..9a070ac0 100755 --- a/rootdir/bin/init.qcom.post_boot.sh +++ b/rootdir/bin/init.qcom.post_boot.sh @@ -1,6 +1,6 @@ #! /vendor/bin/sh -# Copyright (c) 2012-2013, 2016-2018, The Linux Foundation. All rights reserved. +# Copyright (c) 2012-2013, 2016-2019, 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: @@ -101,7 +101,6 @@ if [ $feature_id == 6 ]; then 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 @@ -127,7 +126,6 @@ elif [ $feature_id == 5 ]; then 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 @@ -153,7 +151,6 @@ elif [ $feature_id == 4 || $feature_id == 3 ]; then 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 @@ -179,7 +176,6 @@ else 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 @@ -352,7 +348,9 @@ function configure_zram_parameters() { fi if [ -f /sys/block/zram0/disksize ]; then - echo 1 > /sys/block/zram0/use_dedup + if [ -f /sys/block/zram0/use_dedup ]; then + echo 1 > /sys/block/zram0/use_dedup + fi if [ $MemTotal -le 524288 ]; then echo 402653184 > /sys/block/zram0/disksize elif [ $MemTotal -le 1048576 ]; then @@ -444,7 +442,7 @@ function configure_memory_parameters() { ProductName=`getprop ro.product.name` low_ram=`getprop ro.config.low_ram` -if [ "$ProductName" == "msmnile" ]; then +if [ "$ProductName" == "msmnile" ] || [ "$ProductName" == "kona" ] ; then # Enable ZRAM configure_zram_parameters configure_read_ahead_kb_values @@ -851,7 +849,6 @@ case "$target" in echo 100000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor echo 1497600 > /sys/module/cpu_boost/parameters/input_boost_freq echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms - setprop ro.vendor.perf.cores_online 2 ;; *) echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor @@ -2628,9 +2625,7 @@ case "$target" in echo "cpufreq" > /sys/class/devfreq/soc:qcom,mincpubw/governor # Start cdsprpcd only for sdm660 and disable for sdm630 - if [ "$soc_id" -eq "317" ]; then - start vendor.cdsprpcd - fi + start vendor.cdsprpcd # Start Host based Touch processing case "$hw_platform" in @@ -2806,132 +2801,6 @@ 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") @@ -3067,6 +2936,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 "sm6150") @@ -3084,10 +3079,14 @@ case "$target" in case "$soc_id" in "355" | "369" | "377" | "380" | "384" ) - - # update frequencies - configure_sku_parameters - sku_identified=`getprop vendor.sku_identified` + target_type=`getprop ro.hardware.type` + if [ "$target_type" == "automotive" ]; then + # update frequencies + configure_sku_parameters + sku_identified=`getprop vendor.sku_identified` + else + sku_identified=0 + fi # Core control parameters on silver echo 0 0 0 0 1 1 > /sys/devices/system/cpu/cpu0/core_ctl/not_preferred @@ -3142,7 +3141,6 @@ case "$target" in # Set Memory parameters configure_memory_parameters - # Enable bus-dcvs for device in /sys/devices/platform/soc do @@ -3184,14 +3182,14 @@ case "$target" in echo 400 > $memlat/mem_latency/ratio_ceil done - #Gold L3 ratio ceil + #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 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* @@ -3201,8 +3199,6 @@ case "$target" in done done - - # cpuset parameters echo 0-5 > /dev/cpuset/background/cpus echo 0-5 > /dev/cpuset/system-background/cpus @@ -3229,7 +3225,6 @@ case "$target" in 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 @@ -3272,57 +3267,57 @@ case "$target" in 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 + 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 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 + 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 + #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 @@ -3334,12 +3329,12 @@ case "$target" in 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 + #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 @@ -3354,9 +3349,316 @@ case "$target" in echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled ;; esac + ;; esac + +case "$target" in + "lito") + + # 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 8 > /sys/devices/system/cpu/cpu0/core_ctl/task_thres + echo 100 > /sys/devices/system/cpu/cpu0/core_ctl/offline_delay_ms + + # Disable Core control on gold, prime + echo 0 > /sys/devices/system/cpu/cpu6/core_ctl/enable + echo 0 > /sys/devices/system/cpu/cpu7/core_ctl/enable + + # Setting b.L scheduler parameters + echo 65 85 > /proc/sys/kernel/sched_downmigrate + echo 71 95 > /proc/sys/kernel/sched_upmigrate + 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 + + # disable unfiltering + echo 1 > /proc/sys/kernel/sched_task_unfilter_nr_windows + + # 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/up_rate_limit_us + echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us + echo 1228800 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_freq + echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/pl + echo 576000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq + echo 650000 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/rtg_boost_freq + + # configure governor settings for gold cluster + echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy6/scaling_governor + echo 0 > /sys/devices/system/cpu/cpufreq/policy6/schedutil/up_rate_limit_us + echo 0 > /sys/devices/system/cpu/cpufreq/policy6/schedutil/down_rate_limit_us + echo 1228800 > /sys/devices/system/cpu/cpufreq/policy6/schedutil/hispeed_freq + echo 85 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/hispeed_load + echo -6 > /sys/devices/system/cpu/cpu6/sched_load_boost + echo 0 > /sys/devices/system/cpu/cpufreq/policy6/schedutil/pl + echo 672000 > /sys/devices/system/cpu/cpufreq/policy6/scaling_min_freq + echo 0 > /sys/devices/system/cpu/cpufreq/policy6/schedutil/rtg_boost_freq + + # 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/up_rate_limit_us + echo 0 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/down_rate_limit_us + echo 1228800 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/hispeed_freq + echo 85 > /sys/devices/system/cpu/cpu7/cpufreq/schedutil/hispeed_load + echo -6 > /sys/devices/system/cpu/cpu7/sched_load_boost + echo 0 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/pl + echo 672000 > /sys/devices/system/cpu/cpufreq/policy7/scaling_min_freq + echo 0 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/rtg_boost_freq + + # colocation v3 settings + echo 51 > /proc/sys/kernel/sched_min_task_util_for_boost + echo 51 > /proc/sys/kernel/sched_min_task_util_for_colocation + + echo "0:1228800" > /sys/devices/system/cpu/cpu_boost/input_boost_freq + echo 40 > /sys/devices/system/cpu/cpu_boost/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 16265" > $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 50 > $llccbw/polling_interval + echo "1144 1720 2086 2929 3879 5931 6881 7980" > $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 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 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/*qcom,devfreq-l3/*cpu*-lat/devfreq/*cpu*-lat + do + echo "mem_latency" > $memlat/governor + echo 10 > $memlat/polling_interval + echo 400 > $memlat/mem_latency/ratio_ceil + done + + #Enable cdspl3 governor for L3 cdsp nodes + for l3cdsp in $device/*qcom,devfreq-l3/*cdsp-l3-lat/devfreq/*cdsp-l3-lat + do + echo "cdspl3" > $l3cdsp/governor + done + + #Enable mem_latency governor for 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 + for l3gold in $device/*qcom,devfreq-l3/*cpu6-cpu-l3-lat/devfreq/*cpu6-cpu-l3-lat + do + echo 4000 > $l3gold/mem_latency/ratio_ceil + done + + #Prime L3 ratio ceil + for l3prime in $device/*qcom,devfreq-l3/*cpu7-cpu-l3-lat/devfreq/*cpu7-cpu-l3-lat + do + echo 4000 > $l3prime/mem_latency/ratio_ceil + 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 + +#Apply settings for atoll +case "$target" in + "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 + + # 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 + + 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 8137" > $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 8137" > $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 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 + + # Disable core_ctl until sleep is enabled. + echo 6 > /sys/devices/system/cpu/cpu0/core_ctl/min_cpus + # Turn off sleep modes.. To be changed after BU stabilty verified + echo 1 > /sys/module/lpm_levels/parameters/sleep_disabled + ;; +esac + + case "$target" in "qcs605") @@ -3398,7 +3700,6 @@ 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 @@ -3473,9 +3774,7 @@ case "$target" in # Turn on sleep modes. echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - - # Set Memory parameters - configure_memory_parameters + echo 100 > /proc/sys/vm/swappiness ;; esac ;; @@ -3532,7 +3831,6 @@ case "$target" in echo 300000 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq echo 300000 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq echo 1 > /sys/module/msm_thermal/core_control/enabled - setprop ro.vendor.perf.cores_online 2 chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq chown -h root.system /sys/devices/system/cpu/mfreq @@ -3655,1064 +3953,4 @@ case "$target" in #enable rps static configuration echo 8 > /sys/class/net/rmnet_ipa0/queues/rx-0/rps_cpus echo 30 > /proc/sys/kernel/sched_small_task - ;; -esac - -case "$target" in - "msm8994") - # ensure at most one A57 is online when thermal hotplug is disabled - echo 0 > /sys/devices/system/cpu/cpu5/online - echo 0 > /sys/devices/system/cpu/cpu6/online - echo 0 > /sys/devices/system/cpu/cpu7/online - # in case CPU4 is online, limit its frequency - echo 960000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq - # Limit A57 max freq from msm_perf module in case CPU 4 is offline - echo "4:960000 5:960000 6:960000 7:960000" > /sys/module/msm_performance/parameters/cpu_max_freq - # disable thermal bcl hotplug to switch governor - echo 0 > /sys/module/msm_thermal/core_control/enabled - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n disable > $mode - done - for hotplug_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_mask - do - bcl_hotplug_mask=`cat $hotplug_mask` - echo 0 > $hotplug_mask - done - for hotplug_soc_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_soc_mask - do - bcl_soc_hotplug_mask=`cat $hotplug_soc_mask` - echo 0 > $hotplug_soc_mask - done - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n enable > $mode - done - # configure governor settings for little cluster - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif - echo 19000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate - echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy - echo 80 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads - echo 40000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time - echo 80000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/max_freq_hysteresis - echo 384000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - # online CPU4 - echo 1 > /sys/devices/system/cpu/cpu4/online - # Best effort limiting for first time boot if msm_performance module is absent - echo 960000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq - # configure governor settings for big cluster - echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_migration_notif - echo "19000 1400000:39000 1700000:19000" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate - echo 1248000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy - echo "85 1500000:90 1800000:70" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads - echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time - echo 80000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/max_freq_hysteresis - echo 384000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq - # restore A57's max - cat /sys/devices/system/cpu/cpu4/cpufreq/cpuinfo_max_freq > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq - # re-enable thermal and BCL hotplug - echo 1 > /sys/module/msm_thermal/core_control/enabled - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n disable > $mode - done - for hotplug_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_mask - do - echo $bcl_hotplug_mask > $hotplug_mask - done - for hotplug_soc_mask in /sys/devices/soc.0/qcom,bcl.*/hotplug_soc_mask - do - echo $bcl_soc_hotplug_mask > $hotplug_soc_mask - done - for mode in /sys/devices/soc.0/qcom,bcl.*/mode - do - echo -n enable > $mode - done - # plugin remaining A57s - echo 1 > /sys/devices/system/cpu/cpu5/online - echo 1 > /sys/devices/system/cpu/cpu6/online - echo 1 > /sys/devices/system/cpu/cpu7/online - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - # Restore CPU 4 max freq from msm_performance - echo "4:4294967295 5:4294967295 6:4294967295 7:4294967295" > /sys/module/msm_performance/parameters/cpu_max_freq - # input boost configuration - echo 0:1344000 > /sys/module/cpu_boost/parameters/input_boost_freq - echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms - # Setting b.L scheduler parameters - echo 1 > /proc/sys/kernel/sched_migration_fixup - echo 30 > /proc/sys/kernel/sched_small_task - echo 20 > /proc/sys/kernel/sched_mostly_idle_load - echo 3 > /proc/sys/kernel/sched_mostly_idle_nr_run - echo 99 > /proc/sys/kernel/sched_upmigrate - echo 85 > /proc/sys/kernel/sched_downmigrate - echo 400000 > /proc/sys/kernel/sched_freq_inc_notify - echo 400000 > /proc/sys/kernel/sched_freq_dec_notify - #enable rps static configuration - echo 8 > /sys/class/net/rmnet_ipa0/queues/rx-0/rps_cpus - for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor - do - echo "bw_hwmon" > $devfreq_gov - done - ;; -esac - -case "$target" in - "msm8996") - # disable thermal bcl hotplug to switch governor - echo 0 > /sys/module/msm_thermal/core_control/enabled - echo -n disable > /sys/devices/soc/soc:qcom,bcl/mode - bcl_hotplug_mask=`cat /sys/devices/soc/soc:qcom,bcl/hotplug_mask` - echo 0 > /sys/devices/soc/soc:qcom,bcl/hotplug_mask - bcl_soc_hotplug_mask=`cat /sys/devices/soc/soc:qcom,bcl/hotplug_soc_mask` - echo 0 > /sys/devices/soc/soc:qcom,bcl/hotplug_soc_mask - echo -n enable > /sys/devices/soc/soc:qcom,bcl/mode - # set sync wakee policy tunable - echo 1 > /proc/sys/kernel/sched_prefer_sync_wakee_to_waker - # configure governor settings for little cluster - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif - echo 19000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate - echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy - echo 80 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads - echo 19000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time - echo 79000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/max_freq_hysteresis - echo 300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/ignore_hispeed_on_notif - # online CPU2 - echo 1 > /sys/devices/system/cpu/cpu2/online - # configure governor settings for big cluster - echo "interactive" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor - echo 1 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/use_migration_notif - echo "19000 1400000:39000 1700000:19000 2100000:79000" > /sys/devices/system/cpu/cpu2/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/timer_rate - echo 1248000 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/hispeed_freq - echo 1 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/io_is_busy - echo "85 1500000:90 1800000:70 2100000:95" > /sys/devices/system/cpu/cpu2/cpufreq/interactive/target_loads - echo 19000 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/min_sample_time - echo 79000 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/max_freq_hysteresis - echo 300000 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq - echo 1 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/ignore_hispeed_on_notif - # re-enable thermal and BCL hotplug - echo 1 > /sys/module/msm_thermal/core_control/enabled - echo -n disable > /sys/devices/soc/soc:qcom,bcl/mode - echo $bcl_hotplug_mask > /sys/devices/soc/soc:qcom,bcl/hotplug_mask - echo $bcl_soc_hotplug_mask > /sys/devices/soc/soc:qcom,bcl/hotplug_soc_mask - echo -n enable > /sys/devices/soc/soc:qcom,bcl/mode - # input boost configuration - echo "0:1324800 2:1324800" > /sys/module/cpu_boost/parameters/input_boost_freq - echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms - # Setting b.L scheduler parameters - echo 0 > /proc/sys/kernel/sched_boost - echo 1 > /proc/sys/kernel/sched_migration_fixup - echo 45 > /proc/sys/kernel/sched_downmigrate - echo 45 > /proc/sys/kernel/sched_upmigrate - echo 400000 > /proc/sys/kernel/sched_freq_inc_notify - echo 400000 > /proc/sys/kernel/sched_freq_dec_notify - echo 3 > /proc/sys/kernel/sched_spill_nr_run - echo 100 > /proc/sys/kernel/sched_init_task_load - # Enable bus-dcvs - for cpubw in /sys/class/devfreq/*qcom,cpubw* - do - echo "bw_hwmon" > $cpubw/governor - echo 50 > $cpubw/polling_interval - echo 1525 > $cpubw/min_freq - echo "1525 5195 11863 13763" > $cpubw/bw_hwmon/mbps_zones - echo 4 > $cpubw/bw_hwmon/sample_ms - echo 34 > $cpubw/bw_hwmon/io_percent - echo 20 > $cpubw/bw_hwmon/hist_memory - echo 10 > $cpubw/bw_hwmon/hyst_length - echo 0 > $cpubw/bw_hwmon/low_power_ceil_mbps - echo 34 > $cpubw/bw_hwmon/low_power_io_percent - echo 20 > $cpubw/bw_hwmon/low_power_delay - 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 /sys/class/devfreq/*qcom,memlat-cpu* - do - echo "mem_latency" > $memlat/governor - echo 10 > $memlat/polling_interval - done - echo "cpufreq" > /sys/class/devfreq/soc:qcom,mincpubw/governor - - soc_revision=`cat /sys/devices/soc0/revision` - if [ "$soc_revision" == "2.0" ]; then - #Disable suspend for v2.0 - echo pwr_dbg > /sys/power/wake_lock - elif [ "$soc_revision" == "2.1" ]; then - # Enable C4.D4.E4.M3 LPM modes - # Disable D3 state - echo 0 > /sys/module/lpm_levels/system/pwr/pwr-l2-gdhs/idle_enabled - echo 0 > /sys/module/lpm_levels/system/perf/perf-l2-gdhs/idle_enabled - # Disable DEF-FPC mode - echo N > /sys/module/lpm_levels/system/pwr/cpu0/fpc-def/idle_enabled - echo N > /sys/module/lpm_levels/system/pwr/cpu1/fpc-def/idle_enabled - echo N > /sys/module/lpm_levels/system/perf/cpu2/fpc-def/idle_enabled - echo N > /sys/module/lpm_levels/system/perf/cpu3/fpc-def/idle_enabled - else - # Enable all LPMs by default - # This will enable C4, D4, D3, E4 and M3 LPMs - 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 - ;; -esac - -case "$target" in - "sdm845") - - # 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. - echo f > /proc/irq/default_smp_affinity - - 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 - - if [ -f /sys/devices/soc0/hw_platform ]; then - hw_platform=`cat /sys/devices/soc0/hw_platform` - fi - - if [ -f /sys/devices/soc0/platform_subtype_id ]; then - platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id` - fi - - case "$soc_id" in - "321" | "341") - # Start Host based Touch processing - case "$hw_platform" in - "QRD" ) - case "$platform_subtype_id" in - "32") #QVR845 do nothing - ;; - *) - start_hbtp - ;; - esac - ;; - *) - start_hbtp - ;; - esac - ;; - esac - # Core control parameters - echo 2 > /sys/devices/system/cpu/cpu4/core_ctl/min_cpus - echo 60 > /sys/devices/system/cpu/cpu4/core_ctl/busy_up_thres - echo 30 > /sys/devices/system/cpu/cpu4/core_ctl/busy_down_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 95 > /proc/sys/kernel/sched_upmigrate - echo 85 > /proc/sys/kernel/sched_downmigrate - echo 100 > /proc/sys/kernel/sched_group_upmigrate - echo 95 > /proc/sys/kernel/sched_group_downmigrate - echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks - - # 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 1209600 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/pl - echo 576000 > /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/cpu4/cpufreq/schedutil/rate_limit_us - echo 1574400 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_freq - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/pl - echo "0:1324800" > /sys/module/cpu_boost/parameters/input_boost_freq - echo 120 > /sys/module/cpu_boost/parameters/input_boost_ms - # Limit the min frequency to 825MHz - echo 825000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq - - # Enable oom_reaper - echo 1 > /sys/module/lowmemorykiller/parameters/oom_reaper - - # Enable bus-dcvs - for cpubw in /sys/class/devfreq/*qcom,cpubw* - do - echo "bw_hwmon" > $cpubw/governor - echo 50 > $cpubw/polling_interval - echo "2288 4577 6500 8132 9155 10681" > $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 - echo 10 > $cpubw/bw_hwmon/hyst_length - 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 /sys/class/devfreq/*qcom,llccbw* - do - echo "bw_hwmon" > $llccbw/governor - echo 50 > $llccbw/polling_interval - echo "1720 2929 3879 5931 6881" > $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 - echo 10 > $llccbw/bw_hwmon/hyst_length - echo 0 > $llccbw/bw_hwmon/guard_band_mbps - echo 250 > $llccbw/bw_hwmon/up_scale - echo 1600 > $llccbw/bw_hwmon/idle_mbps - done - - #Enable mem_latency governor for DDR scaling - for memlat in /sys/class/devfreq/*qcom,memlat-cpu* - do - echo "mem_latency" > $memlat/governor - echo 10 > $memlat/polling_interval - echo 400 > $memlat/mem_latency/ratio_ceil - done - - #Enable mem_latency governor for L3 scaling - for memlat in /sys/class/devfreq/*qcom,l3-cpu* - do - echo "mem_latency" > $memlat/governor - echo 10 > $memlat/polling_interval - echo 400 > $memlat/mem_latency/ratio_ceil - done - - #Enable userspace governor for L3 cdsp nodes - for l3cdsp in /sys/class/devfreq/*qcom,l3-cdsp* - do - echo "userspace" > $l3cdsp/governor - chown -h system $l3cdsp/userspace/set_freq - done - - #Gold L3 ratio ceil - echo 4000 > /sys/class/devfreq/soc:qcom,l3-cpu4/mem_latency/ratio_ceil - - echo "compute" > /sys/class/devfreq/soc:qcom,mincpubw/governor - echo 10 > /sys/class/devfreq/soc:qcom,mincpubw/polling_interval - - # cpuset parameters - echo 0-3 > /dev/cpuset/background/cpus - echo 0-3 > /dev/cpuset/system-background/cpus - - # Turn off scheduler boost at the end - echo 0 > /proc/sys/kernel/sched_boost - # Disable CPU Retention - echo N > /sys/module/lpm_levels/L3/cpu0/ret/idle_enabled - echo N > /sys/module/lpm_levels/L3/cpu1/ret/idle_enabled - echo N > /sys/module/lpm_levels/L3/cpu2/ret/idle_enabled - echo N > /sys/module/lpm_levels/L3/cpu3/ret/idle_enabled - echo N > /sys/module/lpm_levels/L3/cpu4/ret/idle_enabled - echo N > /sys/module/lpm_levels/L3/cpu5/ret/idle_enabled - echo N > /sys/module/lpm_levels/L3/cpu6/ret/idle_enabled - echo N > /sys/module/lpm_levels/L3/cpu7/ret/idle_enabled - echo N > /sys/module/lpm_levels/L3/l3-dyn-ret/idle_enabled - # Turn on sleep modes. - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - echo 100 > /proc/sys/vm/swappiness - echo 120 > /proc/sys/vm/watermark_scale_factor - ;; -esac - -case "$target" in - "msmnile") - # Core control parameters for gold - echo 2 > /sys/devices/system/cpu/cpu4/core_ctl/min_cpus - echo 60 > /sys/devices/system/cpu/cpu4/core_ctl/busy_up_thres - echo 30 > /sys/devices/system/cpu/cpu4/core_ctl/busy_down_thres - echo 100 > /sys/devices/system/cpu/cpu4/core_ctl/offline_delay_ms - echo 3 > /sys/devices/system/cpu/cpu4/core_ctl/task_thres - - # Core control parameters for gold+ - echo 0 > /sys/devices/system/cpu/cpu7/core_ctl/min_cpus - echo 60 > /sys/devices/system/cpu/cpu7/core_ctl/busy_up_thres - echo 30 > /sys/devices/system/cpu/cpu7/core_ctl/busy_down_thres - echo 100 > /sys/devices/system/cpu/cpu7/core_ctl/offline_delay_ms - echo 1 > /sys/devices/system/cpu/cpu7/core_ctl/task_thres - # Controls how many more tasks should be eligible to run on gold CPUs - # w.r.t number of gold CPUs available to trigger assist (max number of - # tasks eligible to run on previous cluster minus number of CPUs in - # the previous cluster). - # - # 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 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 - - # Setting b.L scheduler parameters - 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 10 > /proc/sys/kernel/sched_group_downmigrate - echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks - - # cpuset parameters - echo 0-3 > /dev/cpuset/background/cpus - echo 0-3 > /dev/cpuset/system-background/cpus - - # Turn off scheduler boost at the end - echo 0 > /proc/sys/kernel/sched_boost - - # 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/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/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/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 - - # 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 - - # Enable oom_reaper - if [ -f /sys/module/lowmemorykiller/parameters/oom_reaper ]; then - echo 1 > /sys/module/lowmemorykiller/parameters/oom_reaper - else - echo 1 > /proc/sys/vm/reap_mem_on_sigkill - fi - - # 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 40 > $cpubw/polling_interval - 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 - echo 10 > $cpubw/bw_hwmon/hyst_length - echo 30 > $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 - 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 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 - echo 10 > $llccbw/bw_hwmon/hyst_length - echo 30 > $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 - echo 6881 > $llccbw/max_freq - 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 "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 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 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 - - #Enable userspace 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 - - #Gold L3 ratio ceil - for l3gold in $device/*cpu4-cpu-l3-lat/devfreq/*cpu4-cpu-l3-lat - 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 - hw_platform=`cat /sys/devices/soc0/hw_platform` - else - hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform` - fi - - if [ -f /sys/devices/soc0/platform_subtype_id ]; then - platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id` - fi - - case "$hw_platform" in - "MTP" | "Surf" | "RCM" ) - # Start Host based Touch processing - case "$platform_subtype_id" in - "0" | "1") - start_hbtp - ;; - esac - ;; - "HDK" ) - if [ -d /sys/kernel/hbtpsensor ] ; then - start_hbtp - fi - ;; - esac - - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - configure_memory_parameters - ;; -esac - -case "$target" in - "msm8998" | "apq8098_latv") - - echo 2 > /sys/devices/system/cpu/cpu4/core_ctl/min_cpus - echo 60 > /sys/devices/system/cpu/cpu4/core_ctl/busy_up_thres - echo 30 > /sys/devices/system/cpu/cpu4/core_ctl/busy_down_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 1 > /proc/sys/kernel/sched_migration_fixup - echo 95 > /proc/sys/kernel/sched_upmigrate - echo 90 > /proc/sys/kernel/sched_downmigrate - echo 100 > /proc/sys/kernel/sched_group_upmigrate - echo 95 > /proc/sys/kernel/sched_group_downmigrate - echo 0 > /proc/sys/kernel/sched_select_prev_cpu_us - echo 400000 > /proc/sys/kernel/sched_freq_inc_notify - echo 400000 > /proc/sys/kernel/sched_freq_dec_notify - 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 - - # online CPU0 - echo 1 > /sys/devices/system/cpu/cpu0/online - # configure governor settings for little cluster - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif - echo 19000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate - echo 1248000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy - echo "83 1804800:95" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads - echo 19000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time - echo 79000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/max_freq_hysteresis - echo 518400 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/ignore_hispeed_on_notif - # online CPU4 - echo 1 > /sys/devices/system/cpu/cpu4/online - # configure governor settings for big cluster - echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_migration_notif - echo 19000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate - echo 1574400 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy - echo "83 1939200:90 2016000:95" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads - echo 19000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time - echo 79000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/max_freq_hysteresis - echo 806400 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/ignore_hispeed_on_notif - - # re-enable thermal and BCL hotplug - echo 1 > /sys/module/msm_thermal/core_control/enabled - - # Enable input boost configuration - echo "0:1324800" > /sys/module/cpu_boost/parameters/input_boost_freq - echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms - # Enable bus-dcvs - for cpubw in /sys/class/devfreq/*qcom,cpubw* - do - echo "bw_hwmon" > $cpubw/governor - echo 50 > $cpubw/polling_interval - echo 1525 > $cpubw/min_freq - echo "3143 5859 11863 13763" > $cpubw/bw_hwmon/mbps_zones - echo 4 > $cpubw/bw_hwmon/sample_ms - echo 34 > $cpubw/bw_hwmon/io_percent - echo 20 > $cpubw/bw_hwmon/hist_memory - echo 10 > $cpubw/bw_hwmon/hyst_length - echo 0 > $cpubw/bw_hwmon/low_power_ceil_mbps - echo 34 > $cpubw/bw_hwmon/low_power_io_percent - echo 20 > $cpubw/bw_hwmon/low_power_delay - 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 /sys/class/devfreq/*qcom,memlat-cpu* - do - echo "mem_latency" > $memlat/governor - echo 10 > $memlat/polling_interval - echo 400 > $memlat/mem_latency/ratio_ceil - done - echo "cpufreq" > /sys/class/devfreq/soc:qcom,mincpubw/governor - 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 - - if [ -f /sys/devices/soc0/hw_platform ]; then - hw_platform=`cat /sys/devices/soc0/hw_platform` - else - hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform` - fi - - if [ -f /sys/devices/soc0/platform_version ]; then - platform_version=`cat /sys/devices/soc0/platform_version` - platform_major_version=$((10#${platform_version}>>16)) - fi - - if [ -f /sys/devices/soc0/platform_subtype_id ]; then - platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id` - fi - - case "$soc_id" in - "292") #msm8998 apq8098_latv - # Start Host based Touch processing - case "$hw_platform" in - "QRD") - case "$platform_subtype_id" in - "0") - start_hbtp - ;; - "16") - if [ $platform_major_version -lt 6 ]; then - start_hbtp - fi - ;; - esac - - ;; - esac - ;; - esac - - echo N > /sys/module/lpm_levels/system/pwr/cpu0/ret/idle_enabled - echo N > /sys/module/lpm_levels/system/pwr/cpu1/ret/idle_enabled - echo N > /sys/module/lpm_levels/system/pwr/cpu2/ret/idle_enabled - echo N > /sys/module/lpm_levels/system/pwr/cpu3/ret/idle_enabled - echo N > /sys/module/lpm_levels/system/perf/cpu4/ret/idle_enabled - echo N > /sys/module/lpm_levels/system/perf/cpu5/ret/idle_enabled - echo N > /sys/module/lpm_levels/system/perf/cpu6/ret/idle_enabled - echo N > /sys/module/lpm_levels/system/perf/cpu7/ret/idle_enabled - echo N > /sys/module/lpm_levels/system/pwr/pwr-l2-dynret/idle_enabled - echo N > /sys/module/lpm_levels/system/pwr/pwr-l2-ret/idle_enabled - echo N > /sys/module/lpm_levels/system/perf/perf-l2-dynret/idle_enabled - echo N > /sys/module/lpm_levels/system/perf/perf-l2-ret/idle_enabled - echo N > /sys/module/lpm_levels/parameters/sleep_disabled - - echo 0-3 > /dev/cpuset/background/cpus - echo 0-3 > /dev/cpuset/system-background/cpus - echo 0 > /proc/sys/kernel/sched_boost - - # Set Memory parameters - configure_memory_parameters - ;; -esac - -case "$target" in - "msm8909") - - 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 - - # HMP scheduler settings for 8909 similiar to 8917 - echo 3 > /proc/sys/kernel/sched_window_stats_policy - echo 3 > /proc/sys/kernel/sched_ravg_hist_size - - echo 1 > /proc/sys/kernel/sched_restrict_tasks_spread - - echo 20 > /proc/sys/kernel/sched_small_task - echo 30 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_load - echo 30 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_load - - echo 3 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_nr_run - - echo 0 > /sys/devices/system/cpu/cpu0/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu1/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu2/sched_prefer_idle - echo 0 > /sys/devices/system/cpu/cpu3/sched_prefer_idle - - # Apply governor settings for 8909 - - # disable thermal core_control to update scaling_min_freq - echo 0 > /sys/module/msm_thermal/core_control/enabled - echo 1 > /sys/devices/system/cpu/cpu0/online - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - # enable thermal core_control now - echo 1 > /sys/module/msm_thermal/core_control/enabled - - echo "29000 1094400:49000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load - echo 30000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate - echo 998400 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq - echo 0 > /sys/devices/system/cpu/cpufreq/interactive/io_is_busy - echo "1 800000:85 998400:90 1094400:80" > /sys/devices/system/cpu/cpufreq/interactive/target_loads - echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time - echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor - - # Bring up all cores online - echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online - echo 1 > /sys/devices/system/cpu/cpu3/online - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - - for devfreq_gov in /sys/class/devfreq/*qcom,cpubw*/governor - do - echo "bw_hwmon" > $devfreq_gov - for cpu_bimc_bw_step in /sys/class/devfreq/*qcom,cpubw*/bw_hwmon/bw_step - do - echo 60 > $cpu_bimc_bw_step - done - for cpu_guard_band_mbps in /sys/class/devfreq/*qcom,cpubw*/bw_hwmon/guard_band_mbps - do - echo 30 > $cpu_guard_band_mbps - done - done - - for gpu_bimc_io_percent in /sys/class/devfreq/*qcom,gpubw*/bw_hwmon/io_percent - do - echo 40 > $gpu_bimc_io_percent - done - for gpu_bimc_bw_step in /sys/class/devfreq/*qcom,gpubw*/bw_hwmon/bw_step - do - echo 60 > $gpu_bimc_bw_step - done - for gpu_bimc_guard_band_mbps in /sys/class/devfreq/*qcom,gpubw*/bw_hwmon/guard_band_mbps - do - echo 30 > $gpu_bimc_guard_band_mbps - done - - # Set Memory parameters - configure_memory_parameters - restorecon -R /sys/devices/system/cpu - ;; -esac - -case "$target" in - "msm7627_ffa" | "msm7627_surf" | "msm7627_6x") - echo 25000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate - ;; -esac - -case "$target" in - "qsd8250_surf" | "qsd8250_ffa" | "qsd8650a_st1x") - echo 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate - ;; -esac - -case "$target" in - "qsd8650a_st1x") - mount -t debugfs none /sys/kernel/debug - ;; -esac - -chown -h system /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate -chown -h system /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor -chown -h system /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy - -emmc_boot=`getprop vendor.boot.emmc` -case "$emmc_boot" - in "true") - chown -h system /sys/devices/platform/rs300000a7.65536/force_sync - chown -h system /sys/devices/platform/rs300000a7.65536/sync_sts - chown -h system /sys/devices/platform/rs300100a7.65536/force_sync - chown -h system /sys/devices/platform/rs300100a7.65536/sync_sts - ;; -esac - -case "$target" in - "msm8960" | "msm8660" | "msm7630_surf") - echo 10 > /sys/devices/platform/msm_sdcc.3/idle_timeout - ;; - "msm7627a") - echo 10 > /sys/devices/platform/msm_sdcc.1/idle_timeout - ;; -esac - -# Post-setup services -case "$target" in - "msm8660" | "msm8960" | "msm8226" | "msm8610" | "mpq8092" ) - start mpdecision - ;; - "msm8916") - setprop vendor.post_boot.parsed 1 - - 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 - "239" | "241" | "263" | "268" | "269" | "270" | "271") - setprop vendor.min_freq_0 960000 - setprop vendor.min_freq_4 800000 - ;; - "206" | "247" | "248" | "249" | "250" | "233" | "240" | "242") - setprop vendor.min_freq_0 800000 - ;; - esac - ;; - "msm8909") - setprop vendor.post_boot.parsed 1 - ;; - "msm8952") - setprop vendor.post_boot.parsed 1 - ;; - "msm8937" | "msm8953") - setprop vendor.post_boot.parsed 1 - - low_ram_enable=`getprop ro.config.low_ram` - - if [ "$low_ram_enable" != "true" ]; then - start gamed - fi - ;; - "msm8974") - start mpdecision - echo 512 > /sys/block/mmcblk0/bdi/read_ahead_kb - ;; - "msm8994" | "msm8992" | "msm8996" | "msm8998" | "sdm660" | "apq8098_latv" | "sdm845" | "sdm710" | "msmnile" | "qcs605" | "sm6150" | "trinket") - setprop vendor.post_boot.parsed 1 - ;; - "apq8084") - rm /data/system/perfd/default_values - start mpdecision - echo 512 > /sys/block/mmcblk0/bdi/read_ahead_kb - echo 512 > /sys/block/sda/bdi/read_ahead_kb - echo 512 > /sys/block/sdb/bdi/read_ahead_kb - echo 512 > /sys/block/sdc/bdi/read_ahead_kb - echo 512 > /sys/block/sdd/bdi/read_ahead_kb - echo 512 > /sys/block/sde/bdi/read_ahead_kb - echo 512 > /sys/block/sdf/bdi/read_ahead_kb - echo 512 > /sys/block/sdg/bdi/read_ahead_kb - echo 512 > /sys/block/sdh/bdi/read_ahead_kb - ;; - "msm7627a") - 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 - "127" | "128" | "129") - start mpdecision - ;; - esac - ;; -esac - -# Enable Power modes and set the CPU Freq Sampling rates -case "$target" in - "msm7627a") - start qosmgrd - echo 1 > /sys/module/pm2/modes/cpu0/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/pm2/modes/cpu1/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/pm2/modes/cpu0/standalone_power_collapse/suspend_enabled - echo 1 > /sys/module/pm2/modes/cpu1/standalone_power_collapse/suspend_enabled - #SuspendPC: - echo 1 > /sys/module/pm2/modes/cpu0/power_collapse/suspend_enabled - #IdlePC: - echo 1 > /sys/module/pm2/modes/cpu0/power_collapse/idle_enabled - echo 25000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate - ;; -esac - -# Change adj level and min_free_kbytes setting for lowmemory killer to kick in -case "$target" in - "msm7627a") - echo 0,1,2,4,9,12 > /sys/module/lowmemorykiller/parameters/adj - echo 5120 > /proc/sys/vm/min_free_kbytes - ;; -esac - -# Install AdrenoTest.apk if not already installed -if [ -f /data/prebuilt/AdrenoTest.apk ]; then - if [ ! -d /data/data/com.qualcomm.adrenotest ]; then - pm install /data/prebuilt/AdrenoTest.apk - fi -fi - -# Install SWE_Browser.apk if not already installed -if [ -f /data/prebuilt/SWE_AndroidBrowser.apk ]; then - if [ ! -d /data/data/com.android.swe.browser ]; then - pm install /data/prebuilt/SWE_AndroidBrowser.apk - fi -fi - -# Change adj level and min_free_kbytes setting for lowmemory killer to kick in -case "$target" in - "msm8660") - start qosmgrd - echo 0,1,2,4,9,12 > /sys/module/lowmemorykiller/parameters/adj - echo 5120 > /proc/sys/vm/min_free_kbytes - ;; -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:" - image_version+=`getprop ro.build.id` - image_version+=":" - image_version+=`getprop ro.build.version.incremental` - image_variant=`getprop ro.product.name` - image_variant+="-" - image_variant+=`getprop ro.build.type` - oem_version=`getprop ro.build.version.codename` - echo 10 > /sys/devices/soc0/select_image - echo $image_version > /sys/devices/soc0/image_version - echo $image_variant > /sys/devices/soc0/image_variant - echo $oem_version > /sys/devices/soc0/image_crm_version -fi - -# Parse misc partition path and set property -misc_link=$(ls -l /dev/block/bootdevice/by-name/misc) -real_path=${misc_link##*>} -setprop persist.vendor.mmi.misc_dev_path $real_path + diff --git a/rootdir/bin/init.qcom.sh b/rootdir/bin/init.qcom.sh index aed988ec..aa54204d 100755 --- a/rootdir/bin/init.qcom.sh +++ b/rootdir/bin/init.qcom.sh @@ -99,11 +99,11 @@ start_msm_irqbalance_msmnile() fi } -start_msm_irqbalance660() +start_msm_irqbalance() { if [ -f /vendor/bin/msm_irqbalance ]; then case "$platformid" in - "317" | "324" | "325" | "326" | "345" | "346") + "317" | "321" | "324" | "325" | "326" | "336" | "345" | "346" | "360" | "393") start vendor.msm_irqbalance;; "318" | "327" | "385") start vendor.msm_irqbl_sdm630;; @@ -111,13 +111,6 @@ start_msm_irqbalance660() 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 @@ -197,7 +190,7 @@ case "$target" in fi case "$soc_id" in - "317" | "324" | "325" | "326" | "318" | "327" | "385" ) + "317" | "324" | "325" | "326" | "318" | "327" ) case "$hw_platform" in "Surf") setprop qemu.hw.mainkeys 0 @@ -214,7 +207,7 @@ case "$target" in esac ;; esac - start_msm_irqbalance660 + start_msm_irqbalance ;; "apq8084") platformvalue=`cat /sys/devices/soc0/hw_platform` diff --git a/rootdir/bin/init.qcom.usb.sh b/rootdir/bin/init.qcom.usb.sh index f252db00..5dddb666 100755 --- a/rootdir/bin/init.qcom.usb.sh +++ b/rootdir/bin/init.qcom.usb.sh @@ -29,17 +29,10 @@ # # Set platform variables -if [ -f /sys/devices/soc0/hw_platform ]; then - soc_hwplatform=`cat /sys/devices/soc0/hw_platform` 2> /dev/null -else - soc_hwplatform=`cat /sys/devices/system/soc/soc0/hw_platform` 2> /dev/null -fi - -if [ -f /sys/devices/soc0/machine ]; then - soc_machine=`cat /sys/devices/soc0/machine` 2> /dev/null -else - soc_machine=`cat /sys/devices/system/soc/soc0/machine` 2> /dev/null -fi +soc_hwplatform=`cat /sys/devices/soc0/hw_platform 2> /dev/null` +soc_machine=`cat /sys/devices/soc0/machine 2> /dev/null` +soc_machine=${soc_machine:0:2} +soc_id=`cat /sys/devices/soc0/soc_id 2> /dev/null` # # Check ESOC for external modem @@ -50,13 +43,6 @@ esoc_name=`cat /sys/bus/esoc/devices/esoc0/esoc_name 2> /dev/null` target=`getprop ro.board.platform` -# soc_ids for 8937 -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 - if [ -f /sys/class/android_usb/f_mass_storage/lun/nofua ]; then echo 1 > /sys/class/android_usb/f_mass_storage/lun/nofua fi @@ -65,8 +51,6 @@ fi # Override USB default composition # # If USB persist config not set, set default configuration -miui_release=`getprop ro.fota.oem` -miui_debuggable=`getprop ro.debuggable` if [ "$(getprop persist.vendor.usb.config)" == "" -a \ "$(getprop init.svc.vendor.usb-gadget-hal-1-0)" != "running" ]; then if [ "$esoc_name" != "" ]; then @@ -82,9 +66,8 @@ if [ "$(getprop persist.vendor.usb.config)" == "" -a \ setprop persist.vendor.usb.config diag,adb ;; *) - soc_machine=${soc_machine:0:3} case "$soc_machine" in - "SDA") + "SA") setprop persist.vendor.usb.config diag,adb ;; *) @@ -101,7 +84,6 @@ if [ "$(getprop persist.vendor.usb.config)" == "" -a \ else case "$soc_id" in "313" | "320") - echo BAM2BAM_IPA > /sys/class/android_usb/android0/f_rndis_qc/rndis_transports setprop persist.vendor.usb.config diag,serial_smd,rmnet_ipa,adb ;; *) @@ -123,7 +105,7 @@ if [ "$(getprop persist.vendor.usb.config)" == "" -a \ "sdm845" | "sdm710") setprop persist.vendor.usb.config diag,serial_cdev,rmnet,dpl,adb ;; - "msmnile" | "talos") + "msmnile" | "sm6150" | "trinket" | "lito" | "atoll") setprop persist.vendor.usb.config diag,serial_cdev,rmnet,dpl,qdss,adb ;; *) @@ -139,6 +121,20 @@ if [ "$(getprop persist.vendor.usb.config)" == "" -a \ fi fi +# Start peripheral mode on primary USB controllers for Automotive platforms +case "$soc_machine" in + "SA") + if [ -f /sys/bus/platform/devices/a600000.ssusb/mode ]; then + default_mode=`cat /sys/bus/platform/devices/a600000.ssusb/mode` + case "$default_mode" in + "none") + echo peripheral > /sys/bus/platform/devices/a600000.ssusb/mode + ;; + esac + fi + ;; +esac + # set rndis transport to BAM2BAM_IPA for 8920 and 8940 if [ "$target" == "msm8937" ]; then if [ ! -d /config/usb_gadget ]; then @@ -149,31 +145,9 @@ 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 -# set device mode notification to USB driver for SA8150 Auto ADP -product=`getprop ro.build.product` - -case "$product" in - "msmnile_au") - echo peripheral > /sys/bus/platform/devices/a600000.ssusb/mode - ;; - *) - ;; -esac - # check configfs is mounted or not if [ -d /config/usb_gadget ]; then # Chip-serial is used for unique MSM identification in Product string @@ -184,11 +158,12 @@ if [ -d /config/usb_gadget ]; then echo "$product_string" > /config/usb_gadget/g1/strings/0x409/product # ADB requires valid iSerialNumber; if ro.serialno is missing, use dummy - serialnumber=`cat /config/usb_gadget/g1/strings/0x409/serialnumber` 2> /dev/null + serialnumber=`cat /config/usb_gadget/g1/strings/0x409/serialnumber 2> /dev/null` if [ "$serialnumber" == "" ]; then serialno=1234567 echo $serialno > /config/usb_gadget/g1/strings/0x409/serialnumber fi + setprop vendor.usb.configfs 1 fi # diff --git a/rootdir/etc/init.msm.usb.configfs.rc b/rootdir/etc/init.msm.usb.configfs.rc index 708eb96e..45f8f273 100644 --- a/rootdir/etc/init.msm.usb.configfs.rc +++ b/rootdir/etc/init.msm.usb.configfs.rc @@ -173,8 +173,8 @@ on property:sys.usb.config=rndis,none && property:sys.usb.configfs=1 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 0x2717 - write /config/usb_gadget/g1/idProduct 0xFF80 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0xF00E 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} setprop sys.usb.state rndis @@ -182,24 +182,12 @@ on property:sys.usb.config=rndis,none && property:sys.usb.configfs=1 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 @@ -217,8 +205,8 @@ on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,none,adb && pro 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 0x2717 - write /config/usb_gadget/g1/idProduct 0xFF88 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x9024 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} @@ -399,9 +387,9 @@ on property:sys.usb.config=diag,qdss && property:sys.usb.configfs=1 rm /config/usb_gadget/g1/configs/b.1/f9 write /config/usb_gadget/g1/idVendor 0x05C6 write /config/usb_gadget/g1/idProduct 0x904A - write /config/usb_gadget/g1/functions/qdss.qdss/enable_debug_inface 1 + write /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name}/enable_debug_inface 1 symlink /config/usb_gadget/g1/functions/diag.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name} /config/usb_gadget/g1/configs/b.1/f2 write /config/usb_gadget/g1/UDC ${sys.usb.controller} setprop sys.usb.state ${sys.usb.config} @@ -421,9 +409,9 @@ on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,qdss,adb && prop rm /config/usb_gadget/g1/configs/b.1/f9 write /config/usb_gadget/g1/idVendor 0x05C6 write /config/usb_gadget/g1/idProduct 0x9060 - write /config/usb_gadget/g1/functions/qdss.qdss/enable_debug_inface 1 + write /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name}/enable_debug_inface 1 symlink /config/usb_gadget/g1/functions/diag.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name} /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} @@ -441,9 +429,9 @@ on property:sys.usb.config=diag,qdss,rmnet && property:sys.usb.configfs=1 rm /config/usb_gadget/g1/configs/b.1/f9 write /config/usb_gadget/g1/idVendor 0x05C6 write /config/usb_gadget/g1/idProduct 0x9083 - write /config/usb_gadget/g1/functions/qdss.qdss/enable_debug_inface 1 + write /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name}/enable_debug_inface 1 symlink /config/usb_gadget/g1/functions/diag.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name} /config/usb_gadget/g1/configs/b.1/f2 symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f3 write /config/usb_gadget/g1/UDC ${sys.usb.controller} setprop sys.usb.state ${sys.usb.config} @@ -464,9 +452,9 @@ on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,qdss,rmnet,adb & rm /config/usb_gadget/g1/configs/b.1/f9 write /config/usb_gadget/g1/idVendor 0x05C6 write /config/usb_gadget/g1/idProduct 0x9084 - write /config/usb_gadget/g1/functions/qdss.qdss/enable_debug_inface 1 + write /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name}/enable_debug_inface 1 symlink /config/usb_gadget/g1/functions/diag.diag /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name} /config/usb_gadget/g1/configs/b.1/f2 symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f3 symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f4 write /config/usb_gadget/g1/UDC ${sys.usb.controller} @@ -485,10 +473,10 @@ on property:sys.usb.config=rndis,diag,qdss && property:sys.usb.configfs=1 rm /config/usb_gadget/g1/configs/b.1/f9 write /config/usb_gadget/g1/idVendor 0x05C6 write /config/usb_gadget/g1/idProduct 0x9081 - write /config/usb_gadget/g1/functions/qdss.qdss/enable_debug_inface 1 + write /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name}/enable_debug_inface 1 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/diag.diag /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name} /config/usb_gadget/g1/configs/b.1/f3 write /config/usb_gadget/g1/UDC ${sys.usb.controller} setprop sys.usb.state ${sys.usb.config} @@ -508,10 +496,10 @@ on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,diag,qdss,adb & rm /config/usb_gadget/g1/configs/b.1/f9 write /config/usb_gadget/g1/idVendor 0x05C6 write /config/usb_gadget/g1/idProduct 0x9082 - write /config/usb_gadget/g1/functions/qdss.qdss/enable_debug_inface 1 + write /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name}/enable_debug_inface 1 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/diag.diag /config/usb_gadget/g1/configs/b.1/f2 - symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name} /config/usb_gadget/g1/configs/b.1/f3 symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f4 write /config/usb_gadget/g1/UDC ${sys.usb.controller} setprop sys.usb.state ${sys.usb.config} @@ -921,7 +909,7 @@ on property:sys.usb.config=diag,serial_cdev,rmnet,dpl,qdss && property:sys.usb.c symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f2 symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f3 symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f4 - symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f5 + symlink /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name} /config/usb_gadget/g1/configs/b.1/f5 write /config/usb_gadget/g1/UDC ${sys.usb.controller} setprop sys.usb.state ${sys.usb.config} @@ -945,7 +933,7 @@ on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,serial_cdev,rmne symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f2 symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f3 symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f4 - symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f5 + symlink /config/usb_gadget/g1/functions/qdss.${vendor.usb.qdss.inst.name} /config/usb_gadget/g1/configs/b.1/f5 symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f6 write /config/usb_gadget/g1/UDC ${sys.usb.controller} setprop sys.usb.state ${sys.usb.config} @@ -1194,25 +1182,171 @@ on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,diag_mdm,adb && write /config/usb_gadget/g1/UDC ${sys.usb.controller} setprop sys.usb.state ${sys.usb.config} +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,diag_mdm,diag_mdm2,qdss,qdss_mdm,serial_cdev,dpl,rmnet && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_diag_mdm_diag_mdm2_qdss_qdss_mdm_dun_dpl_rmnet" + 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 0x90F6 + 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/diag.diag_mdm2 /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f4 + symlink /config/usb_gadget/g1/functions/qdss.qdss_mdm /config/usb_gadget/g1/configs/b.1/f5 + symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f6 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f7 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f8 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,diag_mdm,diag_mdm2,qdss,qdss_mdm,serial_cdev,dpl,rmnet,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,diag_mdm,diag_mdm2,qdss,qdss_mdm,serial_cdev,dpl,rmnet,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_diag_mdm_diag_mdm2_qdss_qdss_mdm_dun_dpl_rmnet_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 0x90F7 + 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/diag.diag_mdm2 /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f4 + symlink /config/usb_gadget/g1/functions/qdss.qdss_mdm /config/usb_gadget/g1/configs/b.1/f5 + symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f6 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f7 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.rmnet.inst.name} /config/usb_gadget/g1/configs/b.1/f8 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,diag,diag_mdm,diag_mdm2,qdss,qdss_mdm,serial_cdev,dpl && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_diag_diag_mdm_diag_mdm2_qdss_qdss_mdm_dun_dpl" + 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 0x90F8 + 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/diag.diag /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/diag.diag_mdm /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/diag.diag_mdm2 /config/usb_gadget/g1/configs/b.1/f4 + symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f5 + symlink /config/usb_gadget/g1/functions/qdss.qdss_mdm /config/usb_gadget/g1/configs/b.1/f6 + symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f7 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f8 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state rndis + +on property:sys.usb.config=rndis,diag,diag_mdm,diag_mdm2,qdss,qdss_mdm,serial_cdev,dpl,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,diag,diag_mdm,diag_mdm2,qdss,qdss_mdm,serial_cdev,dpl,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_diag_diag_mdm_diag_mdm2_qdss_qdss_mdm_dun_dpl_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 0x90F9 + 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/diag.diag /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/diag.diag_mdm /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/diag.diag_mdm2 /config/usb_gadget/g1/configs/b.1/f4 + symlink /config/usb_gadget/g1/functions/qdss.qdss /config/usb_gadget/g1/configs/b.1/f5 + symlink /config/usb_gadget/g1/functions/qdss.qdss_mdm /config/usb_gadget/g1/configs/b.1/f6 + symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f7 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rmnet.func.name}.${vendor.usb.dpl.inst.name} /config/usb_gadget/g1/configs/b.1/f8 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state rndis,adb + +on property:sys.usb.config=diag,diag_mdm,ccid && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_diag_mdm_ccid" + 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 0x9045 + 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/ccid.ccid /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=diag,diag_mdm,adb,ccid && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,diag_mdm,adb,ccid && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_diag_mdm_adb_ccid" + 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 0x9044 + 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 + symlink /config/usb_gadget/g1/functions/ccid.ccid /config/usb_gadget/g1/configs/b.1/f4 + 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 + write /config/usb_gadget/g1/idVendor 0x18d1 + write /config/usb_gadget/g1/idProduct 0x4ee7 on property:sys.usb.config=mtp && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/idVendor 0x2717 - write /config/usb_gadget/g1/idProduct 0xFF40 + write /config/usb_gadget/g1/idVendor 0x18d1 + write /config/usb_gadget/g1/idProduct 0x4ee1 on property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/idVendor 0x2717 - write /config/usb_gadget/g1/idProduct 0xFF48 + write /config/usb_gadget/g1/idVendor 0x18d1 + write /config/usb_gadget/g1/idProduct 0x4ee2 on property:sys.usb.config=ptp && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/idVendor 0x2717 - write /config/usb_gadget/g1/idProduct 0xFF10 + write /config/usb_gadget/g1/idVendor 0x18d1 + write /config/usb_gadget/g1/idProduct 0x4ee5 on property:sys.usb.config=ptp,adb && property:sys.usb.configfs=1 - write /config/usb_gadget/g1/idVendor 0x2717 - write /config/usb_gadget/g1/idProduct 0xFF18 + write /config/usb_gadget/g1/idVendor 0x18d1 + write /config/usb_gadget/g1/idProduct 0x4ee6 on property:sys.usb.config=accessory && property:sys.usb.configfs=1 write /config/usb_gadget/g1/idVendor 0x18d1 diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index cc8baa48..87f9cbdd 100755 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -40,10 +40,6 @@ on early-init 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 @@ -66,6 +62,7 @@ on early-boot # Allow subsystem (modem etc) debugging write /sys/kernel/boot_adsp/boot 1 write /sys/kernel/boot_cdsp/boot 1 + write /sys/devices/virtual/npu/msm_npu/boot 1 write /sys/kernel/boot_slpi/boot 1 setprop ro.alarm_boot false @@ -76,6 +73,7 @@ on early-boot write /sys/bus/msm_subsys/devices/subsys3/restart_level RELATED write /sys/bus/msm_subsys/devices/subsys4/restart_level RELATED write /sys/bus/msm_subsys/devices/subsys5/restart_level RELATED + write /sys/devices/virtual/cvp/cvp/boot 1 # for backward compatibility chown system system /persist/sensors @@ -98,6 +96,9 @@ on early-boot chown system system /mnt/vendor/persist/sensors/registry/config chmod 0664 /mnt/vendor/persist/sensors/sensors_settings + chown system system /mnt/vendor/persist/data/pfm/licenses + chmod 0775 /mnt/vendor/persist/data/pfm/licenses + on boot chown bluetooth bluetooth /sys/module/bluetooth_power/parameters/power chown bluetooth net_bt /sys/class/rfkill/rfkill0/type @@ -112,7 +113,6 @@ 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 @@ -187,9 +187,6 @@ on boot setprop wifi.interface wlan0 -# Define TCP buffer sizes for various networks -# ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax, - setprop net.tcp.buffersize.wifi 524288,2097152,4194304,262144,524288,1048576 setprop ro.telephony.call_ring.multiple false @@ -200,28 +197,11 @@ on boot #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 -# ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax, - setprop net.tcp.buffersize.default 4096,87380,524288,4096,16384,110208 - setprop net.tcp.buffersize.lte 2097152,4194304,8388608,262144,524288,1048576 - setprop net.tcp.buffersize.umts 4094,87380,110208,4096,16384,110208 - setprop net.tcp.buffersize.hspa 4094,87380,1220608,4096,16384,1220608 - setprop net.tcp.buffersize.hsupa 4094,87380,1220608,4096,16384,1220608 - setprop net.tcp.buffersize.hsdpa 4094,87380,1220608,4096,16384,1220608 - setprop net.tcp.buffersize.hspap 4094,87380,1220608,4096,16384,1220608 - setprop net.tcp.buffersize.edge 4093,26280,35040,4096,16384,35040 - setprop net.tcp.buffersize.gprs 4092,8760,11680,4096,8760,11680 - setprop net.tcp.buffersize.evdo 4094,87380,524288,4096,16384,262144 - setprop net.tcp.2g_init_rwnd 10 -# Assign TCP buffer thresholds to be ceiling value of technology maximums -# Increased technology maximums should be reflected here. - write /proc/sys/net/core/rmem_max 16777216 - write /proc/sys/net/core/wmem_max 8388608 - # To prevent out of order acknowledgements from making # connection tracking to treat them as not belonging to # the connection they belong to. @@ -252,6 +232,8 @@ on boot chown system system /sys/class/backlight/panel0-backlight/brightness chown system system /sys/class/backlight/panel0-backlight/max_brightness + chown system system /sys/class/backlight/panel1-backlight/brightness + chown system system /sys/class/backlight/panel1-backlight/max_brightness # Allow access to sensors device attributes chown system system /sys/class/sensors/MPU6050-accel/enable @@ -289,6 +271,9 @@ on boot chown system system /sys/devices/platform/HardwareInfo/gyro chown system system /sys/devices/platform/HardwareInfo/sar_sensor_1 chown system system /sys/devices/platform/HardwareInfo/sar_sensor_2 + #sensors log dir + mkdir /data/vendor/sensors + chown system system /data/vendor/sensors # msm specific files that need to be created on /data on post-fs-data @@ -306,12 +291,6 @@ on post-fs-data # Create directory used by media clients mkdir /data/vendor/media 0770 mediacodec media - # create QDMA dropbox - mkdir /data/vendor/qdmastats 0700 system system - mkdir /data/vendor/qdma 0770 system system - 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 @@ -322,8 +301,9 @@ on post-fs-data mkdir /data/vendor/camera 0770 camera camera mkdir /data/misc/camera 0770 camera camera - #Change ownership to system - chown system system /data/vendor/tombstones + #Create directory for tftp + mkdir /data/vendor/tombstones 0771 system system + mkdir /data/vendor/tombstones/rfs 0771 system system mkdir /data/vendor/ramdump 0771 root system mkdir /data/vendor/bluetooth 0770 bluetooth bluetooth @@ -368,6 +348,7 @@ on post-fs-data # Create directory for radio mkdir /data/vendor/radio 0770 system radio + rm /data/vendor/radio/shmbus # Create directory for modem_config mkdir /data/vendor/modem_config 0570 radio root @@ -405,6 +386,10 @@ on post-fs-data mkdir /dev/socket/location 0770 gps gps mkdir /dev/socket/location/ehub 0770 gps gps + #Create directories for wifihal services + mkdir /dev/socket/wifihal 0770 wifi wifi + chmod 2770 /dev/socket/wifihal + #Create directory from IMS services mkdir /data/shared 0755 chown system system /data/shared @@ -487,7 +472,7 @@ on post-fs-data mkdir /data/vendor/vpp 0770 media media #Create dir for TUI - mkdir /data/vendor/tui 0700 system system + mkdir /data/vendor/tui 0700 system drmrpc #Start move time data to /data/vendor once post-fs-data done start vendor.move_time_data @@ -583,12 +568,7 @@ service vendor.cnd /system/vendor/bin/cnd group system wifi inet radio wakelock net_admin writepid /dev/cpuset/system-background/tasks -service dpmQmiMgr /system/vendor/bin/dpmQmiMgr - class main - user system - group radio system - -service irsc_util /vendor/bin/irsc_util "/vendor/etc/sec_config" +service vendor.irsc_util /vendor/bin/irsc_util "/vendor/etc/sec_config" class core user root oneshot @@ -632,8 +612,8 @@ service vendor.dataqti /system/vendor/bin/qti disabled writepid /dev/cpuset/system-background/tasks -service vendor.sensors /vendor/bin/sscrpcd - class core +service vendor.sensors /vendor/bin/sscrpcd sensorspd + class early_hal user system group system disabled @@ -669,6 +649,10 @@ on property:sys.sysctl.tcp_adv_win_scale=* service wpa_supplicant /vendor/bin/hw/wpa_supplicant \ -O/data/vendor/wifi/wpa/sockets -puse_p2p_group_interface=1 \ -g@android:vendor_wpa_wlan0 +# we will start as root and wpa_supplicant will switch to user wifi +# after setting up the capabilities required for WEXT +# user wifi +# group wifi inet keystore interface android.hardware.wifi.supplicant@1.0::ISupplicant default interface android.hardware.wifi.supplicant@1.1::ISupplicant default interface android.hardware.wifi.supplicant@1.2::ISupplicant default @@ -686,13 +670,13 @@ service cnss-daemon /system/vendor/bin/cnss-daemon -n -l writepid /dev/cpuset/system-background/tasks on property:sys.shutdown.requested=* + write /sys/kernel/shutdown_wlan/shutdown 1 stop cnss-daemon service loc_launcher /system/vendor/bin/loc_launcher class late_start user gps group gps - writepid /dev/cpuset/system-background/tasks service vendor.qcom-sh /vendor/bin/init.qcom.sh class late_start @@ -710,8 +694,6 @@ service vendor.qcom-post-boot /vendor/bin/init.qcom.post_boot.sh on property:sys.boot_completed=1 start vendor.qcom-post-boot -on property:ro.vendor.ril.mbn_copy_completed=1 - write /data/vendor/radio/copy_complete 1 on property:ro.vendor.ril.mbn_copy_completed=1 write /data/vendor/radio/copy_complete 1 @@ -739,6 +721,14 @@ service hostapd_fst /vendor/bin/hw/hostapd -dd -g /data/vendor/wifi/hostapd/glob disabled oneshot +service ims_regmanager /system/vendor/bin/exe-ims-regmanagerprocessnative + class late_start + group net_bt_admin inet radio wifi + disabled + +on property:persist.ims.regmanager.mode=1 + start ims_regmanager + on property:ro.data.large_tcp_window_size=true # Adjust socket buffer to enlarge TCP receive window for high bandwidth (e.g. DO-RevB) write /proc/sys/net/ipv4/tcp_adv_win_scale 2 @@ -750,10 +740,19 @@ service vendor.ril-daemon2 /vendor/bin/hw/rild -c 2 group radio cache inet misc audio sdcard_r sdcard_rw diag oem_2901 log capabilities BLOCK_SUSPEND NET_ADMIN NET_RAW -service charger /charger +service vendor.ril-daemon3 /vendor/bin/hw/rild -c 3 + class main + user radio + disabled + group radio cache inet misc audio sdcard_r sdcard_rw diag oem_2901 log + capabilities BLOCK_SUSPEND NET_ADMIN NET_RAW + +service charger /system/bin/charger class charger - group system graphics - seclabel u:r:healthd:s0 + user system + group system graphics input + seclabel u:r:charger:s0 + service vendor.msm_irqbalance /vendor/bin/msm_irqbalance -f /system/vendor/etc/msm_irqbalance.conf class core @@ -772,6 +771,14 @@ on charger load_system_props start qcom-post-boot +#add poweroffhandler +service poweroffhandler /system/vendor/bin/poweroffhandler + class core + user media + group graphics audio + disabled + oneshot + on property:vendor.display.lcd_density=* setprop ro.sf.lcd_density ${vendor.display.lcd_density} @@ -825,7 +832,7 @@ service vendor.audio-hal-2-0 /vendor/bin/hw/android.hardware.audio@2.0-service 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 + group audio camera drmrpc inet media mediadrm net_bt net_bt_admin net_bw_acct oem_2901 wakelock capabilities BLOCK_SUSPEND ioprio rt 4 writepid /dev/cpuset/foreground/tasks /dev/stune/foreground/tasks @@ -833,5 +840,6 @@ service vendor.audio-hal-2-0 /vendor/bin/hw/android.hardware.audio@2.0-service # 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@5.0::IDevicesFactory default interface android.hardware.audio@4.0::IDevicesFactory default interface android.hardware.audio@2.0::IDevicesFactory default diff --git a/rootdir/etc/init.qcom.usb.rc b/rootdir/etc/init.qcom.usb.rc index 735dfbd2..08f56ad7 100755 --- a/rootdir/etc/init.qcom.usb.rc +++ b/rootdir/etc/init.qcom.usb.rc @@ -1,4 +1,4 @@ -# Copyright (c) 2011-2016, 2018 The Linux Foundation. All rights reserved. +# Copyright (c) 2011-2016, 2018-2019 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: @@ -30,7 +30,7 @@ on charger mkdir /dev/usb-ffs/adb 0770 shell shell mount configfs none /config mkdir /config/usb_gadget/g1 0770 shell shell - mkdir /config/usb_gadget/g1/strings/0x409 0770 shell shell + mkdir /config/usb_gadget/g1/strings/0x409 0770 write /config/usb_gadget/g1/bcdUSB 0x0200 write /config/usb_gadget/g1/os_desc/use 1 write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno} @@ -73,6 +73,7 @@ on boot mkdir /config/usb_gadget/g1/functions/ffs.adb mkdir /config/usb_gadget/g1/functions/diag.diag mkdir /config/usb_gadget/g1/functions/diag.diag_mdm + mkdir /config/usb_gadget/g1/functions/diag.diag_mdm2 mkdir /config/usb_gadget/g1/functions/cser.dun.0 mkdir /config/usb_gadget/g1/functions/cser.nmea.1 mkdir /config/usb_gadget/g1/functions/cser.dun.2 @@ -102,10 +103,8 @@ on boot mkdir /dev/usb-ffs/adb 0770 shell system mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=1000,rmode=0770,fmode=0660 write /sys/class/android_usb/android0/f_ffs/aliases adb - setprop sys.usb.mtp.device_type 2 + setprop sys.mtp.device_type 2 setprop vendor.usb.controller ${sys.usb.controller} - -on load_persist_props_action enable vendor.qcom-usb-sh service vendor.qcom-usb-sh /vendor/bin/init.qcom.usb.sh @@ -117,6 +116,9 @@ service vendor.qcom-usb-sh /vendor/bin/init.qcom.usb.sh on boot && property:ro.boot.usbconfigfs=true setprop sys.usb.configfs 1 +on property:vendor.usb.configfs=1 && property:sys.usb.configfs=0 + setprop sys.usb.configfs 1 + # Following are the parameters required for usb functionality. They provide configurable options like # product_id/vendor id and allows specifying required functions: # diff --git a/rootdir/etc/init.target.rc b/rootdir/etc/init.target.rc index f59d3f40..ee9b2354 100755 --- a/rootdir/etc/init.target.rc +++ b/rootdir/etc/init.target.rc @@ -86,27 +86,25 @@ on post-fs-data mkdir /data/tombstones/lpass 0771 system system mkdir /data/tombstones/wcnss 0771 system system mkdir /data/tombstones/dsps 0771 system system -#D2SP has no hbtp feature -# mkdir /data/vendor/hbtp 0750 system system -#end mkdir /vendor/mnt/persist/qti_fp 0700 system system + mkdir /data/vendor/hbtp 0750 system system mkdir /data/misc/seemp 0700 system system mkdir /data/vendor/tloc 0700 system drmrpc - -#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 mkdir /data/vendor/mac_addr 0770 system system mkdir /data/vendor/thermal 0771 root system mkdir /data/vendor/thermal/config 0771 root system + #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" + setprop vendor.usb.qdss.inst.name "qdss" + write /sys/module/usb_f_qcrndis/parameters/rndis_dl_max_xfer_size 15916 + setprop sys.usb.configfs 1 + 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 @@ -114,22 +112,9 @@ on boot write /dev/cpuset/background/cpus 0-7 write /dev/cpuset/system-background/cpus 0-7 - -#spk pa-cal lct-20180914 - chmod 0664 /dev/tiload_node - #Create folder dump yuv images while debugging mkdir /data/vendor/camera 0770 camera camera - -#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 @@ -298,9 +283,6 @@ on charger setprop sys.usb.configfs 1 start vendor.power_off_alarm - mount tmpfs tmpfs /data - restorecon_recursive /data - start vendor.thermal-engine start charger