Revert "e3q: a"

This reverts commit ab37bd8d7e.
This commit is contained in:
David Wronek
2025-02-08 19:19:52 +01:00
parent ab37bd8d7e
commit 32dadb8ceb
36 changed files with 16758 additions and 867 deletions

View File

@@ -5,6 +5,8 @@
# #
BUILD_BROKEN_DUP_RULES := true BUILD_BROKEN_DUP_RULES := true
#BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES := true
#BUILD_BROKEN_INCORRECT_PARTITION_IMAGES := true
DEVICE_PATH := device/samsung/e3q DEVICE_PATH := device/samsung/e3q
@@ -68,17 +70,29 @@ BOARD_MKBOOTIMG_INIT_ARGS += --header_version $(BOARD_INIT_BOOT_HEADER_VERSION)
# Kernel # Kernel
BOARD_KERNEL_CMDLINE := \ BOARD_KERNEL_CMDLINE := \
ignore_loglevel \
debug \
androidboot.hardware=qcom \ androidboot.hardware=qcom \
androidboot.memcg=1 \ androidboot.memcg=1 \
androidboot.usbcontroller=a600000.dwc3 \ androidboot.usbcontroller=a600000.dwc3 \
androidboot.load_modules_parallel=false \
androidboot.hypervisor.protected_vm.supported=true \
androidboot.selinux=permissive \ androidboot.selinux=permissive \
aosp_is_booting \
firmware_class.path=/vendor/firmware_mnt/image \ firmware_class.path=/vendor/firmware_mnt/image \
loop.max_part=7 \
printk.devkmsg=on \ printk.devkmsg=on \
video=vfb:640x400,bpp=32,memsize=3072000 \
audit=0
BOARD_BOOTCONFIG := \ BOARD_BOOTCONFIG := \
androidboot.hardware=qcom \ androidboot.hardware=qcom \
androidboot.memcg=1 \ androidboot.memcg=1 \
androidboot.usbcontroller=a600000.dwc3 \ androidboot.usbcontroller=a600000.dwc3 \
androidboot.load_modules_parallel=false \
androidboot.hypervisor.protected_vm.supported=true \
androidboot.selinux=permissive androidboot.selinux=permissive
BOARD_KERNEL_IMAGE_NAME := Image BOARD_KERNEL_IMAGE_NAME := Image
BOARD_KERNEL_BASE := 0x00000000 BOARD_KERNEL_BASE := 0x00000000
BOARD_KERNEL_PAGESIZE := 4096 BOARD_KERNEL_PAGESIZE := 4096
@@ -139,9 +153,6 @@ TARGET_KERNEL_EXT_MODULES := \
BOARD_USES_METADATA_PARTITION := true BOARD_USES_METADATA_PARTITION := true
# Partitions # Partitions
-include vendor/lineage/config/BoardConfigReservedSize.mk
BOARD_PRODUCTIMAGE_MINIMAL_PARTITION_RESERVED_SIZE := false
BOARD_FLASH_BLOCK_SIZE := 262144 # (BOARD_KERNEL_PAGESIZE * 64) BOARD_FLASH_BLOCK_SIZE := 262144 # (BOARD_KERNEL_PAGESIZE * 64)
BOARD_BOOTIMAGE_PARTITION_SIZE := 100663296 BOARD_BOOTIMAGE_PARTITION_SIZE := 100663296
BOARD_CACHEIMAGE_PARTITION_SIZE := 367001600 BOARD_CACHEIMAGE_PARTITION_SIZE := 367001600
@@ -268,7 +279,6 @@ WIFI_DRIVER_DEFAULT := qca_cld3
WIFI_DRIVER_STATE_CTRL_PARAM := "/dev/wlan" WIFI_DRIVER_STATE_CTRL_PARAM := "/dev/wlan"
WIFI_DRIVER_STATE_OFF := "OFF" WIFI_DRIVER_STATE_OFF := "OFF"
WIFI_DRIVER_STATE_ON := "ON" WIFI_DRIVER_STATE_ON := "ON"
WIFI_HIDL_FEATURE_AWARE := true
WIFI_HIDL_FEATURE_DUAL_INTERFACE := true WIFI_HIDL_FEATURE_DUAL_INTERFACE := true
WIFI_HIDL_UNIFIED_SUPPLICANT_SERVICE_RC_ENTRY := true WIFI_HIDL_UNIFIED_SUPPLICANT_SERVICE_RC_ENTRY := true
WPA_SUPPLICANT_VERSION := VER_0_8_X WPA_SUPPLICANT_VERSION := VER_0_8_X

View File

@@ -21,36 +21,7 @@
Changes from Qualcomm Innovation Center are provided under the following license: Changes from Qualcomm Innovation Center are provided under the following license:
Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved. Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
SPDX-License-Identifier: BSD-3-Clause-Clear
Redistribution and use in source and binary forms, with or without
modification, are permitted (subject to the limitations in the
disclaimer below) provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of Qualcomm Innovation Center, Inc. nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--> -->
<audioPolicyConfiguration version="7.0" xmlns:xi="http://www.w3.org/2001/XInclude"> <audioPolicyConfiguration version="7.0" xmlns:xi="http://www.w3.org/2001/XInclude">
@@ -217,7 +188,7 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort> </mixPort>
<mixPort name="primary input" role="sink"> <mixPort name="primary input" role="sink" maxOpenCount="2" maxActiveCount="2">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT" <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK"/> channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK"/>

View File

@@ -0,0 +1,382 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Copyright (c) 2016-2021, The Linux Foundation. All rights reserved
Not a Contribution.
-->
<!-- Copyright (C) 2015 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<audioPolicyConfiguration version="1.0" xmlns:xi="http://www.w3.org/2001/XInclude">
<!-- version section contains a “version” tag in the form “major.minor” e.g version=”1.0” -->
<!-- Global configuration Decalaration -->
<globalConfiguration speaker_drc_enabled="true"/>
<!-- Modules section:
There is one section per audio HW module present on the platform.
Each module section will contains two mandatory tags for audio HAL “halVersion” and “name”.
The module names are the same as in current .conf file:
“primary”, “A2DP”, “remote_submix”, “USB”
Each module will contain the following sections:
“devicePorts”: a list of device descriptors for all input and output devices accessible via this
module.
This contains both permanently attached devices and removable devices.
“mixPorts”: listing all output and input streams exposed by the audio HAL
“routes”: list of possible connections between input and output devices or between stream and
devices.
"route": is defined by an attribute:
-"type": <mux|mix> means all sources are mutual exclusive (mux) or can be mixed (mix)
-"sink": the sink involved in this route
-"sources": all the sources than can be connected to the sink via vis route
“attachedDevices”: permanently attached devices.
The attachedDevices section is a list of devices names. The names correspond to device names
defined in <devicePorts> section.
“defaultOutputDevice”: device to be used by default when no policy rule applies
-->
<modules>
<!-- Primary Audio HAL -->
<module name="primary" halVersion="2.0">
<attachedDevices>
<item>Speaker</item>
<item>Telephony Tx</item>
<item>Built-In Mic</item>
<item>Built-In Back Mic</item>
<item>FM Tuner</item>
<item>Telephony Rx</item>
</attachedDevices>
<defaultOutputDevice>Speaker</defaultOutputDevice>
<mixPorts>
<mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_PRIMARY">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="deep_buffer" role="source"
flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="mmap_no_irq_out" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_MMAP_NOIRQ">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="hifi_playback" role="source" />
<mixPort name="compress_passthrough" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING"/>
<mixPort name="direct_pcm" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
</mixPort>
<mixPort name="compressed_offload" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING">
<profile name="" format="AUDIO_FORMAT_MP3"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_FLAC"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_ALAC"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
<profile name="" format="AUDIO_FORMAT_APE"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_LC"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_HE_V1"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_HE_V2"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_DTS"
samplingRates="32000,44100,48000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1"/>
<profile name="" format="AUDIO_FORMAT_DTS_HD"
samplingRates="32000,44100,48000,64000,88200,96000,128000,176400,192000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
<profile name="" format="AUDIO_FORMAT_WMA"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
<profile name="" format="AUDIO_FORMAT_WMA_PRO"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
<profile name="" format="AUDIO_FORMAT_AAC_ADTS_LC"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_ADTS_HE_V1"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_ADTS_HE_V2"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
</mixPort>
<mixPort name="dsd_compress_passthrough" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING">
<profile name="" format="AUDIO_FORMAT_DSD"
samplingRates="2822400,5644800"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
</mixPort>
<mixPort name="voice_tx" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="voip_rx" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_VOIP_RX">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="incall_music_uplink" role="source"
flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000,48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="primary input" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
</mixPort>
<mixPort name="usb_surround_sound" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4,AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/>
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000"
channelMasks="AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/>
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000"
channelMasks="AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/>
</mixPort>
<mixPort name="voip_tx" role="sink"
flags="AUDIO_INPUT_FLAG_VOIP_TX">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</mixPort>
<mixPort name="surround_sound" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4,AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6"/>
</mixPort>
<mixPort name="record_24" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,192000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/>
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,192000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/>
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,192000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/>
</mixPort>
<mixPort name="voice_rx" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
<mixPort name="mmap_no_irq_in" role="sink" flags="AUDIO_INPUT_FLAG_MMAP_NOIRQ">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3"/>
</mixPort>
<mixPort name="hifi_input" role="sink" />
</mixPorts>
<devicePorts>
<!-- Output devices declaration, i.e. Sink DEVICE PORT -->
<devicePort tagName="Speaker" role="sink" type="AUDIO_DEVICE_OUT_SPEAKER" address="">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="Wired Headset" type="AUDIO_DEVICE_OUT_WIRED_HEADSET" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="Wired Headphones" type="AUDIO_DEVICE_OUT_WIRED_HEADPHONE" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="Line" type="AUDIO_DEVICE_OUT_LINE" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
</devicePort>
<devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
</devicePort>
<devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
</devicePort>
<devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="HDMI" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000"/>
</devicePort>
<devicePort tagName="Proxy" type="AUDIO_DEVICE_OUT_PROXY" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000"/>
</devicePort>
<devicePort tagName="FM" type="AUDIO_DEVICE_OUT_FM" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100,48000,64000,88200,96000,128000,176400,192000"/>
</devicePort>
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100,48000,64000,88200,96000,128000,176400,192000"/>
</devicePort>
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
<devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
</devicePort>
<devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
</devicePort>
<devicePort tagName="FM Tuner" type="AUDIO_DEVICE_IN_FM_TUNER" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
</devicePort>
<devicePort tagName="Wired Headset Mic" type="AUDIO_DEVICE_IN_WIRED_HEADSET" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
</devicePort>
<devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</devicePort>
<devicePort tagName="Telephony Rx" type="AUDIO_DEVICE_IN_TELEPHONY_RX" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</devicePort>
<devicePort tagName="USB Device In" type="AUDIO_DEVICE_IN_USB_DEVICE" role="source">
</devicePort>
<devicePort tagName="USB Headset In" type="AUDIO_DEVICE_IN_USB_HEADSET" role="source">
</devicePort>
</devicePorts>
<!-- route declaration, i.e. list all available sources for a given sink -->
<routes>
<route type="mix" sink="Speaker"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out"/>
<route type="mix" sink="Wired Headset"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,dsd_compress_passthrough,voip_rx,mmap_no_irq_out"/>
<route type="mix" sink="Wired Headphones"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,dsd_compress_passthrough,voip_rx,mmap_no_irq_out"/>
<route type="mix" sink="Line"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,dsd_compress_passthrough,voip_rx,mmap_no_irq_out"/>
<route type="mix" sink="HDMI"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,compress_passthrough"/>
<route type="mix" sink="Proxy"
sources="primary output,deep_buffer,direct_pcm,compressed_offload"/>
<route type="mix" sink="Telephony Tx"
sources="voice_tx,incall_music_uplink"/>
<route type="mix" sink="FM"
sources="primary output"/>
<route type="mix" sink="BT SCO"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
<route type="mix" sink="BT SCO Headset"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
<route type="mix" sink="BT SCO Car Kit"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
<route type="mix" sink="USB Device Out"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,hifi_playback"/>
<route type="mix" sink="USB Headset Out"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,hifi_playback"/>
<route type="mix" sink="Telephony Tx"
sources="voice_tx"/>
<route type="mix" sink="voice_rx"
sources="Telephony Rx"/>
<route type="mix" sink="primary input"
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner"/>
<route type="mix" sink="usb_surround_sound"
sources="USB Device In,USB Headset In"/>
<route type="mix" sink="voip_tx"
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic"/>
<route type="mix" sink="surround_sound"
sources="Built-In Mic,Built-In Back Mic"/>
<route type="mix" sink="record_24"
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic"/>
<route type="mix" sink="mmap_no_irq_in"
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,USB Device In,USB Headset In"/>
<route type="mix" sink="hifi_input" sources="USB Device In,USB Headset In" />
</routes>
</module>
<!-- Usb Audio HAL -->
<module name="usb" halVersion="2.0">
<mixPorts>
<mixPort name="usb_accessory output" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
</mixPorts>
<devicePorts>
<devicePort tagName="USB Host Out" type="AUDIO_DEVICE_OUT_USB_ACCESSORY" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
</devicePorts>
<routes>
<route type="mix" sink="USB Host Out"
sources="usb_accessory output"/>
</routes>
</module>
<!-- Remote Submix Audio HAL -->
<xi:include href="/vendor/etc/r_submix_audio_policy_configuration.xml"/>
<!-- Bluetooth Audio HAL -->
<xi:include href="/vendor/etc/bluetooth_audio_policy_configuration.xml"/>
</modules>
<!-- End of Modules section -->
<!-- Volume section -->
<xi:include href="/vendor/etc/audio_policy_volumes.xml"/>
<xi:include href="/vendor/etc/default_volume_tables.xml"/>
<!-- End of Volume section -->
</audioPolicyConfiguration>

View File

@@ -1,692 +0,0 @@
{
"Nodes": [
{
"Name": "CPULittleClusterMaxFreq",
"Path": "/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq",
"Values": [
"9999999",
"1344000",
"1555200",
"1670400",
"1785600"
],
"DefaultIndex": 0,
"ResetOnInit": true
},
{
"Name": "CPULittleClusterMinFreq",
"Path": "/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq",
"Values": [
"9999999",
"1555200",
"1459200",
"1017600",
"672000"
],
"ResetOnInit": true
},
{
"Name": "CPULittleClusterUpRateLimit",
"Path": "/sys/devices/system/cpu/cpufreq/policy0/walt/up_rate_limit_us",
"Values": [
"2000",
"500"
],
"ResetOnInit": true
},
{
"Name": "CPULittleClusterDownRateLimit",
"Path": "/sys/devices/system/cpu/cpufreq/policy0/walt/down_rate_limit_us",
"Values": [
"2000",
"20000"
],
"ResetOnInit": true
},
{
"Name": "CPUBigClusterMaxFreq",
"Path": "/sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq",
"Values": [
"9999999",
"1651200",
"2054400",
"2323200",
"2592000"
],
"DefaultIndex": 0,
"ResetOnInit": true
},
{
"Name": "CPUBigClusterMinFreq",
"Path": "/sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq",
"Values": [
"9999999",
"1651200",
"1536000",
"1401600",
"729600"
],
"ResetOnInit": true
},
{
"Name": "CPUBigClusterUpRateLimit",
"Path": "/sys/devices/system/cpu/cpufreq/policy3/walt/up_rate_limit_us",
"Values": [
"2000",
"500"
],
"ResetOnInit": true
},
{
"Name": "CPUBigClusterDownRateLimit",
"Path": "/sys/devices/system/cpu/cpufreq/policy3/walt/down_rate_limit_us",
"Values": [
"2000",
"10000"
],
"ResetOnInit": true
},
{
"Name": "CPUBigPlusClusterMaxFreq",
"Path": "/sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq",
"Values": [
"9999999",
"1708800",
"2227200",
"2726400",
"2956800"
],
"DefaultIndex": 0,
"ResetOnInit": true
},
{
"Name": "CPUBigPlusClusterMinFreq",
"Path": "/sys/devices/system/cpu/cpu7/cpufreq/scaling_min_freq",
"Values": [
"9999999",
"1708800",
"1593600",
"1363200",
"998400"
],
"ResetOnInit": true
},
{
"Name": "CPUBigPlusClusterUpRateLimit",
"Path": "/sys/devices/system/cpu/cpufreq/policy7/walt/up_rate_limit_us",
"Values": [
"2000",
"500"
],
"ResetOnInit": true
},
{
"Name": "CPUBigPlusClusterDownRateLimit",
"Path": "/sys/devices/system/cpu/cpufreq/policy7/walt/down_rate_limit_us",
"Values": [
"2000",
"5000"
],
"ResetOnInit": true
},
{
"Name": "UclampTAMin",
"Path": "/dev/cpuctl/top-app/cpu.uclamp.min",
"Values": [
"0",
"30",
"50"
],
"DefaultIndex": 0,
"ResetOnInit": true
},
{
"Name": "UclampTALatency",
"Path": "/dev/cpuctl/top-app/cpu.uclamp.latency_sensitive",
"Values": [
"1",
"0"
],
"ResetOnInit": true
},
{
"Name": "UclampFGMin",
"Path": "/dev/cpuctl/foreground/cpu.uclamp.min",
"Values": [
"0",
"50"
],
"DefaultIndex": 0,
"ResetOnInit": true
},
{
"Name": "SchedBusyHystNs",
"Path": "/proc/sys/walt/sched_busy_hyst_ns",
"Values": [
"99000000",
"3000000",
"0"
],
"ResetOnInit": true
},
{
"Name": "SchedBusyHystEnableCPUs",
"Path": "/proc/sys/walt/sched_busy_hysteresis_enable_cpus",
"Values": [
"255",
"15",
"0"
],
"ResetOnInit": true
},
{
"Name": "SchedMinTaskUtilForBoost",
"Path": "/proc/sys/walt/sched_min_task_util_for_boost",
"Values": [
"0",
"51"
],
"ResetOnInit": true
},
{
"Name": "SchedMinTaskUtilForColoc",
"Path": "/proc/sys/walt/sched_min_task_util_for_colocation",
"Values": [
"0",
"35"
],
"ResetOnInit": true
},
{
"Name": "SchedMinTaskUtilForUclamp",
"Path": "/proc/sys/walt/sched_min_task_util_for_uclamp",
"Values": [
"0",
"51"
],
"ResetOnInit": true
},
{
"Name": "GPUMaxFreq",
"Path": "/sys/class/kgsl/kgsl-3d0/devfreq/max_freq",
"Values": [
"680000000",
"615000000",
"550000000"
],
"DefaultIndex": 0,
"ResetOnInit": true
},
{
"Name": "GPUMinFreq",
"Path": "/sys/class/kgsl/kgsl-3d0/devfreq/min_freq",
"Values": [
"550000000",
"401000000",
"220000000"
],
"ResetOnInit": true
},
{
"Name": "GPUForceRailOn",
"Path": "/sys/class/kgsl/kgsl-3d0/force_rail_on",
"Values": [
"1",
"0"
],
"ResetOnInit": true
},
{
"Name": "GPUForceClkOn",
"Path": "/sys/class/kgsl/kgsl-3d0/force_clk_on",
"Values": [
"1",
"0"
],
"ResetOnInit": true
},
{
"Name": "GPUIdleTimer",
"Path": "/sys/class/kgsl/kgsl-3d0/idle_timer",
"Values": [
"10000",
"80"
],
"ResetOnInit": true
},
{
"Name": "TouchscreenEnable",
"Path": "/sys/class/sec/tsp/input/enabled",
"Values": [
"1",
"0"
],
"ResetOnInit": true
},
{
"Name": "DoubleTapToWakeEnable",
"Path": "/sys/class/sec/tsp/cmd",
"Values": [
"aot_enable,0",
"aot_enable,1"
],
"DefaultIndex": 0
},
{
"Name": "CPUBWHystTriggerCount",
"Path": "/sys/devices/system/cpu/bus_dcvs/DDR/24091000.qcom,bwmon-ddr/hyst_trigger_count",
"Values": [
"0",
"3"
],
"ResetOnInit": true
},
{
"Name": "CPUBWHistMemory",
"Path": "/sys/devices/system/cpu/bus_dcvs/DDR/24091000.qcom,bwmon-ddr/hist_memory",
"Values": [
"0",
"20"
],
"ResetOnInit": true
},
{
"Name": "CPUBWHystLength",
"Path": "/sys/devices/system/cpu/bus_dcvs/DDR/24091000.qcom,bwmon-ddr/hyst_length",
"Values": [
"0",
"10"
],
"ResetOnInit": true
},
{
"Name": "CPUBWMinFreq",
"Path": "/sys/devices/system/cpu/bus_dcvs/DDR/boost_freq",
"Values": [
"3686000",
"1555000",
"547000"
],
"ResetOnInit": true
},
{
"Name": "LLCCBWHystTriggerCount",
"Path": "/sys/devices/system/cpu/bus_dcvs/LLCC/240b6400.qcom,bwmon-llcc/hyst_trigger_count",
"Values": [
"0",
"3"
],
"ResetOnInit": true
},
{
"Name": "LLCCBWHistMemory",
"Path": "/sys/devices/system/cpu/bus_dcvs/LLCC/240b6400.qcom,bwmon-llcc/hist_memory",
"Values": [
"0",
"20"
],
"ResetOnInit": true
},
{
"Name": "LLCCBWHystLength",
"Path": "/sys/devices/system/cpu/bus_dcvs/LLCC/240b6400.qcom,bwmon-llcc/hyst_length",
"Values": [
"0",
"10"
],
"ResetOnInit": true
},
{
"Name": "LLCCBWMinFreq",
"Path": "/sys/devices/system/cpu/bus_dcvs/LLCC/boost_freq",
"Values": [
"1066000",
"600000",
"300000"
],
"ResetOnInit": true
},
{
"Name": "L3MinFreq",
"Path": "/sys/devices/system/cpu/bus_dcvs/L3/boost_freq",
"Values": [
"1804800",
"1056000",
"307200"
],
"ResetOnInit": true
},
{
"Name": "PowerHALMainState",
"Path": "vendor.powerhal.state",
"Values": [
"SUSTAINED_PERFORMANCE",
""
],
"Type": "Property"
},
{
"Name": "PowerHALRenderingState",
"Path": "vendor.powerhal.rendering",
"Values": [
"EXPENSIVE_RENDERING",
""
],
"Type": "Property"
}
],
"Actions": [
{
"PowerHint": "SUSTAINED_PERFORMANCE",
"Node": "PowerHALMainState",
"Duration": 0,
"Value": "SUSTAINED_PERFORMANCE"
},
{
"PowerHint": "SUSTAINED_PERFORMANCE",
"Node": "CPULittleClusterMaxFreq",
"Duration": 0,
"Value": "1555200"
},
{
"PowerHint": "SUSTAINED_PERFORMANCE",
"Node": "CPUBigClusterMaxFreq",
"Duration": 0,
"Value": "1651200"
},
{
"PowerHint": "SUSTAINED_PERFORMANCE",
"Node": "CPUBigPlusClusterMaxFreq",
"Duration": 0,
"Value": "1708800"
},
{
"PowerHint": "SUSTAINED_PERFORMANCE",
"Node": "GPUMaxFreq",
"Duration": 0,
"Value": "680000000"
},
{
"PowerHint": "INTERACTION",
"Node": "UclampTAMin",
"Duration": 0,
"Value": "30"
},
{
"PowerHint": "INTERACTION",
"Node": "UclampTALatency",
"Duration": 0,
"Value": "1"
},
{
"PowerHint": "INTERACTION",
"Node": "SchedBusyHystNs",
"Duration": 0,
"Value": "99000000"
},
{
"PowerHint": "INTERACTION",
"Node": "SchedBusyHystEnableCPUs",
"Duration": 0,
"Value": "255"
},
{
"PowerHint": "INTERACTION",
"Node": "SchedMinTaskUtilForBoost",
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "INTERACTION",
"Node": "SchedMinTaskUtilForColoc",
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "INTERACTION",
"Node": "SchedMinTaskUtilForUclamp",
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "INTERACTION",
"Node": "CPUBWHystTriggerCount",
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "INTERACTION",
"Node": "CPUBWHystLength",
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "INTERACTION",
"Node": "CPUBWHistMemory",
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "INTERACTION",
"Node": "CPUBWMinFreq",
"Duration": 0,
"Value": "1555000"
},
{
"PowerHint": "INTERACTION",
"Node": "LLCCBWHystTriggerCount",
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "INTERACTION",
"Node": "LLCCBWHystLength",
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "INTERACTION",
"Node": "LLCCBWHistMemory",
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "INTERACTION",
"Node": "LLCCBWMinFreq",
"Duration": 0,
"Value": "600000"
},
{
"PowerHint": "INTERACTIVE",
"Node": "CPULittleClusterUpRateLimit",
"Duration": 0,
"Value": "500"
},
{
"PowerHint": "INTERACTIVE",
"Node": "CPULittleClusterDownRateLimit",
"Duration": 0,
"Value": "20000"
},
{
"PowerHint": "INTERACTIVE",
"Node": "CPUBigClusterUpRateLimit",
"Duration": 0,
"Value": "500"
},
{
"PowerHint": "INTERACTIVE",
"Node": "CPUBigClusterDownRateLimit",
"Duration": 0,
"Value": "10000"
},
{
"PowerHint": "INTERACTIVE",
"Node": "CPUBigPlusClusterUpRateLimit",
"Duration": 0,
"Value": "500"
},
{
"PowerHint": "INTERACTIVE",
"Node": "CPUBigPlusClusterDownRateLimit",
"Duration": 0,
"Value": "5000"
},
{
"PowerHint": "INTERACTIVE",
"Node": "SchedBusyHystNs",
"Duration": 0,
"Value": "3000000"
},
{
"PowerHint": "INTERACTIVE",
"Node": "SchedBusyHystEnableCPUs",
"Duration": 0,
"Value": "15"
},
{
"PowerHint": "LAUNCH",
"Node": "CPUBigPlusClusterMinFreq",
"Duration": 3000,
"Value": "9999999"
},
{
"PowerHint": "LAUNCH",
"Node": "CPUBigClusterMinFreq",
"Duration": 3000,
"Value": "9999999"
},
{
"PowerHint": "LAUNCH",
"Node": "CPULittleClusterMinFreq",
"Duration": 3000,
"Value": "9999999"
},
{
"PowerHint": "LAUNCH",
"Node": "UclampTAMin",
"Duration": 3000,
"Value": "50"
},
{
"PowerHint": "LAUNCH",
"Node": "UclampFGMin",
"Duration": 3000,
"Value": "50"
},
{
"PowerHint": "LAUNCH",
"Node": "CPUBWHystTriggerCount",
"Duration": 3000,
"Value": "0"
},
{
"PowerHint": "LAUNCH",
"Node": "CPUBWHystLength",
"Duration": 3000,
"Value": "0"
},
{
"PowerHint": "LAUNCH",
"Node": "CPUBWHistMemory",
"Duration": 3000,
"Value": "0"
},
{
"PowerHint": "LAUNCH",
"Node": "CPUBWMinFreq",
"Duration": 3000,
"Value": "3686000"
},
{
"PowerHint": "LAUNCH",
"Node": "LLCCBWHystTriggerCount",
"Duration": 3000,
"Value": "0"
},
{
"PowerHint": "LAUNCH",
"Node": "LLCCBWHystLength",
"Duration": 3000,
"Value": "0"
},
{
"PowerHint": "LAUNCH",
"Node": "LLCCBWHistMemory",
"Duration": 3000,
"Value": "0"
},
{
"PowerHint": "LAUNCH",
"Node": "LLCCBWMinFreq",
"Duration": 3000,
"Value": "1066000"
},
{
"PowerHint": "LAUNCH",
"Node": "L3MinFreq",
"Duration": 3000,
"Value": "1804800"
},
{
"PowerHint": "LAUNCH",
"Node": "GPUForceClkOn",
"Duration": 3000,
"Value": "1"
},
{
"PowerHint": "LAUNCH",
"Node": "GPUForceRailOn",
"Duration": 3000,
"Value": "1"
},
{
"PowerHint": "LAUNCH",
"Node": "GPUIdleTimer",
"Duration": 3000,
"Value": "10000"
},
{
"PowerHint": "EXPENSIVE_RENDERING",
"Node": "PowerHALRenderingState",
"Duration": 0,
"Value": "EXPENSIVE_RENDERING"
},
{
"PowerHint": "EXPENSIVE_RENDERING",
"Node": "GPUMinFreq",
"Duration": 0,
"Value": "550000000"
},
{
"PowerHint": "INTERACTIVE",
"Node": "TouchscreenEnable",
"Duration": 0,
"Value": "1"
},
{
"PowerHint": "DOUBLE_TAP_TO_WAKE",
"Node": "DoubleTapToWakeEnable",
"Duration": 0,
"Value": "aot_enable,1"
},
{
"PowerHint": "Flipendo",
"Node": "CPULittleClusterMaxFreq",
"Duration": 0,
"Value": "1555200"
},
{
"PowerHint": "Flipendo",
"Node": "CPUBigClusterMaxFreq",
"Duration": 0,
"Value": "1651200"
},
{
"PowerHint": "Flipendo",
"Node": "CPUBigPlusClusterMaxFreq",
"Duration": 0,
"Value": "1708800"
}
]
}

View File

@@ -1,84 +0,0 @@
# /odm/etc/usb_compositions.conf: HSUSB VID PID supported compositions
#
# This file lists the vendor supported vid-pid compositions for HSUSB that are
# referenced in UsbGadget.cpp. Use the specified format below for compositions,
# where right-most column is the actual order of properties; these are few
# cases where adb does not appear in the end of the composition
#
# <properties> <vid> <pid> <actual order of properties>
adb 0x04E8 0x6860
sec_charging 0x04E8 0x6860
sec_charging,adb 0x04E8 0x6860
mass_storage 0x04E8 0x685B
mass_storage,adb 0x04E8 0x685E adb,mass_storage
diag,adb 0x04E8 0x901D
diag,adb,serial_cdev 0x04E8 0x901F
diag 0x04E8 0x900E
diag,serial_cdev,rmnet,adb 0x04E8 0x9091
diag,serial_cdev,rmnet 0x04E8 0x9092
rndis 0x04E8 0x6863
diag,serial_cdev,serial_cdev_nmea,adb 0x04E8 0x9020 diag,adb,serial_cdev,serial_cdev_nmea
rndis,adb 0x04E8 0x6864
rndis,diag 0x04E8 0x902C
rndis,diag,adb 0x04E8 0x902D
rndis,serial_cdev 0x04E8 0x90B3
rndis,serial_cdev,adb 0x04E8 0x90B4
rndis,serial_cdev,diag 0x04E8 0x90B5
rndis,serial_cdev,diag,adb 0x04E8 0x90B6
midi 0x04E8 0x686C
midi,adb 0x04E8 0x686C
mtp 0x04E8 0x6860
mtp,adb 0x04E8 0x6860
mtp,diag 0x04E8 0x901B
mtp,diag,adb 0x04E8 0x903A
ptp 0x04E8 0x6865
ptp,adb 0x04E8 0x6866
diag,qdss 0x04E8 0x904A diag,qdss_debug
diag,qdss,adb 0x04E8 0x9060 diag,qdss_debug,adb
rndis,diag,qdss 0x04E8 0x9081 rndis,diag,qdss_debug
rndis,diag,qdss,adb 0x04E8 0x9082 rndis,diag,qdss_debug,adb
diag,qdss,rmnet 0x04E8 0x9083 diag,qdss_debug,rmnet
diag,qdss,rmnet,adb 0x04E8 0x9084 diag,qdss_debug,adb,rmnet
ncm 0x04E8 0x685D
ncm,adb 0x04E8 0x685D
diag,serial_cdev 0x04E8 0x9004
diag,serial_cdev,rmnet,dpl 0x04E8 0x90B7
diag,serial_cdev,rmnet,dpl,adb 0x04E8 0x90B8
rndis,diag,dpl 0x04E8 0x90BF
rndis,diag,dpl,adb 0x04E8 0x90C0
ccid 0x04E8 0x90CE
ccid,adb 0x04E8 0x90CF
ccid,diag 0x04E8 0x90D0
ccid,diag,adb 0x04E8 0x90D1
diag,serial_cdev,rmnet,ccid 0x04E8 0x90D2
diag,serial_cdev,rmnet,ccid,adb 0x04E8 0x90D3
diag,diag_mdm,qdss,qdss_mdm,serial_cdev,serial_cdev_mdm,rmnet 0x04E8 0x90D7
diag,diag_mdm,qdss,qdss_mdm,serial_cdev,serial_cdev_mdm,rmnet,adb 0x04E8 0x90D8
diag,diag_mdm,qdss,qdss_mdm,serial_cdev,serial_cdev_mdm,dpl,rmnet 0x04E8 0x90DD
diag,diag_mdm,qdss,qdss_mdm,serial_cdev,serial_cdev_mdm,dpl,rmnet,adb 0x04E8 0x90DE
diag,serial_cdev,rmnet,dpl,qdss 0x04E8 0x90DC
diag,serial_cdev,rmnet,dpl,qdss,adb 0x04E8 0x90DB
diag,uac2,adb 0x04E8 0x90CA diag,adb,uac2
diag,uac2 0x04E8 0x901C
diag,uvc,adb 0x04E8 0x90CB diag,adb,uvc
diag,uvc 0x04E8 0x90DF
diag,uac2,uvc,adb 0x04E8 0x90CC diag,adb,uac2,uvc
diag,uac2,uvc 0x04E8 0x90E0
diag,diag_mdm,qdss,qdss_mdm,serial_cdev,dpl,rmnet 0x04E8 0x90E4
diag,diag_mdm,qdss,qdss_mdm,serial_cdev,dpl,rmnet,adb 0x04E8 0x90E5
rndis,diag,diag_mdm,qdss,qdss_mdm,serial_cdev,dpl 0x04E8 0x90E6
rndis,diag,diag_mdm,qdss,qdss_mdm,serial_cdev,dpl,adb 0x04E8 0x90E7
rndis,diag,qdss,serial_cdev,dpl 0x04E8 0x90E8
rndis,diag,qdss,serial_cdev,dpl,adb 0x04E8 0x90E9
diag,diag_mdm,adb 0x04E8 0x90D9
diag,diag_cnss,adb 0x04E8 0x90D9 diag,diag_mdm2,adb
diag,diag_mdm,diag_mdm2,qdss,qdss_mdm,serial_cdev,dpl,rmnet 0x04E8 0x90F6
diag,diag_mdm,diag_mdm2,qdss,qdss_mdm,serial_cdev,dpl,rmnet,adb 0x04E8 0x90F7
rndis,diag,diag_mdm,diag_mdm2,qdss,qdss_mdm,serial_cdev,dpl 0x04E8 0x90F8
rndis,diag,diag_mdm,diag_mdm2,qdss,qdss_mdm,serial_cdev,dpl,adb 0x04E8 0x90F9
diag,diag_mdm,adb,ccid 0x04E8 0x9044 diag,diag_mdm,adb,ccid
diag,diag_mdm,qdss_mdm,dpl,adb 0x04E8 0x90FF
diag,qdss,dpl,adb 0x04E8 0x9104
diag,dpl 0x04E8 0x9105
diag,diag_cnss,serial_cdev,rmnet,dpl,qdss,adb 0x04E8 0x9110
diag,diag_cnss,serial_cdev,rmnet,dpl,qdss 0x04E8 0x9111

View File

@@ -13,10 +13,7 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
# Enforce generic ramdisk allow list # Enforce generic ramdisk allow list
$(call inherit-product, $(SRC_TARGET_DIR)/product/generic_ramdisk.mk) $(call inherit-product, $(SRC_TARGET_DIR)/product/generic_ramdisk.mk)
# Non_ab_device # Dalvik
$(call inherit-product, $(SRC_TARGET_DIR)/product/non_ab_device.mk)
# Setup dalvik vm configs
$(call inherit-product, frameworks/native/build/phone-xhdpi-6144-dalvik-heap.mk) $(call inherit-product, frameworks/native/build/phone-xhdpi-6144-dalvik-heap.mk)
# Enable updating of APEXes # Enable updating of APEXes
@@ -66,10 +63,10 @@ AUDIO_HAL_DIR := hardware/qcom-caf/sm8650/audio/primary-hal
AUDIO_PAL_DIR := hardware/qcom-caf/sm8650/audio/pal AUDIO_PAL_DIR := hardware/qcom-caf/sm8650/audio/pal
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \
$(AUDIO_HAL_DIR)/configs/common/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
$(AUDIO_HAL_DIR)/configs/pineapple/audio_effects.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_pineapple/audio_effects.conf \ $(AUDIO_HAL_DIR)/configs/pineapple/audio_effects.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_pineapple/audio_effects.conf \
$(AUDIO_HAL_DIR)/configs/pineapple/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_pineapple/audio_effects.xml \ $(AUDIO_HAL_DIR)/configs/pineapple/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_pineapple/audio_effects.xml \
$(AUDIO_HAL_DIR)/configs/pineapple/microphone_characteristics.xml:$(TARGET_COPY_OUT_VENDOR)/etc/microphone_characteristics.xml \ $(AUDIO_HAL_DIR)/configs/pineapple/microphone_characteristics.xml:$(TARGET_COPY_OUT_VENDOR)/etc/microphone_characteristics.xml \
$(LOCAL_PATH)/configs/audio/audio_policy_configuration_base.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
$(LOCAL_PATH)/configs/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_pineapple_qssi/audio_policy_configuration.xml \ $(LOCAL_PATH)/configs/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_pineapple_qssi/audio_policy_configuration.xml \
$(LOCAL_PATH)/configs/audio/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml $(LOCAL_PATH)/configs/audio/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml
@@ -214,11 +211,7 @@ PRODUCT_ENFORCE_RRO_TARGETS := *
# Power # Power
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
android.hardware.power-service.lineage-libperfmgr \ android.hardware.power-service-qti
libqti-perfd-client
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json
# Partitions # Partitions
PRODUCT_USE_DYNAMIC_PARTITIONS := true PRODUCT_USE_DYNAMIC_PARTITIONS := true
@@ -252,29 +245,61 @@ PRODUCT_PACKAGES += \
# Rootdir # Rootdir
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
fstab.qcom \ dcc_extension.sh \
hdm_status.sh \
init.class_main.sh \ init.class_main.sh \
init.crda.sh \
init.kernel.post_boot-cliffs.sh \
init.kernel.post_boot-pineapple.sh \
init.kernel.post_boot.sh \
init.mdm.sh \ init.mdm.sh \
init.qcom.class_core.sh \
init.qcom.coex.sh \
init.qcom.early_boot.sh \ init.qcom.early_boot.sh \
init.qcom.efs.sync.sh \
init.qcom.post_boot.sh \ init.qcom.post_boot.sh \
init.qcom.rc \ init.qcom.sdio.sh \
init.qcom.sensors.sh \
init.qcom.sh \ init.qcom.sh \
init.recovery.qcom.rc \ init.qti.qcv.rc \
init.target.rc \ init.qti.qcv.sh \
ueventd.qcom.rc init.qti.kernel.debug-cliffs.sh \
init.qti.kernel.debug-pineapple.sh \
init.qti.kernel.debug.sh \
init.qti.kernel.early_debug-pineapple.sh \
init.qti.kernel.early_debug.sh \
init.qti.kernel.sh \
init.qti.media.sh \
init.qti.time.daemon.sh \
init.qti.write.sh \
init.vendor.sensordebug.sh \
init.vendor.sensordebug.ssr_dump.sh \
qca6234-service.sh \
system_dlkm_modprobe.sh \
ueventd.qcom.rc \
vendor_modprobe.sh \
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
fstab.qcom \
init.e3q.rc \ init.e3q.rc \
init.qcom.factory.rc \
init.qcom.rc \
init.qti.kernel.rc \
init.qti.ss-ramdump.sh \
init.qti.ufs.rc \
init.samsung.bsp.rc \ init.samsung.bsp.rc \
init.samsung.display.rc \ init.samsung.display.rc \
init.samsung.dp.rc \ init.samsung.dp.rc \
init.samsung.factory.rc \
init.samsung.power.rc \ init.samsung.power.rc \
init.samsung.rc \ init.samsung.rc \
init.samsung.user.rc \ init.samsung.user.rc \
init.recovery.samsung.rc init.target.rc \
init.recovery.qcom.rc \
init.recovery.samsung.rc \
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/rootdir/etc/fstab.qcom:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/first_stage_ramdisk/fstab.qcom $(LOCAL_PATH)/rootdir/etc/fstab.qcom:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/fstab.qcom
# Sensors # Sensors
#PRODUCT_PACKAGES += \ #PRODUCT_PACKAGES += \
@@ -297,10 +322,6 @@ PRODUCT_COPY_FILES += \
# Soong namespaces # Soong namespaces
PRODUCT_SOONG_NAMESPACES += \ PRODUCT_SOONG_NAMESPACES += \
$(LOCAL_PATH) \ $(LOCAL_PATH) \
hardware/google/interfaces \
hardware/google/pixel \
hardware/lineage/interfaces/power-libperfmgr \
hardware/qcom-caf/common/libqti-perfd-client \
hardware/samsung \ hardware/samsung \
kernel/samsung/sm8650 \ kernel/samsung/sm8650 \
kernel/samsung/sm8650-modules kernel/samsung/sm8650-modules
@@ -333,16 +354,12 @@ PRODUCT_PACKAGES += \
# USB # USB
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
android.hardware.usb-service.qti \ android.hardware.usb-service.qti \
android.hardware.usb.gadget-service.qti android.hardware.usb.gadget-service.qti \
PRODUCT_PACKAGES += \
init.qcom.usb.rc \ init.qcom.usb.rc \
init.qcom.usb.sh init.qcom.usb.sh
PRODUCT_SOONG_NAMESPACES += vendor/qcom/opensource/usb/etc PRODUCT_SOONG_NAMESPACES += \
vendor/qcom/opensource/usb/etc
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/usb/usb_compositions.conf:$(TARGET_COPY_OUT_ODM)/etc/usb_compositions.conf
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \ frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \

View File

@@ -93,6 +93,7 @@ vendor/lib64/vendor.qti.hardware.pal@1.0-impl.so
vendor/lib64/vendor.samsung.hardware.audio@1.0.so vendor/lib64/vendor.samsung.hardware.audio@1.0.so
# Audio configs # Audio configs
vendor/etc/audio/sku_pineapple/mixer_paths.xml
vendor/etc/audio/sku_pineapple/mixer_paths_pineapple_cdp.xml vendor/etc/audio/sku_pineapple/mixer_paths_pineapple_cdp.xml
vendor/etc/audio/sku_pineapple/mixer_paths_pineapple_cdp_wsa883x.xml vendor/etc/audio/sku_pineapple/mixer_paths_pineapple_cdp_wsa883x.xml
vendor/etc/audio/sku_pineapple/mixer_paths_pineapple_mtp.xml vendor/etc/audio/sku_pineapple/mixer_paths_pineapple_mtp.xml
@@ -107,7 +108,6 @@ vendor/etc/audio_effects.xml
vendor/etc/audio_effects_haptic.xml vendor/etc/audio_effects_haptic.xml
vendor/etc/audio_effects_sec.xml vendor/etc/audio_effects_sec.xml
vendor/etc/audio_effects_spatializer.xml vendor/etc/audio_effects_spatializer.xml
vendor/etc/audio_policy_configuration_base.xml
vendor/etc/card-defs.xml vendor/etc/card-defs.xml
vendor/etc/mem_logger_config.xml vendor/etc/mem_logger_config.xml
vendor/etc/sec_audio_volume_curve.xml vendor/etc/sec_audio_volume_curve.xml
@@ -861,7 +861,9 @@ vendor/lib64/libhdradaptivecustom.so
vendor/lib64/libhdrdynamic.so vendor/lib64/libhdrdynamic.so
vendor/lib64/libhdrdynamicootf.so vendor/lib64/libhdrdynamicootf.so
vendor/lib64/libintervmipc.so vendor/lib64/libintervmipc.so
vendor/lib64/liblearningmodule.so
vendor/lib64/libmemutils.so vendor/lib64/libmemutils.so
vendor/lib64/libmeters.so
vendor/lib64/libmm-hdcpmgr.so vendor/lib64/libmm-hdcpmgr.so
vendor/lib64/libops.so vendor/lib64/libops.so
vendor/lib64/libqdcm-algo.so vendor/lib64/libqdcm-algo.so
@@ -951,7 +953,6 @@ vendor/lib64/mediadrm/libdrmclearkeyplugin.so
# DRM (Qualcomm Secure Execution Environment) # DRM (Qualcomm Secure Execution Environment)
vendor/bin/hw/vendor.qti.hardware.qseecom@1.0-service vendor/bin/hw/vendor.qti.hardware.qseecom@1.0-service
vendor/bin/qseecomd vendor/bin/qseecomd
vendor/etc/gpfspath_oem_config.xml
vendor/etc/init/qseecomd.rc vendor/etc/init/qseecomd.rc
vendor/etc/init/vendor.qti.hardware.qseecom@1.0-service.rc vendor/etc/init/vendor.qti.hardware.qseecom@1.0-service.rc
vendor/etc/vintf/manifest/vendor.qti.hardware.qseecom@1.0-service.xml vendor/etc/vintf/manifest/vendor.qti.hardware.qseecom@1.0-service.xml
@@ -1230,16 +1231,6 @@ vendor/lib64/vendor.samsung.hardware.health-V1-ndk.so
# HyPer # HyPer
vendor/lib64/vendor.samsung.hardware.hyper-V2-ndk.so vendor/lib64/vendor.samsung.hardware.hyper-V2-ndk.so
# Kernel
vendor/bin/init.kernel.post_boot-pineapple.sh
vendor/bin/init.kernel.post_boot.sh
vendor/bin/init.qcom.class_core.sh
vendor/bin/init.qcom.post_boot.sh
vendor/bin/init.qti.kernel.sh
vendor/bin/system_dlkm_modprobe.sh
vendor/bin/vendor_modprobe.sh
vendor/etc/init/hw/init.qti.kernel.rc
# Media # Media
system_ext/lib64/libmmosal.so system_ext/lib64/libmmosal.so
system_ext/lib64/libmmparser_lite.so system_ext/lib64/libmmparser_lite.so
@@ -1334,6 +1325,8 @@ vendor/etc/init/init.spdaemon.rc
vendor/lib64/vendor.qti.memory.pasrmanager-V1-ndk.so vendor/lib64/vendor.qti.memory.pasrmanager-V1-ndk.so
# Perf # Perf
vendor/bin/hw/vendor.qti.hardware.perf2-hal-service
vendor/etc/init/vendor.qti.hardware.perf2-hal-service.rc
vendor/etc/perf/avcsysnodesconfigs.xml vendor/etc/perf/avcsysnodesconfigs.xml
vendor/etc/perf/commonresourceconfigs.xml vendor/etc/perf/commonresourceconfigs.xml
vendor/etc/perf/commonsysnodesconfigs.xml vendor/etc/perf/commonsysnodesconfigs.xml
@@ -1350,8 +1343,11 @@ vendor/etc/pwr/PSMPowerOptFeature.xml
vendor/etc/task_profiles.json vendor/etc/task_profiles.json
vendor/etc/vintf/manifest/vendor.qti.hardware.perf2.xml vendor/etc/vintf/manifest/vendor.qti.hardware.perf2.xml
vendor/lib64/libperfconfig.so vendor/lib64/libperfconfig.so
vendor/lib64/libperfgluelayer.so
vendor/lib64/libperfioctl.so vendor/lib64/libperfioctl.so
vendor/lib64/libq-perflog.so vendor/lib64/libq-perflog.so
vendor/lib64/libqti-perfd-client.so
vendor/lib64/libqti-perfd.so
vendor/lib64/libqti-util.so vendor/lib64/libqti-util.so
vendor/lib64/vendor.qti.hardware.perf2-V1-ndk.so vendor/lib64/vendor.qti.hardware.perf2-V1-ndk.so

View File

@@ -4,36 +4,193 @@
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
// //
// Init scripts
sh_binary {
name: "dcc_extension.sh",
src: "bin/dcc_extension.sh",
vendor: true,
}
sh_binary {
name: "hdm_status.sh",
src: "bin/hdm_status.sh",
vendor: true,
}
sh_binary { sh_binary {
name: "init.class_main.sh", name: "init.class_main.sh",
src: "bin/init.class_main.sh", src: "bin/init.class_main.sh",
vendor: true, vendor: true,
} }
sh_binary {
name: "init.crda.sh",
src: "bin/init.crda.sh",
vendor: true,
}
sh_binary {
name: "init.kernel.post_boot-cliffs.sh",
src: "bin/init.kernel.post_boot-cliffs.sh",
vendor: true,
}
sh_binary {
name: "init.kernel.post_boot-pineapple.sh",
src: "bin/init.kernel.post_boot-pineapple.sh",
vendor: true,
}
sh_binary {
name: "init.kernel.post_boot.sh",
src: "bin/init.kernel.post_boot.sh",
vendor: true,
}
sh_binary { sh_binary {
name: "init.mdm.sh", name: "init.mdm.sh",
src: "bin/init.mdm.sh", src: "bin/init.mdm.sh",
vendor: true, vendor: true,
} }
sh_binary {
name: "init.qcom.class_core.sh",
src: "bin/init.qcom.class_core.sh",
vendor: true,
}
sh_binary {
name: "init.qcom.coex.sh",
src: "bin/init.qcom.coex.sh",
vendor: true,
}
sh_binary { sh_binary {
name: "init.qcom.early_boot.sh", name: "init.qcom.early_boot.sh",
src: "bin/init.qcom.early_boot.sh", src: "bin/init.qcom.early_boot.sh",
vendor: true, vendor: true,
} }
sh_binary {
name: "init.qcom.efs.sync.sh",
src: "bin/init.qcom.efs.sync.sh",
vendor: true,
}
sh_binary { sh_binary {
name: "init.qcom.post_boot.sh", name: "init.qcom.post_boot.sh",
src: "bin/init.qcom.post_boot.sh", src: "bin/init.qcom.post_boot.sh",
vendor: true, vendor: true,
} }
sh_binary {
name: "init.qcom.sdio.sh",
src: "bin/init.qcom.sdio.sh",
vendor: true,
}
sh_binary {
name: "init.qcom.sensors.sh",
src: "bin/init.qcom.sensors.sh",
vendor: true,
}
sh_binary { sh_binary {
name: "init.qcom.sh", name: "init.qcom.sh",
src: "bin/init.qcom.sh", src: "bin/init.qcom.sh",
vendor: true, vendor: true,
} }
sh_binary {
name: "init.qti.kernel.debug-cliffs.sh",
src: "bin/init.qti.kernel.debug-cliffs.sh",
vendor: true,
}
sh_binary {
name: "init.qti.kernel.debug-pineapple.sh",
src: "bin/init.qti.kernel.debug-pineapple.sh",
vendor: true,
}
sh_binary {
name: "init.qti.kernel.debug.sh",
src: "bin/init.qti.kernel.debug.sh",
vendor: true,
}
sh_binary {
name: "init.qti.kernel.early_debug-pineapple.sh",
src: "bin/init.qti.kernel.early_debug-pineapple.sh",
vendor: true,
}
sh_binary {
name: "init.qti.kernel.early_debug.sh",
src: "bin/init.qti.kernel.early_debug.sh",
vendor: true,
}
sh_binary {
name: "init.qti.kernel.sh",
src: "bin/init.qti.kernel.sh",
vendor: true,
}
sh_binary {
name: "init.qti.media.sh",
src: "bin/init.qti.media.sh",
vendor: true,
}
sh_binary {
name: "init.qti.qcv.sh",
src: "bin/init.qti.qcv.sh",
vendor: true,
}
sh_binary {
name: "init.qti.time.daemon.sh",
src: "bin/init.qti.time.daemon.sh",
vendor: true,
}
sh_binary {
name: "init.qti.write.sh",
src: "bin/init.qti.write.sh",
vendor: true,
}
sh_binary {
name: "init.vendor.sensordebug.sh",
src: "bin/init.vendor.sensordebug.sh",
vendor: true,
}
sh_binary {
name: "init.vendor.sensordebug.ssr_dump.sh",
src: "bin/init.vendor.sensordebug.ssr_dump.sh",
vendor: true,
}
sh_binary {
name: "qca6234-service.sh",
src: "bin/qca6234-service.sh",
vendor: true,
}
sh_binary {
name: "system_dlkm_modprobe.sh",
src: "bin/system_dlkm_modprobe.sh",
vendor: true,
}
sh_binary {
name: "vendor_modprobe.sh",
src: "bin/vendor_modprobe.sh",
vendor: true,
}
// Init configuration files // Init configuration files
prebuilt_etc { prebuilt_etc {
name: "init.e3q.rc", name: "init.e3q.rc",
@@ -42,6 +199,13 @@ prebuilt_etc {
vendor: true, vendor: true,
} }
prebuilt_etc {
name: "init.qcom.factory.rc",
src: "etc/init.qcom.factory.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc { prebuilt_etc {
name: "init.qcom.rc", name: "init.qcom.rc",
src: "etc/init.qcom.rc", src: "etc/init.qcom.rc",
@@ -49,6 +213,34 @@ prebuilt_etc {
vendor: true, vendor: true,
} }
prebuilt_etc {
name: "init.qti.kernel.rc",
src: "etc/init.qti.kernel.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "init.qti.ss-ramdump.sh",
src: "etc/init.qti.ss-ramdump.sh",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "init.qti.ufs.rc",
src: "etc/init.qti.ufs.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "init.qti.qcv.rc",
src: "etc/init.qti.qcv.rc",
sub_dir: "init",
vendor: true,
}
prebuilt_etc { prebuilt_etc {
name: "init.samsung.bsp.rc", name: "init.samsung.bsp.rc",
src: "etc/init.samsung.bsp.rc", src: "etc/init.samsung.bsp.rc",
@@ -70,6 +262,13 @@ prebuilt_etc {
vendor: true, vendor: true,
} }
prebuilt_etc {
name: "init.samsung.factory.rc",
src: "etc/init.samsung.factory.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc { prebuilt_etc {
name: "init.samsung.power.rc", name: "init.samsung.power.rc",
src: "etc/init.samsung.power.rc", src: "etc/init.samsung.power.rc",

View File

@@ -0,0 +1,9 @@
#=============================================================================
# Copyright (c) 2023 Qualcomm Technologies, Inc.
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc.
#=============================================================================
extension()
{
}

58
rootdir/bin/hdm_status.sh Normal file
View File

@@ -0,0 +1,58 @@
#! /vendor/bin/sh
if [ "$#" -ne 1 ]
then
echo "Usage: $0 <hdm_status value>"
exit
fi
count=0
policy=0
array=(1 2 4 8 16 32 64 128 256 512)
name_arry=(cam mmc usb wlan bt gps dis aud cpm sen)
hdm_status=$1
hdm_swblock_status=$(getprop "ro.vendor.hdm.supported.swblock")
echo "hdmstatus = $hdm_status"
echo "hdm supported swblock = $hdm_swblock_status"
HDM_STATUS_SPLIT=$(echo $hdm_status | tr "&|" "\n")
#get hdm policy from ro.boot.hdm_status
for split in $HDM_STATUS_SPLIT
do
count=$((($count + 1)%2))
if [ $count -eq 0 ]; then
split16="0x$split"
echo "split16 = $split16"
policy=$(($policy|$split16))
fi
done
echo "$policy"
hex=$(printf "0x%x" "$policy")
echo "$hex"
#setprop vendor.hdm.status "$hex"
#check sw block
swblock=$(($policy&$hdm_swblock_status))
swblockhex=$(printf "0x%x" "$swblock")
echo "swblockhex = $swblockhex"
setprop vendor.hdm.swblock.status "$swblockhex"
#start sw block
count=0
for isblock in ${array[@]}
do
if [ $(($isblock&$swblock)) -eq $isblock ]; then
echo "swblock enable = ${name_arry[$count]}"
swblockname=$(printf "vendor.hdm.internal.%s" "${name_arry[$count]}")
setprop $swblockname "boot"
fi
count=$(($count + 1))
done

35
rootdir/bin/init.crda.sh Normal file
View File

@@ -0,0 +1,35 @@
#! /vendor/bin/sh
# Copyright (c) 2012, 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:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
country=`getprop wlan.crda.country`
# crda takes input in COUNTRY environment variable
if [ $country != "" ]
then
COUNTRY="$country" /system/bin/crda
fi

View File

@@ -0,0 +1,49 @@
#=============================================================================
# Copyright (c) 2022-2023 Qualcomm Technologies, Inc.
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc.
#
# Copyright (c) 2009-2012, 2014-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:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
rev=`cat /sys/devices/soc0/revision`
echo 4 > /proc/sys/kernel/printk
# Change console log level as per console config property
console_config=`getprop persist.vendor.console.silent.config`
case "$console_config" in
"1")
echo "Enable console config to $console_config"
echo 0 > /proc/sys/kernel/printk
;;
*)
echo "Enable console config to $console_config"
;;
esac
setprop vendor.post_boot.parsed 1

View File

@@ -0,0 +1,439 @@
#=============================================================================
# Copyright (c) 2022-2023 Qualcomm Technologies, Inc.
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc.
#
# Copyright (c) 2009-2012, 2014-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:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
rev=`cat /sys/devices/soc0/revision`
# Configure RT parameters:
# Long running RT task detection is confined to consolidated builds.
# Set RT throttle runtime to 50ms more than long running RT
# task detection time.
# Set RT throttle period to 100ms more than RT throttle runtime.
long_running_rt_task_ms=1200
sched_rt_runtime_ms=`expr $long_running_rt_task_ms + 50`
sched_rt_runtime_us=`expr $sched_rt_runtime_ms \* 1000`
sched_rt_period_ms=`expr $sched_rt_runtime_ms + 100`
sched_rt_period_us=`expr $sched_rt_period_ms \* 1000`
echo $sched_rt_period_us > /proc/sys/kernel/sched_rt_period_us
echo $sched_rt_runtime_us > /proc/sys/kernel/sched_rt_runtime_us
if [ -d /proc/sys/walt ]; then
# configure maximum frequency when CPUs are partially halted
echo 1190400 > /proc/sys/walt/sched_max_freq_partial_halt
# Core Control Paramters for Silvers
echo 0xFF > /sys/devices/system/cpu/cpu0/core_ctl/nrrun_cpu_mask
echo 0x00 > /sys/devices/system/cpu/cpu0/core_ctl/nrrun_cpu_misfit_mask
echo 0x00 > /sys/devices/system/cpu/cpu0/core_ctl/assist_cpu_mask
echo 0x00 > /sys/devices/system/cpu/cpu0/core_ctl/assist_cpu_misfit_mask
# Core control parameters for gold
echo 3 > /sys/devices/system/cpu/cpu2/core_ctl/min_cpus
echo 60 > /sys/devices/system/cpu/cpu2/core_ctl/busy_up_thres
echo 30 > /sys/devices/system/cpu/cpu2/core_ctl/busy_down_thres
echo 100 > /sys/devices/system/cpu/cpu2/core_ctl/offline_delay_ms
echo 3 > /sys/devices/system/cpu/cpu2/core_ctl/task_thres
echo 0 0 0 > /sys/devices/system/cpu/cpu2/core_ctl/not_preferred
echo 0xFC > /sys/devices/system/cpu/cpu2/core_ctl/nrrun_cpu_mask
echo 0x63 > /sys/devices/system/cpu/cpu2/core_ctl/nrrun_cpu_misfit_mask
echo 0x00 > /sys/devices/system/cpu/cpu2/core_ctl/assist_cpu_mask
echo 0x00 > /sys/devices/system/cpu/cpu2/core_ctl/assist_cpu_misfit_mask
# Core control parameters for titaniums
echo 0 > /sys/devices/system/cpu/cpu5/core_ctl/min_cpus
echo 2 > /sys/devices/system/cpu/cpu5/core_ctl/min_partial_cpus
echo 60 > /sys/devices/system/cpu/cpu5/core_ctl/busy_up_thres
echo 30 > /sys/devices/system/cpu/cpu5/core_ctl/busy_down_thres
echo 100 > /sys/devices/system/cpu/cpu5/core_ctl/offline_delay_ms
echo 2 > /sys/devices/system/cpu/cpu5/core_ctl/task_thres
echo 1 1 > /sys/devices/system/cpu/cpu5/core_ctl/not_preferred
echo 0xE0 > /sys/devices/system/cpu/cpu5/core_ctl/nrrun_cpu_mask
echo 0x00 > /sys/devices/system/cpu/cpu5/core_ctl/nrrun_cpu_misfit_mask
echo 0x1C > /sys/devices/system/cpu/cpu5/core_ctl/assist_cpu_mask
echo 0x03 > /sys/devices/system/cpu/cpu5/core_ctl/assist_cpu_misfit_mask
# 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
echo 1 > /sys/devices/system/cpu/cpu7/core_ctl/not_preferred
echo 0x80 > /sys/devices/system/cpu/cpu7/core_ctl/nrrun_cpu_mask
echo 0x7C > /sys/devices/system/cpu/cpu7/core_ctl/nrrun_cpu_misfit_mask
echo 0x7C > /sys/devices/system/cpu/cpu7/core_ctl/assist_cpu_mask
echo 0x03 > /sys/devices/system/cpu/cpu7/core_ctl/assist_cpu_misfit_mask
echo 0 > /sys/devices/system/cpu/cpu0/core_ctl/enable
echo 0 > /sys/devices/system/cpu/cpu2/core_ctl/enable
echo 1 > /sys/devices/system/cpu/cpu5/core_ctl/enable
echo 1 > /sys/devices/system/cpu/cpu7/core_ctl/enable
# Configure Single Boost Thread
echo 0 > /proc/sys/walt/sched_sbt_delay_windows
echo 0x60 > /proc/sys/walt/sched_sbt_pause_cpus
# Setting b.L scheduler parameters
echo 95 95 95 > /proc/sys/walt/sched_upmigrate
echo 85 85 85 > /proc/sys/walt/sched_downmigrate
echo 80 > /proc/sys/walt/sched_group_downmigrate
echo 90 > /proc/sys/walt/sched_group_upmigrate
echo 1 > /proc/sys/walt/sched_walt_rotate_big_tasks
echo 400000000 > /proc/sys/walt/sched_coloc_downmigrate_ns
echo 16000000 16000000 16000000 16000000 16000000 16000000 16000000 5000000 > /proc/sys/walt/sched_coloc_busy_hyst_cpu_ns
echo 248 > /proc/sys/walt/sched_coloc_busy_hysteresis_enable_cpus
echo 10 10 10 10 10 10 10 95 > /proc/sys/walt/sched_coloc_busy_hyst_cpu_busy_pct
echo 8500000 8500000 8500000 8500000 8500000 8500000 8500000 2000000 > /proc/sys/walt/sched_util_busy_hyst_cpu_ns
echo 255 > /proc/sys/walt/sched_util_busy_hysteresis_enable_cpus
echo 1 1 1 1 1 1 1 15 > /proc/sys/walt/sched_util_busy_hyst_cpu_util
echo 40 > /proc/sys/walt/sched_cluster_util_thres_pct
echo 0 30 30 30 > /proc/sys/walt/sched_idle_enough_clust
echo 10 > /proc/sys/walt/sched_ed_boost
#Set early upmigrate tunables
freq_to_migrate=1248000
silver_fmax=`cat /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq`
silver_early_upmigrate=`expr 1024 \* $silver_fmax / $freq_to_migrate`
silver_early_downmigrate=`expr \( 1024 \* $silver_fmax \) / \( \( \( 10 \* $freq_to_migrate \) - $silver_fmax \) \/ 10 \)`
sched_upmigrate=`cat /proc/sys/walt/sched_upmigrate`
sched_downmigrate=`cat /proc/sys/walt/sched_downmigrate`
sched_upmigrate=${sched_upmigrate:0:2}
sched_downmigrate=${sched_downmigrate:0:2}
gold_early_upmigrate=`expr \( 1024 \* 100 \) \/ $sched_upmigrate`
gold_early_downmigrate=`expr \( 1024 \* 100 \) \/ $sched_downmigrate`
echo $silver_early_downmigrate $gold_early_downmigrate $gold_early_downmigrate > /proc/sys/walt/sched_early_downmigrate
echo $silver_early_upmigrate $gold_early_upmigrate $gold_early_upmigrate > /proc/sys/walt/sched_early_upmigrate
# Enable Gold CPUs for pipeline
echo 28 > /proc/sys/walt/sched_pipeline_cpus
# set the threshold for low latency task boost feature which prioritize
# binder activity tasks
echo 325 > /proc/sys/walt/walt_low_latency_task_threshold
# configure maximum frequency of silver cluster when load is not detected and ensure that
# other clusters' fmax remains uncapped by setting the frequency to S32_MAX
# enable smart fmax for silver
echo 1804800 2147483647 2147483647 2147483647 > /proc/sys/walt/sched_fmax_cap
# set c1dcvs parameter
chown system.system /sys/devices/system/cpu/c1dcvs/enable_c1dcvs
chmod 0660 /sys/devices/system/cpu/c1dcvs/enable_c1dcvs
chown system.system /sys/devices/system/cpu/c1dcvs/efreq_thresh
chmod 0660 /sys/devices/system/cpu/c1dcvs/efreq_thresh
echo 0 > /sys/devices/system/cpu/c1dcvs/enable_c1dcvs
echo 2 1400000 > /sys/devices/system/cpu/c1dcvs/efreq_thresh
echo 3 1400000 > /sys/devices/system/cpu/c1dcvs/efreq_thresh
echo 4 1400000 > /sys/devices/system/cpu/c1dcvs/efreq_thresh
echo 1 > /sys/devices/system/cpu/c1dcvs/enable_c1dcvs
# Turn off scheduler boost at the end
echo 0 > /proc/sys/walt/sched_boost
# configure input boost settings
if [ $rev == "1.0" ] || [ $rev == "1.1" ]; then
echo 0 0 0 0 0 0 0 0 > /proc/sys/walt/input_boost/input_boost_freq
else
echo 0 0 0 0 0 0 0 0 > /proc/sys/walt/input_boost/input_boost_freq
fi
echo 0 > /proc/sys/walt/input_boost/input_boost_ms
echo "walt" > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
echo "walt" > /sys/devices/system/cpu/cpufreq/policy2/scaling_governor
echo "walt" > /sys/devices/system/cpu/cpufreq/policy5/scaling_governor
echo "walt" > /sys/devices/system/cpu/cpufreq/policy7/scaling_governor
echo 0 > /sys/devices/system/cpu/cpufreq/policy0/walt/down_rate_limit_us
echo 0 > /sys/devices/system/cpu/cpufreq/policy0/walt/up_rate_limit_us
echo 0 > /sys/devices/system/cpu/cpufreq/policy2/walt/down_rate_limit_us
echo 0 > /sys/devices/system/cpu/cpufreq/policy2/walt/up_rate_limit_us
echo 0 > /sys/devices/system/cpu/cpufreq/policy5/walt/down_rate_limit_us
echo 0 > /sys/devices/system/cpu/cpufreq/policy5/walt/up_rate_limit_us
echo 0 > /sys/devices/system/cpu/cpufreq/policy7/walt/down_rate_limit_us
echo 0 > /sys/devices/system/cpu/cpufreq/policy7/walt/up_rate_limit_us
echo 1 > /sys/devices/system/cpu/cpufreq/policy0/walt/pl
echo 1 > /sys/devices/system/cpu/cpufreq/policy2/walt/pl
echo 1 > /sys/devices/system/cpu/cpufreq/policy5/walt/pl
echo 1 > /sys/devices/system/cpu/cpufreq/policy7/walt/pl
echo 787200 > /sys/devices/system/cpu/cpufreq/policy0/walt/rtg_boost_freq
echo 844800 > /sys/devices/system/cpu/cpufreq/policy2/walt/rtg_boost_freq
echo 844800 > /sys/devices/system/cpu/cpufreq/policy5/walt/rtg_boost_freq
echo 902400 > /sys/devices/system/cpu/cpufreq/policy7/walt/rtg_boost_freq
if [ $rev == "1.0" ] || [ $rev == "1.1" ]; then
echo 1344000 > /sys/devices/system/cpu/cpufreq/policy0/walt/hispeed_freq
echo 1612800 > /sys/devices/system/cpu/cpufreq/policy2/walt/hispeed_freq
echo 1612800 > /sys/devices/system/cpu/cpufreq/policy5/walt/hispeed_freq
echo 1555200 > /sys/devices/system/cpu/cpufreq/policy7/walt/hispeed_freq
else
echo 1344000 > /sys/devices/system/cpu/cpufreq/policy0/walt/hispeed_freq
echo 1612800 > /sys/devices/system/cpu/cpufreq/policy2/walt/hispeed_freq
echo 1612800 > /sys/devices/system/cpu/cpufreq/policy5/walt/hispeed_freq
echo 1593600 > /sys/devices/system/cpu/cpufreq/policy7/walt/hispeed_freq
fi
else
echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy2/scaling_governor
echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy5/scaling_governor
echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy7/scaling_governor
echo 1 > /proc/sys/kernel/sched_pelt_multiplier
fi
if [ $rev == "1.0" ] || [ $rev == "1.1" ]; then
echo 556800 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq
echo 576000 > /sys/devices/system/cpu/cpufreq/policy2/scaling_min_freq
echo 576000 > /sys/devices/system/cpu/cpufreq/policy5/scaling_min_freq
echo 729600 > /sys/devices/system/cpu/cpufreq/policy7/scaling_min_freq
else
echo 556800 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq
echo 614400 > /sys/devices/system/cpu/cpufreq/policy2/scaling_min_freq
echo 499200 > /sys/devices/system/cpu/cpufreq/policy5/scaling_min_freq
echo 672000 > /sys/devices/system/cpu/cpufreq/policy7/scaling_min_freq
fi
# Reset the RT boost, which is 1024 (max) by default.
echo 0 > /proc/sys/kernel/sched_util_clamp_min_rt_default
# disable min util condition for boost
echo 0 > /proc/sys/walt/sched_min_task_util_for_boost
echo 0 > /proc/sys/walt/sched_min_task_util_for_colocation
echo 0 > /proc/sys/walt/sched_min_task_util_for_uclamp
# cpuset parameters
echo 0-1 5-6 > /dev/cpuset/background/cpus
echo 0-1 5-6 > /dev/cpuset/system-background/cpus
# configure bus-dcvs
bus_dcvs="/sys/devices/system/cpu/bus_dcvs"
for device in $bus_dcvs/*
do
cat $device/hw_min_freq > $device/boost_freq
done
for ubwcpbw in $bus_dcvs/UBWCP/*bwmon-ubwcp
do
echo "5931 7980 10437 16113" > $ubwcpbw/mbps_zones
echo 4 > $ubwcpbw/sample_ms
echo 80 > $ubwcpbw/io_percent
echo 20 > $ubwcpbw/hist_memory
echo 5 > $ubwcpbw/hyst_length
echo 1 > $ubwcpbw/idle_length
echo 30 > $ubwcpbw/down_thres
echo 0 > $ubwcpbw/guard_band_mbps
echo 250 > $ubwcpbw/up_scale
echo 1600 > $ubwcpbw/idle_mbps
echo 710000 > $ubwcpbw/max_freq
echo 40 > $ubwcpbw/window_ms
done
for llccbw in $bus_dcvs/LLCC/*bwmon-llcc
do
echo "4577 7110 9155 12298 14236 16265" > $llccbw/mbps_zones
echo 4 > $llccbw/sample_ms
echo 80 > $llccbw/io_percent
echo 20 > $llccbw/hist_memory
echo 5 > $llccbw/hyst_length
echo 1 > $llccbw/idle_length
echo 30 > $llccbw/down_thres
echo 0 > $llccbw/guard_band_mbps
echo 250 > $llccbw/up_scale
echo 1600 > $llccbw/idle_mbps
echo 806000 > $llccbw/max_freq
echo 40 > $llccbw/window_ms
done
for ddrbw in $bus_dcvs/DDR/*bwmon-ddr
do
echo "2086 5931 7980 10437 12157 14060 16113" > $ddrbw/mbps_zones
echo 4 > $ddrbw/sample_ms
echo 80 > $ddrbw/io_percent
echo 20 > $ddrbw/hist_memory
echo 5 > $ddrbw/hyst_length
echo 1 > $ddrbw/idle_length
echo 30 > $ddrbw/down_thres
echo 0 > $ddrbw/guard_band_mbps
echo 250 > $ddrbw/up_scale
echo 1600 > $ddrbw/idle_mbps
echo 2736000 > $ddrbw/max_freq
echo 40 > $ddrbw/window_ms
done
for latfloor in $bus_dcvs/*/*latfloor
do
echo 25000 > $latfloor/ipm_ceil
done
for l3gold in $bus_dcvs/L3/*gold
do
echo 4000 > $l3gold/ipm_ceil
done
for l3prime in $bus_dcvs/L3/*prime
do
echo 20000 > $l3prime/ipm_ceil
done
for qosgold in $bus_dcvs/DDRQOS/*gold
do
echo 50 > $qosgold/ipm_ceil
done
for qosprime in $bus_dcvs/DDRQOS/*prime
do
echo 100 > $qosprime/ipm_ceil
done
for ddrprime in $bus_dcvs/DDR/*prime
do
echo 25 > $ddrprime/freq_scale_pct
echo 1500 > $ddrprime/freq_scale_floor_mhz
echo 2726 > $ddrprime/freq_scale_ceil_mhz
done
# Permission for video hint
chown root.system /sys/devices/system/cpu/cpufreq/policy0/walt/hispeed_freq
chmod 0660 /sys/devices/system/cpu/cpufreq/policy0/walt/hispeed_freq
chown root.system /sys/devices/system/cpu/cpufreq/policy0/walt/rtg_boost_freq
chmod 0660 /sys/devices/system/cpu/cpufreq/policy0/walt/rtg_boost_freq
chown root.system /sys/devices/system/cpu/cpufreq/policy0/walt/pl
chmod 0660 /sys/devices/system/cpu/cpufreq/policy0/walt/pl
echo s2idle > /sys/power/mem_sleep
echo N > /sys/devices/system/cpu/qcom_lpm/parameters/sleep_disabled
model_name=`getprop ro.product.device`
if [ $model_name == "b6q" ]; then
echo 608 > /sys/devices/system/cpu/cpufreq/policy0/walt/target_load_thresh
echo 837 > /sys/devices/system/cpu/cpufreq/policy2/walt/target_load_thresh
echo 891 > /sys/devices/system/cpu/cpufreq/policy5/walt/target_load_thresh
echo 806 > /sys/devices/system/cpu/cpufreq/policy7/walt/target_load_thresh
echo 15000 > /sys/devices/system/cpu/cpufreq/policy0/walt/up_rate_limit_us
echo 15000 > /sys/devices/system/cpu/cpufreq/policy2/walt/up_rate_limit_us
echo 15000 > /sys/devices/system/cpu/cpufreq/policy5/walt/up_rate_limit_us
echo 15000 > /sys/devices/system/cpu/cpufreq/policy7/walt/up_rate_limit_us
echo 1344000 > /sys/devices/system/cpu/cpufreq/policy0/walt/up_delay_freq
echo 2572800 > /sys/devices/system/cpu/cpufreq/policy2/walt/up_delay_freq
echo 2572800 > /sys/devices/system/cpu/cpufreq/policy5/walt/up_delay_freq
echo 2630400 > /sys/devices/system/cpu/cpufreq/policy7/walt/up_delay_freq
echo 0 > /sys/devices/system/cpu/cpufreq/policy0/walt/pl
echo 1 > /proc/sys/walt/sched_conservative_pl
echo 50 85 85 > /proc/sys/walt/sched_downmigrate
echo 59 95 95 > /proc/sys/walt/sched_upmigrate
echo 20 > /dev/cpuctl/background/cpu.uclamp.max
echo 1804800 2707200 2707200 2147483647 > /proc/sys/walt/sched_fmax_cap
echo 51 > /proc/sys/walt/sched_min_task_util_for_boost
echo 51 > /proc/sys/walt/sched_min_task_util_for_uclamp
echo 35 > /proc/sys/walt/sched_min_task_util_for_colocation
chown root.system /sys/devices/system/cpu/cpufreq/policy0/walt/up_delay_freq
chmod 0660 /sys/devices/system/cpu/cpufreq/policy0/walt/up_delay_freq
chown root.system /sys/devices/system/cpu/cpufreq/policy0/walt/target_load_thresh
chmod 0660 /sys/devices/system/cpu/cpufreq/policy0/walt/target_load_thresh
chown root.system /sys/devices/system/cpu/cpufreq/policy0/walt/up_rate_limit_us
chmod 0660 /sys/devices/system/cpu/cpufreq/policy0/walt/up_rate_limit_us
chown root.system /sys/devices/system/cpu/cpufreq/policy0/walt/rtg_boost_freq
chmod 0664 /sys/devices/system/cpu/cpufreq/policy0/walt/rtg_boost_freq
chown root.system /sys/devices/system/cpu/cpufreq/policy2/walt/up_delay_freq
chmod 0660 /sys/devices/system/cpu/cpufreq/policy2/walt/up_delay_freq
chown root.system /sys/devices/system/cpu/cpufreq/policy2/walt/target_load_thresh
chmod 0660 /sys/devices/system/cpu/cpufreq/policy2/walt/target_load_thresh
chown root.system /sys/devices/system/cpu/cpufreq/policy2/walt/up_rate_limit_us
chmod 0660 /sys/devices/system/cpu/cpufreq/policy2/walt/up_rate_limit_us
chown root.system /sys/devices/system/cpu/cpufreq/policy5/walt/up_delay_freq
chmod 0660 /sys/devices/system/cpu/cpufreq/policy5/walt/up_delay_freq
chown root.system /sys/devices/system/cpu/cpufreq/policy5/walt/target_load_thresh
chmod 0660 /sys/devices/system/cpu/cpufreq/policy5/walt/target_load_thresh
chown root.system /sys/devices/system/cpu/cpufreq/policy5/walt/up_rate_limit_us
chmod 0660 /sys/devices/system/cpu/cpufreq/policy5/walt/up_rate_limit_us
chown root.system /sys/devices/system/cpu/cpufreq/policy7/walt/up_delay_freq
chmod 0660 /sys/devices/system/cpu/cpufreq/policy7/walt/up_delay_freq
chown root.system /sys/devices/system/cpu/cpufreq/policy7/walt/target_load_thresh
chmod 0660 /sys/devices/system/cpu/cpufreq/policy7/walt/target_load_thresh
chown root.system /sys/devices/system/cpu/cpufreq/policy7/walt/up_rate_limit_us
chmod 0660 /sys/devices/system/cpu/cpufreq/policy7/walt/up_rate_limit_us
chown root.system /sys/devices/system/cpu/cpufreq/policy0/walt/pl
chmod 0660 /sys/devices/system/cpu/cpufreq/policy0/walt/pl
chown root.system /dev/cpuctl/background/cpu.uclamp.max
chmod 0660 /dev/cpuctl/background/cpu.uclamp.max
fi
# Enable dynamic prefetcher
if [ $model_name == "b6q" ] || [ $model_name == "q6q" ] || [ $model_name == "q6aq" ]; then
chown root.system /sys/devices/system/cpu/dynpf/enable_dynpf
chmod 0660 /sys/devices/system/cpu/dynpf/enable_dynpf
echo 1 > /sys/devices/system/cpu/dynpf/enable_dynpf
fi
echo 4 > /proc/sys/kernel/printk
# SED data dump
factory=`getprop ro.factory.factory_binary`
if [ "$factory" == "factory" ] && [ ! -e /data/local/tmp/SED_DDR_DATA_* ]; then
ap_serial=`getprop ro.boot.ap_serial`
soc_model=`getprop ro.soc.model`
dram_info=`getprop ro.boot.dram_info`
sed_dump_file=/data/local/tmp/SED_DDR_DATA_$soc_model'_'$dram_info'_'$ap_serial.BIN
dd if=/dev/block/bootdevice/by-name/ddr of=$sed_dump_file bs=1024 count=256
chown shell:shell $sed_dump_file
chmod 755 $sed_dump_file
fi
# Change console log level as per console config property
console_config=`getprop persist.vendor.console.silent.config`
case "$console_config" in
"1")
echo "Enable console config to $console_config"
echo 0 > /proc/sys/kernel/printk
;;
*)
echo "Enable console config to $console_config"
;;
esac
setprop vendor.post_boot.parsed 1

View File

@@ -0,0 +1,215 @@
#=============================================================================
# Copyright (c) 2019-2023 Qualcomm Technologies, Inc.
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc.
#
# Copyright (c) 2009-2012, 2014-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:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
function configure_zram_parameters() {
MemTotalStr=`cat /proc/meminfo | grep MemTotal`
MemTotal=${MemTotalStr:16:8}
low_ram=`getprop ro.config.low_ram`
let RamSizeGB="( $MemTotal / 1048576 ) + 1"
diskSizeUnit=M
# Zram disk - 75%
let zRamSizeMB="( $RamSizeGB * 1024 ) * 3 / 4"
# use MB avoid 32 bit overflow
if [ $zRamSizeMB -gt 6144 ]; then
let zRamSizeMB=6144
fi
# And enable lz4 zram compression for Go targets.
if [ "$low_ram" == "true" ]; then
echo lz4 > /sys/block/zram0/comp_algorithm
fi
if [ -f /sys/block/zram0/disksize ]; then
if [ -f /sys/block/zram0/use_dedup ]; then
echo 1 > /sys/block/zram0/use_dedup
fi
echo "$zRamSizeMB""$diskSizeUnit" > /sys/block/zram0/disksize
# ZRAM may use more memory than it saves if SLAB_STORE_USER
# debug option is enabled.
if [ -e /sys/kernel/slab/zs_handle ]; then
echo 0 > /sys/kernel/slab/zs_handle/store_user
fi
if [ -e /sys/kernel/slab/zspage ]; then
echo 0 > /sys/kernel/slab/zspage/store_user
fi
mkswap /dev/block/zram0
swapon /dev/block/zram0 -p 32758
fi
}
verify_pasr_support()
{
ddr_type=`od -An -tx /proc/device-tree/memory/ddr_device_type`
ddr_type5="08"
if [ -d /sys/kernel/mem-offline ]; then
#only LPDDR5 supports PAAR
if [ ${ddr_type:4:2} != $ddr_type5 ]; then
setprop vendor.pasr.activemode.enabled false
fi
setprop vendor.pasr.enabled true
echo "pasr-enabled"
fi
}
function configure_read_ahead_kb_values() {
MemTotalStr=`cat /proc/meminfo | grep MemTotal`
MemTotal=${MemTotalStr:16:8}
dmpts=$(ls /sys/block/*/queue/read_ahead_kb | grep -e dm -e mmc -e sd)
# dmpts holds below read_ahead_kb nodes if exists:
# /sys/block/dm-0/queue/read_ahead_kb to /sys/block/dm-10/queue/read_ahead_kb
# /sys/block/sda/queue/read_ahead_kb to /sys/block/sdh/queue/read_ahead_kb
# Set 128 for <= 4GB &
# set 512 for >= 5GB targets.
if [ $MemTotal -le 4194304 ]; then
ra_kb=128
else
ra_kb=512
fi
if [ -f /sys/block/mmcblk0/bdi/read_ahead_kb ]; then
echo $ra_kb > /sys/block/mmcblk0/bdi/read_ahead_kb
fi
if [ -f /sys/block/mmcblk0rpmb/bdi/read_ahead_kb ]; then
echo $ra_kb > /sys/block/mmcblk0rpmb/bdi/read_ahead_kb
fi
for dm in $dmpts; do
if [ `cat $(dirname $dm)/../removable` -eq 0 ]; then
echo $ra_kb > $dm
fi
done
}
function configure_memory_parameters() {
# Set Memory parameters.
#
# Set per_process_reclaim tuning parameters
# All targets will use vmpressure range 50-70,
# All targets will use 512 pages swap size.
#
# Set Low memory killer minfree parameters
# 32 bit Non-Go, all memory configurations will use 15K series
# 32 bit Go, all memory configurations will use uLMK + Memcg
# 64 bit will use Google default LMK series.
#
# Set ALMK parameters (usually above the highest minfree values)
# vmpressure_file_min threshold is always set slightly higher
# than LMK minfree's last bin value for all targets. It is calculated as
# vmpressure_file_min = (last bin - second last bin ) + last bin
#
# Set allocstall_threshold to 0 for all targets.
#
#configure_zram_parameters
configure_read_ahead_kb_values
#echo 100 > /proc/sys/vm/swappiness
# Disable periodic kcompactd wakeups. We do not use THP, so having many
# huge pages is not as necessary.
echo 0 > /proc/sys/vm/compaction_proactiveness
MemTotalStr=`cat /proc/meminfo | grep MemTotal`
MemTotal=${MemTotalStr:16:8}
let RamSizeGB="( $MemTotal / 1048576 ) + 1"
have_pasr=$(verify_pasr_support)
if [ -z $have_pasr ]; then
## Goal is to allow all allocations to use THP whilst minimizing allocaiton delays
# Allow all eligibe page faults to use THP
echo always > /sys/kernel/mm/transparent_hugepage/enabled
# Prevent page faults on THP-elgible VMAs from causing reclaim or compaction
echo never > /sys/kernel/mm/transparent_hugepage/defrag
## Goal is to make khugepaged as inert as possible using the below settings
# Prevent khugepaged from doing reclaim or compaction
echo 0 > /sys/kernel/mm/transparent_hugepage/khugepaged/defrag
# Minimize the number of pages that khugepaged will scan
echo 1 > /sys/kernel/mm/transparent_hugepage/khugepaged/pages_to_scan
# Maximize the amount of time that khugepaged is asleep for
echo 4294967295 > /sys/kernel/mm/transparent_hugepage/khugepaged/scan_sleep_millisecs
echo 4294967295 > /sys/kernel/mm/transparent_hugepage/khugepaged/alloc_sleep_millisecs
# Restrict khugepaged promotions as much as possible. Only allow khugepaged to promote
# if all pages in a VMA are (1) not invalid PTEs, (2) not swapped out PTEs, (3) not
# shared PTEs.
echo 0 > /sys/kernel/mm/transparent_hugepage/khugepaged/max_ptes_none
echo 0 > /sys/kernel/mm/transparent_hugepage/khugepaged/max_ptes_swap
echo 0 > /sys/kernel/mm/transparent_hugepage/khugepaged/max_ptes_shared
else
# Do not enable THP is PASR is enabled
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
# Set the min_free_kbytes to standard kernel value
if [ $RamSizeGB -ge 8 ]; then
echo 11584 > /proc/sys/vm/min_free_kbytes
elif [ $RamSizeGB -ge 4 ]; then
echo 8192 > /proc/sys/vm/min_free_kbytes
elif [ $RamSizeGB -ge 2 ]; then
echo 5792 > /proc/sys/vm/min_free_kbytes
else
echo 4096 > /proc/sys/vm/min_free_kbytes
fi
#Set per-app max kgsl reclaim limit and per shrinker call limit
if [ -f /sys/class/kgsl/kgsl/page_reclaim_per_call ]; then
echo 38400 > /sys/class/kgsl/kgsl/page_reclaim_per_call
fi
# if [ -f /sys/class/kgsl/kgsl/max_reclaim_limit ]; then
# echo 51200 > /sys/class/kgsl/kgsl/max_reclaim_limit
# fi
}
configure_memory_parameters
if [ -f /sys/devices/soc0/soc_id ]; then
platformid=`cat /sys/devices/soc0/soc_id`
fi
case "$platformid" in
"557"|"577")
/vendor/bin/sh /vendor/bin/init.kernel.post_boot-pineapple.sh
;;
"614"|"632")
/vendor/bin/sh /vendor/bin/init.kernel.post_boot-cliffs.sh
;;
*)
echo "***WARNING***: Invalid SoC ID\n\t No postboot settings applied!!\n"
;;
esac

View File

@@ -0,0 +1,216 @@
#!/vendor/bin/sh
# Copyright (c) 2012-2013, 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:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# Set platform variables
target=`getprop ro.board.platform`
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/soc_id ]; then
soc_hwid=`cat /sys/devices/soc0/soc_id` 2> /dev/null
else
soc_hwid=`cat /sys/devices/system/soc/soc0/id` 2> /dev/null
fi
if [ -f /sys/devices/soc0/platform_version ]; then
soc_hwver=`cat /sys/devices/soc0/platform_version` 2> /dev/null
else
soc_hwver=`cat /sys/devices/system/soc/soc0/platform_version` 2> /dev/null
fi
# Dynamic Memory Managment (DMM) provides a sys file system to the userspace
# that can be used to plug in/out memory that has been configured as unstable.
# This unstable memory can be in Active or In-Active State.
# Each of which the userspace can request by writing to a sys file.
#
# ro.dev.dmm = 1; Indicates that DMM is enabled in the Android User Space. This
# property is set in the Android system properties file.
#
# If ro.dev.dmm.dpd.start_address is set here then the target has a memory
# configuration that supports DynamicMemoryManagement.
init_DMM()
{
block=-1
case "$target" in
"msm7630_surf" | "msm7630_1x" | "msm7630_fusion" | "msm8960")
;;
*)
return
;;
esac
mem="/sys/devices/system/memory"
op=`cat $mem/movable_start_bytes`
case "$op" in
"0")
log -p i -t DMM DMM Disabled. movable_start_bytes not set: $op
;;
"$mem/movable_start_bytes: No such file or directory ")
log -p i -t DMM DMM Disabled. movable_start_bytes does not exist: $op
;;
*)
log -p i -t DMM DMM available. movable_start_bytes at $op
movable_start_bytes=0x`cat $mem/movable_start_bytes`
block_size_bytes=0x`cat $mem/block_size_bytes`
block=$((#${movable_start_bytes}/${block_size_bytes}))
chown -h system.system $mem/memory$block/state
chown -h system.system $mem/probe
chown -h system.system $mem/active
chown -h system.system $mem/remove
case "$target" in
"msm7630_surf" | "msm7630_1x" | "msm7630_fusion")
echo $movable_start_bytes > $mem/probe
case "$?" in
"0")
log -p i -t DMM $movable_start_bytes to physical hotplug succeeded.
;;
*)
log -p e -t DMM $movable_start_bytes to physical hotplug failed.
return
;;
esac
echo online > $mem/memory$block/state
case "$?" in
"0")
log -p i -t DMM \'echo online\' to logical hotplug succeeded.
;;
*)
log -p e -t DMM \'echo online\' to logical hotplug failed.
return
;;
esac
;;
esac
setprop ro.dev.dmm.dpd.start_address $movable_start_bytes
setprop ro.dev.dmm.dpd.block $block
;;
esac
case "$target" in
"msm8960")
return
;;
esac
# For 7X30 targets:
# ro.dev.dmm.dpd.start_address is set when the target has a 2x256Mb memory
# configuration. This is also used to indicate that the target is capable of
# setting EBI-1 to Deep Power Down or Self Refresh.
op=`cat $mem/low_power_memory_start_bytes`
case "$op" in
"0")
log -p i -t DMM Self-Refresh-Only Disabled. low_power_memory_start_bytes not set:$op
;;
"$mem/low_power_memory_start_bytes No such file or directory ")
log -p i -t DMM Self-Refresh-Only Disabled. low_power_memory_start_bytes does not exist:$op
;;
*)
log -p i -t DMM Self-Refresh-Only available. low_power_memory_start_bytes at $op
;;
esac
}
#
# For controlling console and shell on console on 8960 - perist.serial.enable 8960
# On other target use default ro.debuggable property.
#
serial=`getprop persist.serial.enable`
dserial=`getprop ro.debuggable`
case "$target" in
"msm8960")
case "$serial" in
"0")
echo 0 > /sys/devices/platform/msm_serial_hsl.0/console
;;
"1")
echo 1 > /sys/devices/platform/msm_serial_hsl.0/console
start console
;;
*)
case "$dserial" in
"1")
start console
;;
esac
;;
esac
;;
"msm8610" | "msm8974" | "msm8226")
case "$serial" in
"0")
echo 0 > /sys/devices/f991f000.serial/console
;;
"1")
echo 1 > /sys/devices/f991f000.serial/console
start console
;;
*)
case "$dserial" in
"1")
start console
;;
esac
;;
esac
;;
*)
case "$dserial" in
"1")
start console
;;
esac
;;
esac
case "$target" in
"msm7630_surf" | "msm7630_1x" | "msm7630_fusion")
insmod /system/lib/modules/ss_mfcinit.ko
insmod /system/lib/modules/ss_vencoder.ko
insmod /system/lib/modules/ss_vdecoder.ko
chmod -h 0666 /dev/ss_mfc_reg
chmod -h 0666 /dev/ss_vdec
chmod -h 0666 /dev/ss_venc
init_DMM
;;
"msm8960")
init_DMM
;;
esac

View File

@@ -0,0 +1,115 @@
#! /vendor/bin/sh
# Copyright (c) 2009-2010, 2012, 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:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
LOG_TAG="qcom-bt-wlan-coex"
LOG_NAME="${0}:"
coex_pid=""
ath_wlan_supported=`getprop wlan.driver.ath`
loge ()
{
/system/bin/log -t $LOG_TAG -p e "$LOG_NAME $@"
}
logi ()
{
/system/bin/log -t $LOG_TAG -p i "$LOG_NAME $@"
}
failed ()
{
loge "$1: exit code $2"
exit $2
}
start_coex ()
{
case "$ath_wlan_supported" in
"2")
echo "ATH WLAN Chip ID AR6004 is enabled"
/system/bin/abtfilt -d -z -n -m -a -w wlan0 &
;;
"1")
echo "ATH WLAN Chip ID is enabled"
# Must have -d -z -n -v -s -w wlan0 parameters for atheros btfilter.
/system/bin/abtfilt -d -z -n -v -q -s -w wlan0 &
;;
"0")
echo "WCN WLAN Chip ID is enabled"
# Must have -o turned on to avoid daemon (otherwise we cannot get pid)
/system/bin/btwlancoex -o $opt_flags &
;;
*)
echo "NO WLAN Chip ID is enabled, so enabling ATH as default"
# Must have -d -z -n -v -s -w wlan0 parameters for atheros btfilter.
/system/bin/abtfilt -d -z -n -v -q -s -w wlan0 &
;;
esac
coex_pid=$!
logi "start_coex: pid = $coex_pid"
}
kill_coex ()
{
logi "kill_coex: pid = $coex_pid"
kill -TERM $coex_pid
# this shell doesn't exit now -- wait returns for normal exit
}
# mimic coex options parsing -- maybe a waste of effort
USAGE="${0} [-o] [-c] [-r] [-i] [-h]"
while getopts "ocrih" f
do
case $f in
o | c | r | i | h) opt_flags="$opt_flags -$f" ;;
\?) echo $USAGE; exit 1;;
esac
done
# init does SIGTERM on ctl.stop for service
trap "kill_coex" TERM INT
#Selectively start coex module
target=`getprop ro.board.platform`
if [ "$target" == "msm8960" ] && [ "$ath_wlan_supported" != "2" ]; then
logi "btwlancoex/abtfilt is not needed"
else
# Build settings may not produce the coex executable
if ls /system/bin/btwlancoex || ls /system/bin/abtfilt
then
start_coex
wait $coex_pid
logi "Coex stopped"
else
logi "btwlancoex/abtfilt not available"
fi
fi
exit 0

View File

@@ -0,0 +1,35 @@
#! /vendor/bin/sh
# Copyright (c) 2012, 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:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided
# with the distribution.
# * Neither the name of The Linux Foundation nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
#
PATH=/system/bin:$PATH
export PATH
cat /sys/devices/platform/rs300000a7.65536/force_sync
cat /sys/devices/platform/rs300100a7.65536/force_sync

3
rootdir/bin/init.qcom.post_boot.sh Executable file → Normal file
View File

@@ -4660,6 +4660,8 @@ case "$target" in
echo N > /sys/module/lpm_levels/parameters/sleep_disabled echo N > /sys/module/lpm_levels/parameters/sleep_disabled
fi fi
echo N > /sys/module/lpm_levels/parameters/sleep_disabled echo N > /sys/module/lpm_levels/parameters/sleep_disabled
# Starting io prefetcher service
start iop
# Set Memory parameters # Set Memory parameters
configure_memory_parameters configure_memory_parameters
@@ -5422,6 +5424,7 @@ case "$target" in
echo 5 > /proc/sys/kernel/sched_spill_nr_run echo 5 > /proc/sys/kernel/sched_spill_nr_run
echo 1 > /proc/sys/kernel/sched_restrict_cluster_spill echo 1 > /proc/sys/kernel/sched_restrict_cluster_spill
echo 1 > /proc/sys/kernel/sched_prefer_sync_wakee_to_waker echo 1 > /proc/sys/kernel/sched_prefer_sync_wakee_to_waker
start iop
# disable thermal bcl hotplug to switch governor # disable thermal bcl hotplug to switch governor
echo 0 > /sys/module/msm_thermal/core_control/enabled echo 0 > /sys/module/msm_thermal/core_control/enabled

View File

@@ -0,0 +1,78 @@
#! /vendor/bin/sh
# Copyright (c) 2010, 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:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided
# with the distribution.
# * Neither the name of The Linux Foundation nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# For successful WLAN card detection, WLAN needs SDIO polling turned on.
# This script can be used to turn on/off SDIO polling on appropriate
# SDIO slot on the MSM target (e.g. slot 3 on 7x30 surf).
arg=$1
target=`getprop ro.board.platform`
case "$target" in
"msm7627_6x")
echo 1 > /sys/devices/platform/msm_sdcc.1/polling
echo 1 > /sys/devices/platform/msm_sdcc.2/polling
;;
"msm7627_ffa")
echo 1 > /sys/devices/platform/msm_sdcc.2/polling
;;
"msm7627_surf")
echo 1 > /sys/devices/platform/msm_sdcc.1/polling
echo 1 > /sys/devices/platform/msm_sdcc.2/polling
;;
"msm7627a")
echo 1 > /sys/devices/platform/msm_sdcc.2/polling
;;
"msm7630_surf")
echo 1 > /sys/devices/platform/msm_sdcc.3/polling
;;
"msm7630_1x")
echo 1 > /sys/devices/platform/msm_sdcc.3/polling
;;
"msm7630_fusion")
echo 1 > /sys/devices/platform/msm_sdcc.3/polling
;;
"msm8660")
echo 1 > /sys/devices/platform/msm_sdcc.4/polling
;;
"msm8660_csfb")
echo 1 > /sys/devices/platform/msm_sdcc.4/polling
;;
esac
exit 0

View File

@@ -0,0 +1,33 @@
#!/vendor/bin/sh
# Copyright (c) 2020 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:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
#
# Function to start sensors for SSC enabled platforms
#
cp /vendor/etc/sensors/scripts/* /data/vendor/sensors/scripts/
chmod a+rw /data/vendor/sensors/scripts/*

View File

@@ -0,0 +1,200 @@
#!/vendor/bin/sh
# Copyright (c) 2012-2018, 2020-2021 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:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided
# with the distribution.
# * Neither the name of The Linux Foundation nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# Changes from Qualcomm Innovation Center are provided under the following license:
# Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
# SPDX-License-Identifier: BSD-3-Clause-Clear
#
# Set platform variables
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
#
# Note: currently only a single MDM/SDX is supported
#
esoc_name=`cat /sys/bus/esoc/devices/esoc0/esoc_name 2> /dev/null`
target=`getprop ro.board.platform`
#
# Override USB default composition
#
if [ "$(getprop ro.build.type)" != "user" ]; then
# If USB persist config not set, set default configuration
if [ "$(getprop persist.vendor.usb.config)" == "" ]; then
if [ "$esoc_name" != "" ]; then
setprop persist.vendor.usb.config diag,diag_mdm,qdss,qdss_mdm,serial_cdev,dpl,rmnet,adb
else
case "$(getprop ro.baseband)" in
"apq")
setprop persist.vendor.usb.config diag,adb
;;
*)
case "$soc_hwplatform" in
"Dragon" | "SBC")
setprop persist.vendor.usb.config diag,adb
;;
*)
case "$soc_machine" in
"SA")
setprop persist.vendor.usb.config diag,adb
;;
*)
case "$target" in
"msm8996")
setprop persist.vendor.usb.config diag,serial_cdev,serial_tty,rmnet_ipa,mass_storage,adb
;;
"msm8909")
setprop persist.vendor.usb.config diag,serial_smd,rmnet_qti_bam,adb
;;
"msm8937")
if [ -d /config/usb_gadget ]; then
setprop persist.vendor.usb.config diag,serial_cdev,rmnet,dpl,adb
else
case "$soc_id" in
"313" | "320")
setprop persist.vendor.usb.config diag,serial_smd,rmnet_ipa,adb
;;
*)
setprop persist.vendor.usb.config diag,serial_smd,rmnet_qti_bam,adb
;;
esac
fi
;;
"msm8953")
if [ -d /config/usb_gadget ]; then
setprop persist.vendor.usb.config diag,serial_cdev,rmnet,dpl,adb
else
setprop persist.vendor.usb.config diag,serial_smd,rmnet_ipa,adb
fi
;;
"msm8998" | "sdm660" | "apq8098_latv")
setprop persist.vendor.usb.config diag,serial_cdev,rmnet,adb
;;
"sdm845" | "sdm710")
setprop persist.vendor.usb.config diag,serial_cdev,rmnet,dpl,adb
;;
"msmnile" | "sm6150" | "trinket" | "lito" | "atoll" | "bengal" | "lahaina" | "holi" | \
"taro" | "kalama" | "pineapple" | "blair")
setprop persist.vendor.usb.config diag,adb
# setprop persist.vendor.usb.config diag,serial_cdev,rmnet,dpl,qdss,adb
;;
"gen4")
setprop persist.vendor.usb.config adb
;;
*)
setprop persist.vendor.usb.config diag,adb
;;
esac
;;
esac
;;
esac
;;
esac
fi
fi
else # for user build let persist.sys.usb.config dictate the default composition
setprop persist.vendor.usb.config ""
fi
# This check is needed for GKI 1.0 targets where QDSS is not available
if [ "$(getprop persist.vendor.usb.config)" == "diag,serial_cdev,rmnet,dpl,qdss,adb" -a \
! -d /config/usb_gadget/g1/functions/qdss.qdss ]; then
setprop persist.vendor.usb.config diag,serial_cdev,rmnet,dpl,adb
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
# check configfs is mounted or not
if [ -d /config/usb_gadget ]; then
machine_type=`cat /sys/devices/soc0/machine`
# Chip ID & serial are used for unique MSM identification in Product String
# If not present, then omit them instead of using 0x00000000
msm_chipid=`cat /sys/devices/soc0/nproduct_id`;
if [ "$msm_chipid" != "" ]; then
msm_chipid_hex=`printf _CID:%04X $msm_chipid`
fi
msm_serial=`cat /sys/devices/soc0/serial_number`;
if [ "$msm_serial" != "" ]; then
msm_serial_hex=`printf _SN:%08X $msm_serial`
fi
setprop vendor.usb.product_string "$machine_type-$soc_hwplatform$msm_chipid_hex$msm_serial_hex"
# ADB requires valid iSerialNumber; if ro.serialno is missing, use dummy
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
#
# Initialize RNDIS Diag option. If unset, set it to 'none'.
#
diag_extra=`getprop persist.vendor.usb.config.extra`
if [ "$diag_extra" == "" ]; then
setprop persist.vendor.usb.config.extra none
fi
# enable rps cpus on msm8937 target
setprop vendor.usb.rps_mask 0
case "$soc_id" in
"294" | "295" | "353" | "354")
setprop vendor.usb.rps_mask 40
;;
esac
#
# Initialize UVC conifguration.
#
if [ -d /config/usb_gadget/g1/functions/uvc.0 ]; then
setprop vendor.usb.uvc.function.init 1
fi

View File

@@ -0,0 +1,31 @@
#=============================================================================
# Copyright (c) 2020-2023 Qualcomm Technologies, Inc.
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc.
#
# Copyright (c) 2014-2017, 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:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,47 @@
#=============================================================================
# Copyright (c) 2020-2023 Qualcomm Technologies, Inc.
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc.
#
# Copyright (c) 2014-2017, 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:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
if [ -f /sys/devices/soc0/soc_id ]; then
platformid=`cat /sys/devices/soc0/soc_id`
fi
case "$platformid" in
"557"|"577")
/vendor/bin/sh /vendor/bin/init.qti.kernel.debug-pineapple.sh
;;
"614"|"632")
/vendor/bin/sh /vendor/bin/init.qti.kernel.debug-cliffs.sh
;;
*)
echo "***WARNING***: Invalid chip family\n\t skipping debug script!!\n"
;;
esac

View File

@@ -0,0 +1,206 @@
#=============================================================================
# Copyright (c) 2022-2023 Qualcomm Technologies, Inc.
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc.
#
# Copyright (c) 2014-2017, 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:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
enable_sched_events()
{
local instance=/sys/kernel/tracing
echo > $instance/trace
echo > $instance/set_event
# timer
echo 1 > $instance/events/timer/timer_expire_entry/enable
echo 1 > $instance/events/timer/timer_expire_exit/enable
echo 1 > $instance/events/timer/hrtimer_cancel/enable
echo 1 > $instance/events/timer/hrtimer_expire_entry/enable
echo 1 > $instance/events/timer/hrtimer_expire_exit/enable
echo 1 > $instance/events/timer/hrtimer_init/enable
echo 1 > $instance/events/timer/hrtimer_start/enable
#enble FTRACE for softirq events
echo 1 > $instance/events/irq/enable
#enble FTRACE for Workqueue events
echo 1 > $instance/events/workqueue/enable
# sched
#echo 1 > $instance/events/sched/sched_cpu_hotplug/enable
echo 1 > $instance/events/sched/sched_migrate_task/enable
echo 1 > $instance/events/sched/sched_pi_setprio/enable
echo 1 > $instance/events/sched/sched_switch/enable
echo 1 > $instance/events/sched/sched_wakeup/enable
echo 1 > $instance/events/sched/sched_wakeup_new/enable
echo 1 > $instance/events/schedwalt/halt_cpus/enable
echo 1 > $instance/events/schedwalt/halt_cpus_start/enable
# hot-plug
echo 1 > $instance/events/cpuhp/enable
echo 1 > $instance/events/power/cpu_frequency/enable
echo 1 > $instance/tracing_on
}
enable_rproc_events()
{
local instance=/sys/kernel/tracing/instances/rproc_qcom
mkdir $instance
echo > $instance/trace
echo > $instance/set_event
# enable rproc events as soon as available
/vendor/bin/init.qti.write.sh $instance/events/rproc_qcom/enable 1
echo 1 > $instance/tracing_on
}
# Suspend events are also noisy when going into suspend/resume
enable_suspend_events()
{
local instance=/sys/kernel/tracing/instances/suspend
mkdir $instance
echo > $instance/trace
echo > $instance/set_event
echo 1 > $instance/events/power/suspend_resume/enable
echo 1 > $instance/events/power/device_pm_callback_start/enable
echo 1 > $instance/events/power/device_pm_callback_end/enable
echo 1 > $instance/tracing_on
}
enable_clock_reg_events()
{
local instance=/sys/kernel/tracing/instances/clock_reg
mkdir $instance
echo > $instance/trace
echo > $instance/set_event
# clock
echo 1 > $instance/events/clk/enable
echo 1 > $instance/events/clk_qcom/enable
# interconnect
echo 1 > $instance/events/interconnect/enable
# regulator
echo 1 > $instance/events/regulator/enable
# rpmh
echo 1 > $instance/events/rpmh/enable
echo 1 > $instance/tracing_on
}
enable_memory_events()
{
local instance=/sys/kernel/tracing/instances/memory
mkdir $instance
echo > $instance/trace
echo > $instance/set_event
#memory pressure events/oom
#echo 1 > $instance/events/psi/psi_event/enable
#echo 1 > $instance/events/psi/psi_window_vmstat/enable
echo 1 > $instance/events/arm_smmu/enable
echo 1 > $instance/tracing_on
}
# binder tracing can be noisy
enable_binder_events()
{
local instance=/sys/kernel/tracing/instances/binder
mkdir $instance
echo > $instance/trace
echo > $instance/set_event
echo 1 > $instance/events/binder/enable
echo 1 > $instance/tracing_on
}
enable_rwmmio_events()
{
if [ ! -d /sys/kernel/tracing/events/rwmmio ]
then
return
fi
local instance=/sys/kernel/tracing/instances/rwmmio
mkdir $instance
echo > $instance/trace
echo > $instance/set_event
echo 1 > $instance/events/rwmmio/rwmmio_read/enable
echo 1 > $instance/events/rwmmio/rwmmio_write/enable
echo 1 > $instance/tracing_on
}
find_build_type()
{
linux_banner=`cat /proc/version`
if [[ "$linux_banner" == *"-consolidate"* ]]
then
debug_build=true
fi
}
debug_build=false
enable_tracing_events()
{
# bail out if its perf config
find_build_type
if [ "$debug_build" = false ]
then
return
fi
# bail out if ftrace events aren't present
if [ ! -d /sys/kernel/tracing/events ] ; then
return
fi
enable_sched_events
enable_rproc_events
enable_suspend_events
enable_binder_events
enable_clock_reg_events
enable_memory_events
enable_rwmmio_events
}
enable_tracing_events

View File

@@ -0,0 +1,45 @@
#=============================================================================
# Copyright (c) 2022-2023 Qualcomm Technologies, Inc.
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc.
#
# Copyright (c) 2014-2017, 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:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
if [ -f /sys/devices/soc0/soc_id ]; then
platformid=`cat /sys/devices/soc0/soc_id`
fi
case "$platformid" in
"557"|"577"|"614"|"632")
/vendor/bin/sh /vendor/bin/init.qti.kernel.early_debug-pineapple.sh
;;
*)
echo "***WARNING***: Invalid SoC ID\n\t Not running early debug scripts!!\n"
;;
esac

View File

@@ -0,0 +1,40 @@
#! /vendor/bin/sh
#=============================================================================
# Copyright (c) 2019-2020 Qualcomm Technologies, Inc.
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc.
#
# Copyright (c) 2009-2012, 2014-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:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
start_msm_irqbalance()
{
if [ -f /vendor/bin/msm_irqbalance ]; then
start vendor.msm_irqbalance
fi
}
start_msm_irqbalance

View File

@@ -0,0 +1,42 @@
#! /vendor/bin/sh
#=============================================================================
# Copyright (c) 2022 Qualcomm Technologies, Inc.
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc.
#=============================================================================
SYSTEM_DLKM_DIR="/system_dlkm/lib/modules"
VENDOR_DLKM_DIR="/vendor_dlkm/lib/modules"
MODPROBE="/vendor/bin/modprobe"
for dir in ${SYSTEM_DLKM_DIR} ;
do
if [ ! -e ${dir}/*/modules.load ]; then
continue
fi
if [ -e ${VENDOR_DLKM_DIR}/system_dlkm.modules.blocklist ] && grep -q blocklist ${VENDOR_DLKM_DIR}/system_dlkm.modules.blocklist; then
blocklist_expr="$(sed -n -e 's/blocklist \(.*\)/\1/p' ${VENDOR_DLKM_DIR}/system_dlkm.modules.blocklist | sed -e 's/-/_/g' -e 's/^/-e /')"
else
# Use pattern that won't be found in modules list so that all modules pass through grep below
blocklist_expr="-e %"
fi
# Filter out modules in blocklist - we would see unnecessary errors otherwise
load_modules=$(cat ${dir}/*/modules.load | grep -w -v ${blocklist_expr})
first_module=$(echo ${load_modules} | cut -d " " -f1)
other_modules=$(echo ${load_modules} | cut -d " " -f2-)
if ! ${MODPROBE} -b -s -d ${dir}/*/ -a ${first_module} > /dev/null ; then
continue
fi
# load modules individually in case one of them fails to init
for module in ${other_modules}; do
( ${MODPROBE} -b -s -d ${dir}/*/ -a ${module} > /dev/null ) &
done
wait
setprop odm.system.all.modules.ready 1
exit 0
done
exit 1

View File

@@ -0,0 +1,61 @@
#! /vendor/bin/sh
#=============================================================================
# Copyright (c) 2019-2022 Qualcomm Technologies, Inc.
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc.
#=============================================================================
VENDOR_DIR="/vendor/lib/modules"
VENDOR_DLKM_DIR="/vendor_dlkm/lib/modules"
MODPROBE="/vendor/bin/modprobe"
# vendor modules partition could be /vendor/lib/modules or /vendor_dlkm/lib/modules
POSSIBLE_DIRS="${VENDOR_DLKM_DIR} ${VENDOR_DIR}"
audio_arch=`getprop ro.boot.audio`
for dir in ${POSSIBLE_DIRS} ;
do
if [ ! -e ${dir}/modules.load ]; then
continue
fi
if [ "$audio_arch" == "audioreach" ]; then
if [ -e ${dir}/modules.audio.ar.blocklist ]; then
audio_blocklist_expr="$(sed -n -e 's/blocklist \(.*\)/\1/p' ${dir}/modules.audio.ar.blocklist | sed -e 's/-/_/g' -e 's/^/-e /')"
else
audio_blocklist_expr="-e %"
fi
else
if [ -e ${dir}/modules.audio.legacy.blocklist ]; then
audio_blocklist_expr="$(sed -n -e 's/blocklist \(.*\)/\1/p' ${dir}/modules.audio.legacy.blocklist | sed -e 's/-/_/g' -e 's/^/-e /')"
else
audio_blocklist_expr="-e %"
fi
fi
if [ -e ${dir}/modules.blocklist ]; then
blocklist_expr="$(sed -n -e 's/blocklist \(.*\)/\1/p' ${dir}/modules.blocklist | sed -e 's/-/_/g' -e 's/^/-e /')"
else
# Use pattern that won't be found in modules list so that all modules pass through grep below
blocklist_expr="-e %"
fi
# Filter out modules in blocklist - we would see unnecessary errors otherwise
load_modules=$(sed = ${dir}/modules.load | sed 'N;s/\n/\t/' | sort -uk2 | sort -nk1 | cut -f2- | grep -w -v ${blocklist_expr} | grep -w -v ${audio_blocklist_expr})
first_module=$(echo ${load_modules} | cut -d " " -f1)
other_modules=$(echo ${load_modules} | cut -d " " -f2-)
if ! ${MODPROBE} -b -s -d ${dir} -a ${first_module} > /dev/null ; then
continue
fi
# load modules individually in case one of them fails to init
for module in ${other_modules}; do
( ${MODPROBE} -b -d ${dir} -a ${module} > /dev/null ) &
done
wait
setprop vendor.all.modules.ready 1
exit 0
done
exit 1

View File

@@ -0,0 +1,386 @@
#
# Copyright (c) 2009-2016, 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:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# Define fastmmi
service fastmmi /system_ext/bin/mmi
user root
group root
disabled
service vendor.mmid /vendor/bin/mmid
user root
group root
disabled
service mmi_diag /system_ext/bin/mmi_diag
class main
user root
group root oem_2901
disabled
on property:vendor.sys.boot_mode=ffbm && property:ro.build.type=userdebug
write ${persist.vendor.mmi.misc_dev_path} "ffbm-01"
on property:vendor.sys.boot_mode=ffbm && property:ro.build.type=eng
write ${persist.vendor.mmi.misc_dev_path} "ffbm-01"
on property:vendor.sys.boot_mode=qmmi && property:ro.build.type=userdebug
write ${persist.vendor.mmi.misc_dev_path} "qmmi"
on property:vendor.sys.boot_mode=qmmi && property:ro.build.type=eng
write ${persist.vendor.mmi.misc_dev_path} "qmmi"
on property:vendor.sys.boot_mode=normal && property:ro.build.type=userdebug
write ${persist.vendor.mmi.misc_dev_path} "normal"
on property:vendor.sys.boot_mode=normal && property:ro.build.type=eng
write ${persist.vendor.mmi.misc_dev_path} "normal"
# Creating a scratch storage on /data for factory testing.
on factory-fs && property:ro.bootmode=ffbm-00 && property:ro.build.type=userdebug
mount tmpfs tmpfs /data
on factory-fs && property:ro.bootmode=ffbm-00 && property:ro.build.type=eng
mount tmpfs tmpfs /data
on factory-fs && property:ro.bootmode=ffbm-01 && property:ro.build.type=userdebug
mount tmpfs tmpfs /data
on factory-fs && property:ro.bootmode=ffbm-01 && property:ro.build.type=eng
mount tmpfs tmpfs /data
# aligned the usb port with system standard, otherwise if only diag be added
# Then in QMMI mode, the whole Andoid be booted, but due to the ro.bootmode is
# not normal/unknow, then when it apply the default funcs, it will turn to MTP
# which cause the diag/Wwan/modem port all be lost in qmmi mode. Details:
# UsbDeviceManager.java---->getDefaultFunctions and trySetEnabledFunctions
on property:persist.vendor.usb.config=*
setprop persist.sys.usb.qmmi.func ${persist.vendor.usb.config}
on mmi && property:ro.bootmode=ffbm-00
# ========================================================
# This is FFBM only settings.
# ========================================================
#mkdir for factory data files.
mkdir /mnt/vendor/persist/FTM_AP 0750 system system
start fastmmi
# start qcom-post-boot to set the misc partition path property value
start qcom-post-boot
start mmi_diag
on mmi && property:ro.bootmode=ffbm-01
# ========================================================
# This is FFBM only settings.
# ========================================================
#mkdir for factory data files.
mkdir /mnt/vendor/persist/FTM_AP 0750 system system
start fastmmi
## start qcom-post-boot to set the misc partition path property value
start qcom-post-boot
start mmi_diag
on property:persist.vendor.usb.config=* && property:ro.bootmode=ffbm-00 && property:ro.build.type=userdebug
setprop sys.usb.config ${persist.vendor.usb.config}
on property:persist.vendor.usb.config=* && property:ro.bootmode=ffbm-00 && property:ro.build.type=eng
setprop sys.usb.config ${persist.vendor.usb.config}
on property:persist.vendor.usb.config=* && property:ro.bootmode=ffbm-01 && property:ro.build.type=userdebug
setprop sys.usb.config ${persist.vendor.usb.config}
on property:persist.vendor.usb.config=* && property:ro.bootmode=ffbm-01 && property:ro.build.type=eng
setprop sys.usb.config ${persist.vendor.usb.config}
on property:persist.vendor.usb.config=* && property:ro.bootmode=ffbm-02 && property:ro.build.type=userdebug
setprop sys.usb.config ${persist.vendor.usb.config}
on property:persist.vendor.usb.config=* && property:ro.bootmode=ffbm-02 && property:ro.build.type=eng
setprop sys.usb.config ${persist.vendor.usb.config}
on property:persist.vendor.usb.config=* && property:ro.bootmode=qmmi && property:ro.build.type=userdebug
setprop sys.usb.config ${persist.vendor.usb.config}
on property:persist.vendor.usb.config=* && property:ro.bootmode=qmmi && property:ro.build.type=eng
setprop sys.usb.config ${persist.vendor.usb.config}
on ffbm
trigger early-fs
trigger factory-fs
trigger fs
trigger post-fs
# Mount fstab in init.{$device}.rc by mount_all with '--late' parameter
# to only mount entries with 'latemount'. This is needed if '--early' is
# specified in the previous mount_all command on the fs stage.
# With /system mounted and properties form /system + /factory available,
# some services can be started.
trigger late-fs
# Now we can mount /data. File encryption requires keymaster to decrypt
# /data, which in turn can only be loaded when system properties are present.
trigger post-fs-data
# Now we can start zygote for devices with file based encryption
trigger zygote-start
# Load persist properties and override properties (if enabled) from /data.
trigger load_persist_props_action
# Remove a file to wake up anything waiting for firmware.
trigger firmware_mounts_complete
trigger early-boot
trigger boot
trigger mmi
# ========================================================
# Start for audio TC
# ========================================================
service vendor.audio_tc53 /vendor/bin/mm-audio-ftm -tc 53
user audio
group audio
disabled
oneshot
service vendor.audio_tc1 /vendor/bin/mm-audio-ftm -tc 1
user audio
group audio
disabled
oneshot
service vendor.audio_tc2 /vendor/bin/mm-audio-ftm -tc 2
user audio
group audio
disabled
oneshot
service vendor.audio_tc3 /vendor/bin/mm-audio-ftm -tc 3
user audio
group audio
disabled
oneshot
service vendor.audio_tc4 /vendor/bin/mm-audio-ftm -tc 4
user audio
group audio
disabled
oneshot
service vendor.audio_tc5 /vendor/bin/mm-audio-ftm -tc 5
user audio
group audio
disabled
oneshot
service vendor.audio_tc51 /vendor/bin/mm-audio-ftm -tc 51
user audio
group audio
disabled
oneshot
service vendor.audio_tc56 /vendor/bin/mm-audio-ftm -tc 56
user audio
group audio
disabled
oneshot
service vendor.audio_tc222 /vendor/bin/mm-audio-ftm -tc 222
user audio
group audio
disabled
oneshot
service vendor.audio_tc225 /vendor/bin/mm-audio-ftm -tc 225
user audio
group audio
disabled
oneshot
service vendor.audio_tc228 /vendor/bin/mm-audio-ftm -tc 228
user audio
group audio
disabled
oneshot
service vendor.audio_tc229 /vendor/bin/mm-audio-ftm -tc 229
user audio
group audio
disabled
oneshot
service vendor.audio_tc230 /vendor/bin/mm-audio-ftm -tc 230
user audio
group audio
disabled
oneshot
service vendor.audio_tc246 /vendor/bin/mm-audio-ftm -tc 246
user audio
group audio
disabled
oneshot
service vendor.audio_tc247 /vendor/bin/mm-audio-ftm -tc 247
user audio
group audio
disabled
oneshot
service vendor.audio_tc250 /vendor/bin/mm-audio-ftm -tc 250
user audio
group audio
disabled
oneshot
service vendor.audio_tc251 /vendor/bin/mm-audio-ftm -tc 251
user audio
group audio
disabled
oneshot
service vendor.audio_tc252 /vendor/bin/mm-audio-ftm -tc 252
user audio
group audio
disabled
oneshot
service vendor.audio_tc253 /vendor/bin/mm-audio-ftm -tc 253
user audio
group audio
disabled
oneshot
service vendor.audio_tc333 /vendor/bin/mm-audio-ftm -tc 333
user audio
group audio
disabled
oneshot
service vendor.audio_tc334 /vendor/bin/mm-audio-ftm -tc 334
user audio
group audio
disabled
oneshot
service vendor.audio_tc335 /vendor/bin/mm-audio-ftm -tc 335
user audio
group audio
disabled
oneshot
service vendor.audio_tc336 /vendor/bin/mm-audio-ftm -tc 336
user audio
group audio
disabled
oneshot
service vendor.audio_tc337 /vendor/bin/mm-audio-ftm -tc 337
user audio
group audio
disabled
oneshot
service vendor.audio_tc338 /vendor/bin/mm-audio-ftm -tc 338
user audio
group audio
disabled
oneshot
service vendor.audio_tc11 /vendor/bin/mm-audio-ftm -tc 11 -file /data/vendor/audio/ftm_headset_mic_record.wav
user audio
group audio
disabled
oneshot
service vendor.audio_tc16 /vendor/bin/mm-audio-ftm -tc 16 -file /data/vendor/audio/ftm_mic1_record.wav
user audio
group audio
disabled
oneshot
service vendor.audio_tc17 /vendor/bin/mm-audio-ftm -tc 17 -file /data/vendor/audio/ftm_mic2_record.wav
user audio
group audio
disabled
oneshot
service vendor.audio_tc18 /vendor/bin/mm-audio-ftm -tc 18 -file /data/vendor/audio/ftm_mic3_record.wav
user audio
group audio
disabled
oneshot
service vendor.audio_tc19 /vendor/bin/mm-audio-ftm -tc 19 -file /data/vendor/audio/ftm_mic4_record.wav
user audio
group audio
disabled
oneshot
service vendor.audio_tc20 /vendor/bin/mm-audio-ftm -tc 20 -file /data/vendor/audio/ftm_mic5_record.wav
user audio
group audio
disabled
oneshot
service vendor.audio_tc21 /vendor/bin/mm-audio-ftm -tc 21 -file /data/vendor/audio/ftm_mic6_record.wav
user audio
group audio
disabled
oneshot
service vendor.audio_tc101 /vendor/bin/mm-audio-ftm -tc 101 -file /data/vendor/audio/ftm_mic1_record.wav
user audio
group audio
disabled
oneshot
service vendor.audio_tc102 /vendor/bin/mm-audio-ftm -tc 102 -file /data/vendor/audio/ftm_mic2_record.wav
user audio
group audio
disabled
oneshot
service vendor.audio_tc103 /vendor/bin/mm-audio-ftm -tc 103 -file /data/vendor/audio/ftm_mic3_record.wav
user audio
group audio
disabled
oneshot
service vendor.audio_tc104 /vendor/bin/mm-audio-ftm -tc 104 -file /data/vendor/audio/ftm_mic4_record.wav
user audio
group audio
disabled
oneshot
# ========================================================
# End for audio TC
# ========================================================

View File

@@ -277,6 +277,12 @@ on post-fs-data
# Create directory used by display clients # Create directory used by display clients
mkdir /data/vendor/display 0770 system graphics mkdir /data/vendor/display 0770 system graphics
# Change lm related dirs
mkdir /data/vendor/lm 0700 root root
# Create directory used by powermodule
mkdir /data/vendor/pwr 0700 root root
# Create directory used by media clients # Create directory used by media clients
mkdir /data/vendor/media 0770 mediacodec media mkdir /data/vendor/media 0770 mediacodec media
@@ -377,10 +383,18 @@ on post-fs-data
mkdir /data/vendor/fm 0770 system system mkdir /data/vendor/fm 0770 system system
chmod 0770 /data/vendor/fm chmod 0770 /data/vendor/fm
#Create PERFD deamon related dirs
mkdir /data/vendor/perfd 0770 root system
chmod 2770 /data/vendor/perfd
rm /data/vendor/perfd/default_values
mkdir /data/vendor/secure_element 0777 system system mkdir /data/vendor/secure_element 0777 system system
mkdir /data/vendor/nfc 0770 nfc nfc mkdir /data/vendor/nfc 0770 nfc nfc
#Create IOP deamon related dirs
mkdir /data/vendor/iop 0700 root system
# Mark the copy complete flag to not completed # Mark the copy complete flag to not completed
write /data/vendor/radio/copy_complete 0 write /data/vendor/radio/copy_complete 0
chown radio radio /data/vendor/radio/copy_complete chown radio radio /data/vendor/radio/copy_complete
@@ -432,6 +446,25 @@ service nqnfcinfo /system/vendor/bin/nqnfcinfo
user system user system
oneshot oneshot
service iop /system/vendor/bin/iop
class main
user root
group root
disabled
socket iop seqpacket 0666 root system
service qcomsysd /system/vendor/bin/qcom-system-daemon
class main
user root
group root diag oem_2901
disabled
on property:persist.vendor.qcomsysd.enabled=1
enable qcomsysd
on property:persist.vendor.qcomsysd.enabled=0
stop qcomsysd
service vendor.ssr_setup /system/vendor/bin/ssr_setup service vendor.ssr_setup /system/vendor/bin/ssr_setup
oneshot oneshot
disabled disabled

2791
rootdir/etc/init.qcom.usb.rc Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,181 @@
#=============================================================================
# Copyright (c) 2019-2023 Qualcomm Technologies, Inc.
# All Rights Reserved.
# Confidential and Proprietary - Qualcomm Technologies, Inc.
#
# Copyright (c) 2009-2012, 2014-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:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
import /vendor/etc/init/hw/init.qti.kernel.test.rc
on early-init
# Set the console loglevel to < KERN_WARN
# Set the default message loglevel to KERN_INFO
write /proc/sys/kernel/printk "4 6 1 7"
exec_start gki.modprobe
# wait for system modules to be loaded first before loading vendor modules
wait_for_prop odm.system.all.modules.ready 1
start vendor.modprobe
# Mount tracefs in /sys/kernel/tracing as CONFIG_DEBUG_FS might be
# disabled and /sys/kernel/debug/tracing might not be available
mount tracefs tracefs /sys/kernel/tracing
chmod 0755 /sys/kernel/tracing
chown root system /dev/kmsg
chmod 0620 /dev/kmsg
write /proc/sys/kernel/sched_boost 1
write /proc/sys/kernel/firmware_config/force_sysfs_fallback 1
on post-fs
wait_for_prop vendor.all.modules.ready 1
# Create cgroup mount point for memory
mkdir /sys/fs/cgroup/memory/bg 0750 root system
write /sys/fs/cgroup/memory/bg/memory.swappiness 140
write /sys/fs/cgroup/memory/bg/memory.move_charge_at_immigrate 1
chown root system /sys/fs/cgroup/memory/bg/tasks
chmod 0660 /sys/fs/cgroup/memory/bg/tasks
# update scheduler tunables
write /dev/cpuctl/foreground/cpu.uclamp.sched_boost_no_override 1
write /dev/cpuctl/top-app/cpu.uclamp.sched_boost_no_override 1
write /dev/cpuctl/background/cpu.uclamp.colocate 0
write /dev/cpuctl/foreground/cpu.uclamp.colocate 0
write /dev/cpuctl/top-app/cpu.uclamp.colocate 1
# set aggressive read ahead for dm-0 and dm-1 during boot up
write /sys/block/dm-0/queue/read_ahead_kb 2048
write /sys/block/dm-1/queue/read_ahead_kb 2048
write /sys/block/dm-2/queue/read_ahead_kb 2048
on early-boot
# Allow subsystem (modem etc) debugging
exec_background u:r:vendor_qti_init_shell_bg:s0 -- /vendor/bin/init.qti.write.sh /sys/kernel/boot_adsp/boot 1
exec_background u:r:vendor_qti_init_shell_bg:s0 -- /vendor/bin/init.qti.write.sh /sys/kernel/boot_cdsp/boot 1
exec_background u:r:vendor_qti_init_shell_bg:s0 -- /vendor/bin/init.qti.write.sh /sys/devices/virtual/cvp/cvp/boot 1
on boot
# Allow access to dload sysfs node
chown root system /sys/kernel/dload/emmc_dload
chmod 0660 /sys/kernel/dload/emmc_dload
chown root system /dev/block/bootdevice/by-name/ramdump
chmod 0660 /dev/block/bootdevice/by-name/ramdump
chown root system /sys/kernel/dload/dload_mode
chmod 0660 /sys/kernel/dload/dload_mode
# set the io-scheduler to bfq on all eMMC and SD devices
write /sys/class/block/mmcblk0/queue/scheduler bfq
write /sys/class/block/mmcblk1/queue/scheduler bfq
# update io-scheduler tunables
write /sys/class/block/mmcblk0/queue/iosched/slice_idle 0
write /sys/class/block/mmcblk1/queue/iosched/slice_idle 0
# Allow access to memory hotplug device attributes
chown system system /sys/kernel/mem-offline/anon_migrate
on post-fs-data
# Create directory used for dump collection
mkdir /data/vendor/ssrdump 0770 root system
on property:persist.sys.ssr.enable_debug=*
write /sys/module/subsys_pil_tz/parameters/enable_debug ${persist.sys.ssr.enable_debug}
on property:persist.sys.mba_boot_timeout=*
write /sys/module/pil_msa/parameters/pbl_mba_boot_timeout_ms ${persist.sys.mba_boot_timeout}
on property:persist.sys.modem_auth_timeout=*
write /sys/module/pil_msa/parameters/modem_auth_timeout_ms ${persist.sys.modem_auth_timeout}
on property:persist.sys.pil_proxy_timeout=*
write /sys/module/peripheral_loader/parameters/proxy_timeout_ms ${persist.sys.pil_proxy_timeout}
on property:persist.vendor.ssr.enable_ramdumps=1
write /sys/module/subsystem_restart/parameters/enable_ramdumps 1
on property:persist.vendor.ssr.enable_ramdumps=0
write /sys/module/subsystem_restart/parameters/enable_ramdumps 0
on property:persist.vendor.sys.rawdump_copy=1
write /sys/kernel/dload/emmc_dload 1
on property:persist.vendor.sys.rawdump_copy=0
write /sys/kernel/dload/emmc_dload 0
service kernel-boot /vendor/bin/sh /vendor/bin/init.qti.kernel.sh
class core
user root
group root
disabled
oneshot
service kernel-post-boot /vendor/bin/sh /vendor/bin/init.kernel.post_boot.sh
class core
user root
group root system wakelock graphics
disabled
oneshot
on property:sys.boot_completed=1
write /dev/kmsg "Boot completed "
#Reset read ahead for dm-0, dm-1 and dm-2 to 512kb
write /sys/block/dm-0/queue/read_ahead_kb 512
write /sys/block/dm-1/queue/read_ahead_kb 512
write /sys/block/dm-2/queue/read_ahead_kb 512
write /proc/sys/vm/page-cluster 0
start kernel-boot
start kernel-post-boot
on charger
start kernel-post-boot
service vendor.msm_irqbalance /vendor/bin/msm_irqbalance -f /system/vendor/etc/msm_irqbalance.conf
class core
user root
group root
disabled
service gki.modprobe /vendor/bin/system_dlkm_modprobe.sh
class main
user root
group root system
disabled
stdio_to_kmsg
seclabel u:r:vendor_modprobe:s0
oneshot
service vendor.modprobe /vendor/bin/vendor_modprobe.sh
class main
user root
group root system
disabled
stdio_to_kmsg
seclabel u:r:vendor_modprobe:s0
oneshot

View File

@@ -0,0 +1,52 @@
# Copyright (c) 2019-2024, 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:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided
# with the distribution.
# * Neither the name of The Linux Foundation nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
#
on early-init
on init
on late-init
on post-fs
on late-fs
on post-fs-data
on boot
on shutdown
# service definition
# on property triggers
on early-boot && property:ro.binary.type=factory
umount /product/vm-system

View File

@@ -114,6 +114,3 @@ service factory_ssc /vendor/bin/factory.ssc
on property:sys.boot_completed=1 on property:sys.boot_completed=1
setprop ro.factory.sensor.delay.init 1 setprop ro.factory.sensor.delay.init 1
# Enable PowerHAL hint processing
setprop vendor.powerhal.init 1

View File

@@ -143,6 +143,8 @@ on post-fs && property:ro.boot.factory.interposer=0
start vendor.qvirtservice start vendor.qvirtservice
on late-fs on late-fs
wait_for_prop hwservicemanager.ready true
#exec_start wait_for_keymaster
mount_all /vendor/etc/fstab.qcom --late mount_all /vendor/etc/fstab.qcom --late
on post-fs-data on post-fs-data
@@ -271,16 +273,3 @@ service fan_control_turn_off /vendor/bin/fan_service 0
user root user root
disabled disabled
oneshot oneshot
service vendor.audio-hal /vendor/bin/hw/android.hardware.audio.service
override
class hal
user audioserver
# media gid needed for /dev/fm (radio) and for /data/misc/media (tee)
group audio camera drmrpc inet media mediadrm net_bt net_bt_admin net_bw_acct oem_2901 wakelock oem_2912
capabilities BLOCK_SUSPEND SYS_NICE
# setting RLIMIT_RTPRIO allows binder RT priority inheritance
rlimit rtprio 10 10
ioprio rt 4
task_profiles ProcessCapacityHigh HighPerformance
onrestart restart audioserver