Merge branch 'havoc-eleven' into lineage-18.1
This commit is contained in:
commit
b7c4d2e20a
22 changed files with 614 additions and 517 deletions
|
@ -42,7 +42,7 @@ TARGET_NO_BOOTLOADER := true
|
|||
|
||||
# Kernel
|
||||
BOARD_KERNEL_BASE := 0x80000000
|
||||
BOARD_KERNEL_CMDLINE := androidboot.hardware=qcom msm_rtb.filter=0x237 ehci-hcd.park=3 androidboot.bootdevice=7464900.sdhci lpm_levels.sleep_disabled=1 rcupdate.rcu_expedited=1 cma=32M@0-0xffffffff
|
||||
BOARD_KERNEL_CMDLINE := androidboot.hardware=qcom msm_rtb.filter=0x237 ehci-hcd.park=3 androidboot.bootdevice=7464900.sdhci lpm_levels.sleep_disabled=1 rcupdate.rcu_expedited=1 cma=32M@0-0xffffffff loop.max_part=7
|
||||
BOARD_KERNEL_CMDLINE += androidboot.selinux=permissive
|
||||
BOARD_KERNEL_IMAGE_NAME := Image.gz-dtb
|
||||
BOARD_KERNEL_PAGESIZE := 4096
|
||||
|
@ -50,8 +50,11 @@ BOARD_MKBOOTIMG_ARGS := --ramdisk_offset 0x02200000 --tags_offset 0x02000000
|
|||
BOARD_CUSTOM_BOOTIMG := true
|
||||
BOARD_CUSTOM_BOOTIMG_MK := hardware/samsung/mkbootimg.mk
|
||||
TARGET_KERNEL_ARCH := arm64
|
||||
TARGET_KERNEL_VERSION := 3.18
|
||||
TARGET_KERNEL_SOURCE := kernel/samsung/msm8996
|
||||
TARGET_COMPILE_WITH_MSM_KERNEL := true
|
||||
TARGET_KERNEL_ADDITIONAL_FLAGS := \
|
||||
HOSTCFLAGS="-fuse-ld=lld -Wno-unused-command-line-argument"
|
||||
|
||||
# Platform
|
||||
TARGET_BOARD_PLATFORM := msm8996
|
||||
|
@ -85,8 +88,11 @@ USE_DEVICE_SPECIFIC_CAMERA := true
|
|||
BOARD_CHARGER_ENABLE_SUSPEND := true
|
||||
|
||||
# Display
|
||||
NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
|
||||
MAX_VIRTUAL_DISPLAY_DIMENSION := 4096
|
||||
TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS := true
|
||||
TARGET_HAS_HDR_DISPLAY := true
|
||||
TARGET_HAS_WIDE_COLOR_DISPLAY := true
|
||||
TARGET_SCREEN_DENSITY := 320
|
||||
TARGET_USES_C2D_COMPOSITION := true
|
||||
TARGET_USES_GRALLOC1 := true
|
||||
|
@ -151,7 +157,8 @@ TARGET_PROVIDES_KEYMASTER := true
|
|||
|
||||
# Power
|
||||
TARGET_USES_INTERACTION_BOOST := true
|
||||
TARGET_POWERHAL_SET_INTERACTIVE_EXT := $(COMMON_PATH)/power/power_ext.c
|
||||
TARGET_POWERHAL_SET_INTERACTIVE_EXT := $(COMMON_PATH)/power_ext/power_interactive_ext.c
|
||||
TARGET_POWERHAL_MODE_EXT := $(COMMON_PATH)/power_ext/power_mode_ext.cpp
|
||||
|
||||
# Properties
|
||||
TARGET_SYSTEM_PROP += $(COMMON_PATH)/system.prop
|
||||
|
@ -180,9 +187,6 @@ TARGET_LD_SHIM_LIBS := \
|
|||
/vendor/lib/hw/audio.primary.msm8996.so|libaudioprimary_shim.so \
|
||||
/vendor/lib/hw/camera.msm8996.so|libshims_cameraclient.so
|
||||
|
||||
# USB
|
||||
TARGET_QTI_USB_SUPPORTS_AUDIO_ACCESSORY := true
|
||||
|
||||
# Wifi
|
||||
BOARD_HAVE_SAMSUNG_WIFI := true
|
||||
BOARD_HAS_QCOM_WLAN := true
|
||||
|
|
3
configs/msm_irqbalance.conf
Normal file
3
configs/msm_irqbalance.conf
Normal file
|
@ -0,0 +1,3 @@
|
|||
PRIO=1,1,0,0
|
||||
#arm-pmu, arch_timer, arch_mem_timer, MDSS, smd-rpm, kgsl-3d0
|
||||
IGNORED_IRQ=23,27,62,115,200,332
|
|
@ -1,26 +0,0 @@
|
|||
[SKIN_SHUTDOWN]
|
||||
algo_type monitor
|
||||
sampling 1000
|
||||
sensor emmc_therm
|
||||
thresholds 62000
|
||||
thresholds_clr 61000
|
||||
actions shutdown
|
||||
action_info 1
|
||||
|
||||
[VR-EMMC]
|
||||
algo_type monitor
|
||||
sensor emmc_therm
|
||||
sampling 1000
|
||||
thresholds 58000
|
||||
thresholds_clr 52000
|
||||
actions cluster0+cluster1+gpu+report
|
||||
action_info 691200+691200+214000000+1
|
||||
|
||||
[BATTERY-MONITOR]
|
||||
algo_type monitor
|
||||
sampling 2000
|
||||
sensor emmc_therm
|
||||
thresholds 56000
|
||||
thresholds_clr 54000
|
||||
actions battery
|
||||
action_info 3
|
|
@ -1,95 +0,0 @@
|
|||
[SKIN_SHUTDOWN]
|
||||
algo_type monitor
|
||||
sampling 1000
|
||||
sensor emmc_therm
|
||||
thresholds 62000
|
||||
thresholds_clr 61000
|
||||
actions shutdown
|
||||
action_info 1
|
||||
|
||||
[THROTTLING-NOTIFY]
|
||||
algo_type monitor
|
||||
sampling 2000
|
||||
sensor emmc_therm
|
||||
thresholds 47000
|
||||
thresholds_clr 44000
|
||||
actions report
|
||||
action_info 1
|
||||
|
||||
[SKIN-HIGH-FLOOR]
|
||||
algo_type ss
|
||||
sampling 2000
|
||||
sensor emmc_therm
|
||||
device cpu_voltage
|
||||
set_point 47000
|
||||
set_point_clr 44000
|
||||
device_perf_floor 1670400
|
||||
time_constant 0
|
||||
|
||||
[SKIN-MID-FLOOR]
|
||||
algo_type ss
|
||||
sampling 2000
|
||||
sensor emmc_therm
|
||||
device cpu_voltage
|
||||
set_point 49000
|
||||
set_point_clr 48000
|
||||
device_perf_floor 1440000
|
||||
time_constant 0
|
||||
|
||||
[SKIN-LOW-FLOOR]
|
||||
algo_type ss
|
||||
sampling 2000
|
||||
sensor emmc_therm
|
||||
device cpu_voltage
|
||||
set_point 51000
|
||||
set_point_clr 50000
|
||||
device_perf_floor 1132800
|
||||
time_constant 0
|
||||
|
||||
[SKIN-RESTRICT-FLOOR]
|
||||
algo_type ss
|
||||
sampling 2000
|
||||
sensor emmc_therm
|
||||
device cpu_voltage
|
||||
set_point 54000
|
||||
set_point_clr 52000
|
||||
device_perf_floor 768000
|
||||
time_constant 0
|
||||
|
||||
[SKIN-CRITICAL]
|
||||
algo_type monitor
|
||||
sensor emmc_therm
|
||||
sampling 1000
|
||||
thresholds 56000 58000
|
||||
thresholds_clr 55000 57000
|
||||
actions cluster0+cluster1+gpu+report cluster0+cluster1+gpu+report
|
||||
action_info 691200+691200+133000000+1 307200+307200+133000000+1
|
||||
|
||||
[BATTERY-MONITOR]
|
||||
algo_type monitor
|
||||
sampling 2000
|
||||
sensor emmc_therm
|
||||
thresholds 56000
|
||||
thresholds_clr 54000
|
||||
actions battery
|
||||
action_info 3
|
||||
|
||||
[HOT-SKIN-VIRTUAL]
|
||||
algo_type virtual
|
||||
trip_sensor emmc_therm
|
||||
sensors tsens_tz_sensor15 tsens_tz_sensor0
|
||||
list_cnt 2
|
||||
weights 1 -1
|
||||
set_point 47000
|
||||
set_point_clr 44000
|
||||
sampling 1000
|
||||
math 0
|
||||
|
||||
[VIRTUAL-SS-GPU-SKIN]
|
||||
algo_type ss
|
||||
sensor HOT-SKIN-VIRTUAL
|
||||
device gpu
|
||||
sampling 2000
|
||||
set_point 7000
|
||||
set_point_clr 2000
|
||||
device_max_limit 400000000
|
|
@ -60,6 +60,12 @@ fi
|
|||
|
||||
function blob_fixup() {
|
||||
case "${1}" in
|
||||
vendor/lib64/hw/vulkan.msm8996.so)
|
||||
sed -i "s/vulkan.msm8953.so/vulkan.msm8996.so/g" "${2}"
|
||||
;;
|
||||
vendor/lib/hw/vulkan.msm8996.so)
|
||||
sed -i "s/vulkan.msm8953.so/vulkan.msm8996.so/g" "${2}"
|
||||
;;
|
||||
vendor/lib/libwvhidl.so)
|
||||
"${PATCHELF}" --replace-needed "libprotobuf-cpp-lite.so" "libprotobuf-cpp-lite-v28.so" "${2}"
|
||||
;;
|
||||
|
|
14
gts3l.mk
14
gts3l.mk
|
@ -183,10 +183,6 @@ PRODUCT_PACKAGES += \
|
|||
android.hardware.drm@1.0-service \
|
||||
android.hardware.drm@1.3-service.clearkey
|
||||
|
||||
# FastCharge
|
||||
PRODUCT_PACKAGES += \
|
||||
vendor.lineage.fastcharge@1.0-service.samsung
|
||||
|
||||
# Fingerprint
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.biometrics.fingerprint@2.1-service.samsung \
|
||||
|
@ -228,6 +224,10 @@ PRODUCT_PACKAGES += \
|
|||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/sec_config:$(TARGET_COPY_OUT_VENDOR)/etc/sec_config
|
||||
|
||||
# IRQ
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/msm_irqbalance.conf:$(TARGET_COPY_OUT_VENDOR)/etc/msm_irqbalance.conf
|
||||
|
||||
# Keylayout
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/keylayout/gpio-keys.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/gpio-keys.kl \
|
||||
|
@ -277,7 +277,6 @@ PRODUCT_PACKAGES += \
|
|||
# OMX
|
||||
PRODUCT_PACKAGES += \
|
||||
libc2dcolorconvert \
|
||||
libgui_vendor \
|
||||
libextmedia_jni \
|
||||
libOmxAacEnc \
|
||||
libOmxAmrEnc \
|
||||
|
@ -287,7 +286,6 @@ PRODUCT_PACKAGES += \
|
|||
libOmxQcelp13Enc \
|
||||
libOmxVdec \
|
||||
libOmxVenc \
|
||||
libOmxVidcCommon \
|
||||
libstagefrighthw
|
||||
|
||||
# Power
|
||||
|
@ -385,10 +383,6 @@ PRODUCT_PACKAGES += \
|
|||
android.hardware.thermal@1.0-service \
|
||||
thermal.msm8996
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/thermal-engine.conf:$(TARGET_COPY_OUT_VENDOR)/etc/thermal-engine.conf \
|
||||
$(LOCAL_PATH)/configs/thermal-engine-vr.conf:$(TARGET_COPY_OUT_VENDOR)/etc/thermal-engine-vr.conf
|
||||
|
||||
# TextClassifier
|
||||
PRODUCT_PACKAGES += \
|
||||
textclassifier.bundle1
|
||||
|
|
|
@ -1,116 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2015-2016 The CyanogenMod Project
|
||||
2017-2018 The LineageOS 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.
|
||||
-->
|
||||
<resources>
|
||||
<!-- All the capabilities of the LEDs on this device, stored as a bit field.
|
||||
This integer should equal the sum of the corresponding value for each
|
||||
of the following capabilities present:
|
||||
|
||||
// Device has a color adjustable battery light.
|
||||
LIGHTS_RGB_NOTIFICATION_LED = 1
|
||||
|
||||
// Device has a color adjustable notification light.
|
||||
LIGHTS_RGB_BATTERY_LED = 2
|
||||
|
||||
LIGHTS_MULTIPLE_NOTIFICATION_LED = 4 (deprecated)
|
||||
|
||||
// The notification light has adjustable pulsing capability.
|
||||
LIGHTS_PULSATING_LED = 8
|
||||
|
||||
// Device has a multi-segment battery light that is able to
|
||||
// use the light brightness value to determine how many
|
||||
// segments to show (in order to represent battery level).
|
||||
LIGHTS_SEGMENTED_BATTERY_LED = 16
|
||||
|
||||
// The notification light supports HAL adjustable brightness
|
||||
// via the alpha channel.
|
||||
// Note: if a device notification light supports LIGHTS_RGB_NOTIFICATION_LED
|
||||
// then HAL support is not necessary for brightness control. In this case,
|
||||
// brightness support will be provided by lineage-sdk through the scaling of
|
||||
// RGB color values.
|
||||
LIGHTS_ADJUSTABLE_NOTIFICATION_LED_BRIGHTNESS = 32
|
||||
|
||||
// Device has a battery light.
|
||||
LIGHTS_BATTERY_LED = 64
|
||||
|
||||
// The battery light supports HAL adjustable brightness via
|
||||
// the alpha channel.
|
||||
// Note: if a device battery light supports LIGHTS_RGB_BATTERY_LED then HAL
|
||||
// support is not necessary for brightness control. In this case,
|
||||
// brightness support will be provided by lineage-sdk through the scaling of
|
||||
// RGB color values.
|
||||
LIGHTS_ADJUSTABLE_BATTERY_LED_BRIGHTNESS = 128
|
||||
|
||||
For example, a device with notification and battery lights that supports
|
||||
pulsating and RGB control would set this config to 75. -->
|
||||
<integer name="config_deviceLightCapabilities">0</integer>
|
||||
|
||||
<!-- Hardware keys present on the device, stored as a bit field.
|
||||
This integer should equal the sum of the corresponding value for each
|
||||
of the following keys present:
|
||||
1 - Home
|
||||
2 - Back
|
||||
4 - Menu
|
||||
8 - Assistant (search)
|
||||
16 - App switch
|
||||
32 - Camera
|
||||
64 - Volume rocker
|
||||
For example, a device with Home, Back and Menu keys would set this
|
||||
config to 7. -->
|
||||
<integer name="config_deviceHardwareKeys">83</integer>
|
||||
|
||||
<!-- Hardware keys present on the device with the ability to wake, stored as a bit field.
|
||||
This integer should equal the sum of the corresponding value for each
|
||||
of the following keys present:
|
||||
1 - Home
|
||||
2 - Back
|
||||
4 - Menu
|
||||
8 - Assistant (search)
|
||||
16 - App switch
|
||||
32 - Camera
|
||||
64 - Volume rocker
|
||||
For example, a device with Home, Back and Menu keys would set this
|
||||
config to 7. -->
|
||||
<integer name="config_deviceHardwareWakeKeys">65</integer>
|
||||
|
||||
<!-- Control the behavior when the user long presses the app switch button.
|
||||
0 - Nothing
|
||||
1 - Menu key
|
||||
2 - Recent apps view in SystemUI
|
||||
3 - Launch assist intent
|
||||
4 - Voice Search
|
||||
5 - In-app Search
|
||||
This needs to match the constants in
|
||||
services/core/java/com/android/server/policy/policy/impl/PhoneWindowManager.java
|
||||
-->
|
||||
<integer name="config_longPressOnAppSwitchBehavior">1</integer>
|
||||
|
||||
<!-- Button backlight control. Possible values are:
|
||||
0 - Not supported
|
||||
1 - Supported, but only on/off mode
|
||||
2 - Supported with variable brightness control
|
||||
-->
|
||||
<integer name="config_deviceSupportsButtonBrightnessControl">1</integer>
|
||||
|
||||
<!-- Defines the actions shown in advanced reboot submenu -->
|
||||
<string-array name="config_restartActionsList">
|
||||
<item>restart</item>
|
||||
<item>restart_recovery</item>
|
||||
<item>restart_download</item>
|
||||
</string-array>
|
||||
|
||||
</resources>
|
|
@ -841,4 +841,94 @@
|
|||
Settings.System.RING_VIBRATION_INTENSITY more details on the constant values and
|
||||
meanings. -->
|
||||
<integer name="config_defaultRingVibrationIntensity">1</integer>
|
||||
|
||||
<!-- All the capabilities of the LEDs on this device, stored as a bit field.
|
||||
This integer should equal the sum of the corresponding value for each
|
||||
of the following capabilities present:
|
||||
|
||||
// Device has a color adjustable battery light.
|
||||
LIGHTS_RGB_NOTIFICATION_LED = 1
|
||||
|
||||
// Device has a color adjustable notification light.
|
||||
LIGHTS_RGB_BATTERY_LED = 2
|
||||
|
||||
LIGHTS_MULTIPLE_NOTIFICATION_LED = 4 (deprecated)
|
||||
|
||||
// The notification light has adjustable pulsing capability.
|
||||
LIGHTS_PULSATING_LED = 8
|
||||
|
||||
// Device has a multi-segment battery light that is able to
|
||||
// use the light brightness value to determine how many
|
||||
// segments to show (in order to represent battery level).
|
||||
LIGHTS_SEGMENTED_BATTERY_LED = 16
|
||||
|
||||
// The notification light supports HAL adjustable brightness
|
||||
// via the alpha channel.
|
||||
// Note: if a device notification light supports LIGHTS_RGB_NOTIFICATION_LED
|
||||
// then HAL support is not necessary for brightness control. In this case,
|
||||
// brightness support will be provided by lineage-sdk through the scaling of
|
||||
// RGB color values.
|
||||
LIGHTS_ADJUSTABLE_NOTIFICATION_LED_BRIGHTNESS = 32
|
||||
|
||||
// Device has a battery light.
|
||||
LIGHTS_BATTERY_LED = 64
|
||||
|
||||
// The battery light supports HAL adjustable brightness via
|
||||
// the alpha channel.
|
||||
// Note: if a device battery light supports LIGHTS_RGB_BATTERY_LED then HAL
|
||||
// support is not necessary for brightness control. In this case,
|
||||
// brightness support will be provided by lineage-sdk through the scaling of
|
||||
// RGB color values.
|
||||
LIGHTS_ADJUSTABLE_BATTERY_LED_BRIGHTNESS = 128
|
||||
|
||||
For example, a device with notification and battery lights that supports
|
||||
pulsating and RGB control would set this config to 75. -->
|
||||
<integer name="config_deviceLightCapabilities">0</integer>
|
||||
|
||||
<!-- Hardware keys present on the device, stored as a bit field.
|
||||
This integer should equal the sum of the corresponding value for each
|
||||
of the following keys present:
|
||||
1 - Home
|
||||
2 - Back
|
||||
4 - Menu
|
||||
8 - Assistant (search)
|
||||
16 - App switch
|
||||
32 - Camera
|
||||
64 - Volume rocker
|
||||
For example, a device with Home, Back and Menu keys would set this
|
||||
config to 7. -->
|
||||
<integer name="config_deviceHardwareKeys">83</integer>
|
||||
|
||||
<!-- Hardware keys present on the device with the ability to wake, stored as a bit field.
|
||||
This integer should equal the sum of the corresponding value for each
|
||||
of the following keys present:
|
||||
1 - Home
|
||||
2 - Back
|
||||
4 - Menu
|
||||
8 - Assistant (search)
|
||||
16 - App switch
|
||||
32 - Camera
|
||||
64 - Volume rocker
|
||||
For example, a device with Home, Back and Menu keys would set this
|
||||
config to 7. -->
|
||||
<integer name="config_deviceHardwareWakeKeys">65</integer>
|
||||
|
||||
<!-- Control the behavior when the user long presses the app switch button.
|
||||
0 - Nothing
|
||||
1 - Menu key
|
||||
2 - Recent apps view in SystemUI
|
||||
3 - Launch assist intent
|
||||
4 - Voice Search
|
||||
5 - In-app Search
|
||||
This needs to match the constants in
|
||||
services/core/java/com/android/server/policy/policy/impl/PhoneWindowManager.java
|
||||
-->
|
||||
<integer name="config_longPressOnAppSwitchBehavior">1</integer>
|
||||
|
||||
<!-- Button backlight control. Possible values are:
|
||||
0 - Not supported
|
||||
1 - Supported, but only on/off mode
|
||||
2 - Supported with variable brightness control
|
||||
-->
|
||||
<integer name="config_deviceSupportsButtonBrightnessControl">1</integer>
|
||||
</resources>
|
||||
|
|
57
power_ext/power_mode_ext.cpp
Normal file
57
power_ext/power_mode_ext.cpp
Normal file
|
@ -0,0 +1,57 @@
|
|||
/*
|
||||
* Copyright (C) 2020 The LineageOS 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.
|
||||
*/
|
||||
|
||||
#define LOG_TAG "PowerHAL_Mode_Ext"
|
||||
#include <android-base/file.h>
|
||||
#include <log/log.h>
|
||||
|
||||
#include <aidl/android/hardware/power/BnPower.h>
|
||||
|
||||
#include "power-common.h"
|
||||
|
||||
using ::aidl::android::hardware::power::Mode;
|
||||
|
||||
namespace aidl {
|
||||
namespace android {
|
||||
namespace hardware {
|
||||
namespace power {
|
||||
namespace impl {
|
||||
|
||||
bool isDeviceSpecificModeSupported(Mode type, bool* _aidl_return) {
|
||||
switch (type) {
|
||||
case Mode::LAUNCH:
|
||||
*_aidl_return = true;
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
bool setDeviceSpecificMode(Mode type, bool enabled) {
|
||||
switch (type) {
|
||||
case Mode::LAUNCH:
|
||||
power_hint(POWER_HINT_LAUNCH, enabled ? &enabled : NULL);
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace impl
|
||||
} // namespace power
|
||||
} // namespace hardware
|
||||
} // namespace android
|
||||
} // namespace aidl
|
|
@ -163,14 +163,6 @@ etc/firmware/C12QS_Isp0_imx260.bin:vendor/firmware/C12QS_Isp0_imx260.bin
|
|||
etc/firmware/C12QS_Isp1_imx260.bin:vendor/firmware/C12QS_Isp1_imx260.bin
|
||||
etc/firmware/cal_data_LSCmaster.bin:vendor/firmware/cal_data_LSCmaster.bin
|
||||
etc/firmware/cpp_firmware_v1_10_0.fw:vendor/firmware/cpp_firmware_v1_10_0.fw
|
||||
etc/firmware/cpp_firmware_v1_1_1.fw:vendor/firmware/cpp_firmware_v1_1_1.fw
|
||||
etc/firmware/cpp_firmware_v1_1_6.fw:vendor/firmware/cpp_firmware_v1_1_6.fw
|
||||
etc/firmware/cpp_firmware_v1_2_0.fw:vendor/firmware/cpp_firmware_v1_2_0.fw
|
||||
etc/firmware/cpp_firmware_v1_4_0.fw:vendor/firmware/cpp_firmware_v1_4_0.fw
|
||||
etc/firmware/cpp_firmware_v1_5_0.fw:vendor/firmware/cpp_firmware_v1_5_0.fw
|
||||
etc/firmware/cpp_firmware_v1_5_2.fw:vendor/firmware/cpp_firmware_v1_5_2.fw
|
||||
etc/firmware/cpp_firmware_v1_6_0.fw:vendor/firmware/cpp_firmware_v1_6_0.fw
|
||||
etc/firmware/cpp_firmware_v1_8_0.fw:vendor/firmware/cpp_firmware_v1_8_0.fw
|
||||
etc/firmware/D12QL_Isp0_s5k2l1sx.bin:vendor/firmware/D12QL_Isp0_s5k2l1sx.bin
|
||||
etc/firmware/D12QS_Isp0_imx260.bin:vendor/firmware/D12QS_Isp0_imx260.bin
|
||||
etc/firmware/Master0.bin:vendor/firmware/Master0.bin
|
||||
|
@ -452,26 +444,6 @@ vendor/bin/hw/android.hardware.health@2.0-service.samsung
|
|||
vendor/etc/init/android.hardware.health@2.0-service.samsung.rc
|
||||
lib64/vendor.samsung.hardware.exthealth@1.0.so
|
||||
|
||||
# Display (HDR)
|
||||
vendor/lib64/libhdr_tm.so
|
||||
vendor/lib/libhdr_tm.so
|
||||
|
||||
# Display (SDM)
|
||||
vendor/lib/libscalar.so
|
||||
vendor/lib/libsdedrm.so
|
||||
vendor/lib/libsdm-color.so
|
||||
vendor/lib/libsdm-diag.so
|
||||
vendor/lib/libsdm-disp-vndapis.so
|
||||
vendor/lib/libsdmextension.so
|
||||
vendor/lib/libtinyxml2_1.so
|
||||
vendor/lib64/libscalar.so
|
||||
vendor/lib64/libsdedrm.so
|
||||
vendor/lib64/libsdm-color.so
|
||||
vendor/lib64/libsdm-diag.so
|
||||
vendor/lib64/libsdm-disp-vndapis.so
|
||||
vendor/lib64/libsdmextension.so
|
||||
vendor/lib64/libtinyxml2_1.so
|
||||
|
||||
# Display postprocessing
|
||||
vendor/bin/hw/vendor.display.color@1.0-service
|
||||
vendor/etc/init/vendor.display.color@1.0-service.rc
|
||||
|
@ -507,7 +479,6 @@ vendor/lib/libwvhidl.so
|
|||
# DSP
|
||||
vendor/lib64/libcdsprpc.so
|
||||
vendor/lib64/libfastcrc.so
|
||||
vendor/lib64/libfastcvopt.so
|
||||
vendor/lib64/libmdsprpc.so
|
||||
vendor/lib64/libsdsprpc.so
|
||||
vendor/lib/rfsa/adsp/libadsp_fd_skel.so
|
||||
|
@ -528,7 +499,6 @@ vendor/lib/rfsa/adsp/libvpp_frc.so
|
|||
vendor/lib/rfsa/adsp/libvpp_svc_skel.so
|
||||
vendor/lib/libcdsprpc.so
|
||||
vendor/lib/libfastcrc.so
|
||||
vendor/lib/libfastcvopt.so
|
||||
vendor/lib/libmdsprpc.so
|
||||
vendor/lib/libsdsprpc.so
|
||||
|
||||
|
@ -655,45 +625,68 @@ lib/vendor.qti.gnss@2.1.so
|
|||
lib/vendor.samsung.hardware.gnss@1.0.so
|
||||
lib/libxt_native.so
|
||||
|
||||
# Graphics (Adreno)
|
||||
vendor/lib/egl/eglSubDriverAndroid.so
|
||||
vendor/lib/egl/libEGL_adreno.so
|
||||
vendor/lib/egl/libGLESv1_CM_adreno.so
|
||||
vendor/lib/egl/libGLESv2_adreno.so
|
||||
vendor/lib/egl/libQTapGLES.so
|
||||
vendor/lib/egl/libq3dtools_adreno.so
|
||||
vendor/lib/egl/libq3dtools_esx.so
|
||||
vendor/lib/libC2D2.so
|
||||
vendor/lib/libCB.so
|
||||
vendor/lib/libOpenCL.so
|
||||
vendor/lib/libRSDriver_adreno.so
|
||||
vendor/lib/libadreno_utils.so
|
||||
vendor/lib/libbccQTI.so
|
||||
vendor/lib/libc2d30_bltlib.so
|
||||
vendor/lib/libgsl.so
|
||||
vendor/lib/libllvm-glnext.so
|
||||
vendor/lib/libllvm-qcom.so
|
||||
vendor/lib/librs_adreno.so
|
||||
vendor/lib/librs_adreno_sha1.so
|
||||
vendor/lib64/egl/eglSubDriverAndroid.so
|
||||
vendor/lib64/egl/libEGL_adreno.so
|
||||
vendor/lib64/egl/libGLESv1_CM_adreno.so
|
||||
vendor/lib64/egl/libGLESv2_adreno.so
|
||||
vendor/lib64/egl/libQTapGLES.so
|
||||
vendor/lib64/egl/libq3dtools_adreno.so
|
||||
vendor/lib64/egl/libq3dtools_esx.so
|
||||
vendor/lib64/libC2D2.so
|
||||
vendor/lib64/libCB.so
|
||||
vendor/lib64/libOpenCL.so
|
||||
vendor/lib64/libRSDriver_adreno.so
|
||||
vendor/lib64/libadreno_utils.so
|
||||
vendor/lib64/libbccQTI.so
|
||||
vendor/lib64/libc2d30_bltlib.so
|
||||
vendor/lib64/libgsl.so
|
||||
vendor/lib64/libllvm-glnext.so
|
||||
vendor/lib64/libllvm-qcom.so
|
||||
vendor/lib64/librs_adreno.so
|
||||
vendor/lib64/librs_adreno_sha1.so
|
||||
# Graphics (Adreno) - from daisy - QKQ1.191002.002
|
||||
vendor/lib64/egl/eglSubDriverAndroid.so|8edb19893decd259ba43d752b48e0a69c5788db4
|
||||
vendor/lib64/egl/libEGL_adreno.so|c97c8e14d26f53398c50122daf80a599f077398a
|
||||
vendor/lib64/egl/libGLESv1_CM_adreno.so|0adf2e094afdc3476198ef8ad52101cf9004eb5d
|
||||
vendor/lib64/egl/libGLESv2_adreno.so|4c9e3f723daf6a3f6d4301e3527472654c8bedf1
|
||||
vendor/lib64/egl/libQTapGLES.so|104e9cec67678174b92a698849aa2bcf52ba46ce
|
||||
vendor/lib64/egl/libq3dtools_adreno.so|8f6043f22c23c76e7e17bc9642957f648bec1e50
|
||||
vendor/lib64/egl/libq3dtools_esx.so|4f9b2bb6f492ea05b3da17b68e02effe611de0e8
|
||||
vendor/lib64/libC2D2.so|ff2d4947c7924376ff66517461246d238e221e05
|
||||
vendor/lib64/libCB.so|df167809abe16674a61742ba6efb208edd069a3b
|
||||
vendor/lib64/libOpenCL.so|84c7d8be13885c9346f73c09aaaedc3bce7667d9
|
||||
vendor/lib64/libRSDriver_adreno.so|e7628b78d034500c64d09fcaf5305971242e1acd
|
||||
vendor/lib64/libadreno_utils.so|04b3878ea84a99f133934580adfd6905f6cc102b
|
||||
vendor/lib64/libbccQTI.so|e79ba0450ce215bfb81e518cce310f378314b4e5
|
||||
vendor/lib64/libc2d30_bltlib.so|644a88f490cc883492d94b9f581127fb33f51415
|
||||
vendor/lib64/libfastcvopt.so|f5e25aa055a57e23530b858bf7dd204a6009effc
|
||||
vendor/lib64/libgsl.so|5453da1723c3b014850165b42236ba26af11a7ad
|
||||
vendor/lib64/libllvm-glnext.so|dad8139672a9dcff4270a58599aa1b72d13e62fc
|
||||
vendor/lib64/libllvm-qcom.so|88f4199538ce887c91936bf70eef31615c938aa2
|
||||
vendor/lib64/librs_adreno.so|e41149794e719c7f743c4d800def68a5c8e5f9ca
|
||||
vendor/lib64/librs_adreno_sha1.so|f9d28682f9c219dfe086da9f3a15aaddbcd38a05
|
||||
vendor/lib/egl/eglSubDriverAndroid.so|d0f0f243aeb41720cbc052c2344918c5d588659c
|
||||
vendor/lib/egl/libEGL_adreno.so|a3bb3c748cc180521a3b0ea173e714a55c01b118
|
||||
vendor/lib/egl/libGLESv1_CM_adreno.so|43c864f0c3f384085f9d19a2e1d56e672f319ea6
|
||||
vendor/lib/egl/libGLESv2_adreno.so|15104ce575d5fb6282502fcf73ea27b6f52429bc
|
||||
vendor/lib/egl/libQTapGLES.so|957d9c98f3c29e7bf1da02fedac0789ada49dc70
|
||||
vendor/lib/egl/libq3dtools_adreno.so|b4b7bda387620de5f6ea2a29406f9351e855b8ed
|
||||
vendor/lib/egl/libq3dtools_esx.so|1972c5a7747579d14519681855e6bc4e424fc7f0
|
||||
vendor/lib/libC2D2.so|c04a5ac1e576f63ebe91aba14bf917ee9e382be0
|
||||
vendor/lib/libCB.so|15986a50f98c979833e5d651eedcffaf19e54e3b
|
||||
vendor/lib/libOpenCL.so|9ee3900265f9b855f526c0ce4fcfdaed51d62003
|
||||
vendor/lib/libRSDriver_adreno.so|51e8ebcd4584726cbee21a4486b6f37ce5e716f1
|
||||
vendor/lib/libadreno_utils.so|3a09e6720121f5b459a1fc7f9639b632da5832ec
|
||||
vendor/lib/libbccQTI.so|124156259b7900ac44c48dd9cf83b210d02d8c9d
|
||||
vendor/lib/libc2d30_bltlib.so|4a486823ef2a9ea14f4f02c9eb9053ac5fb028af
|
||||
vendor/lib/libfastcvopt.so|2df00c3827fe1db322084cb3935241f17d1532f4
|
||||
vendor/lib/libgsl.so|2ddafd66848dfd146bbaf184b69f92df9f79c99f
|
||||
vendor/lib/libllvm-glnext.so|a28adae3ae758cdffc889d681b3cdefe24351c32
|
||||
vendor/lib/libllvm-qcom.so|3079ae9049c8758664e6ade78837e0fc6c2272d5
|
||||
vendor/lib/librs_adreno.so|9f0022a5c38a676a580511749bab3c538ed8b803
|
||||
vendor/lib/librs_adreno_sha1.so|28201ce01c442df4389273245be313ff4a741d6e
|
||||
|
||||
# Graphics (HDR) - from daisy - QKQ1.191002.002
|
||||
vendor/lib64/libhdr_tm.so|c388a9b14966583cde2c682c129fcf5cfa298239
|
||||
vendor/lib/libhdr_tm.so|4c371d0931245a65d0b4df768de8837bbdf4832e
|
||||
|
||||
# Graphics (SDM) - from daisy - QKQ1.191002.002
|
||||
vendor/lib/libscalar.so|7ac579768ffd2caee903d69d8fd3f7918b04ffbe
|
||||
vendor/lib/libsdm-color.so|fa3f8c0062d474fdf6960fcbcc3bf21a5c3fd594
|
||||
vendor/lib/libsdm-diag.so|46b5c2d6fab1e655efde1657b2e51dc00c00b763
|
||||
vendor/lib/libsdmextension.so|b6a2100c733b7a5c4688bb9bcae581461ada70f3
|
||||
vendor/lib/libtinyxml2_1.so|ef2167416f7a5a503256c5e818fcfa660d5146f4
|
||||
vendor/lib64/libscalar.so|b7feb3266d5bccab8b26c49eea6ac8e295192f9a
|
||||
vendor/lib64/libsdm-color.so|993dc946c4aa439280527c13798938c51dd9dee7
|
||||
vendor/lib64/libsdm-diag.so|87373a043267b9b3bb923931a910119a9deb425f
|
||||
vendor/lib64/libsdm-disp-vndapis.so|b1dede9efa81e8d0374343612ad7ad0d967e8e29
|
||||
vendor/lib64/libsdmextension.so|47b7fcfb790df4417654c566af1a8a74d4bf3e2f
|
||||
vendor/lib64/libtinyxml2_1.so|56d4d5d0ea010f951de219c7b9fd2c9695a5b9d2
|
||||
|
||||
# Graphics (Vulkan) - from daisy - QKQ1.191002.002
|
||||
vendor/lib64/hw/vulkan.msm8953.so:vendor/lib64/hw/vulkan.msm8996.so|8c01e237bdc542ca682cb97ce28f264135033fab|b09121b664897181c29ec5a529117772a971229b
|
||||
vendor/lib/hw/vulkan.msm8953.so:vendor/lib/hw/vulkan.msm8996.so|c24dee59782e94c119e1e6ae00ac05c2d67c3f93|6142249d50da115d9fe3b20581dbeedd961727c3
|
||||
|
||||
# Graphics (Adreno firmware)
|
||||
vendor/firmware/a530v1_pfp.fw
|
||||
|
@ -706,10 +699,6 @@ vendor/firmware/a530_pm4.fw
|
|||
vendor/firmware/a530v1_pm4.fw
|
||||
vendor/firmware/a540_gpmu.fw2
|
||||
|
||||
# Graphics (Vulkan)
|
||||
vendor/lib64/hw/vulkan.msm8996.so
|
||||
vendor/lib/hw/vulkan.msm8996.so
|
||||
|
||||
# Image Understanding
|
||||
saiv/face/attr/gae/PmExpModel.bin
|
||||
saiv/face/attr/gae/PmAgeModel.bin
|
||||
|
@ -732,128 +721,38 @@ vendor/lib64/libqti-iopd-client.so
|
|||
lib64/vendor.qti.hardware.iop@1.0.so
|
||||
lib64/vendor.qti.hardware.iop@2.0.so
|
||||
|
||||
# IRQ Balance
|
||||
vendor/etc/msm_irqbalance.conf
|
||||
# IRQ Balance - from oneplus3
|
||||
vendor/bin/msm_irqbalance|e70694e0412052cd591389b8c1bf4573e5777257
|
||||
|
||||
# Keystore
|
||||
vendor/lib64/hw/keystore.msm8996.so
|
||||
vendor/lib/hw/keystore.msm8996.so
|
||||
|
||||
# Media
|
||||
lib64/libFileMux.so
|
||||
lib64/libmmosal.so
|
||||
lib64/libmmparser_lite.so
|
||||
lib64/libmmrtpdecoder.so
|
||||
lib64/libmmrtpencoder.so
|
||||
lib/libFileMux.so
|
||||
lib/libmmosal.so
|
||||
lib/libmmparser_lite.so
|
||||
lib/libmmrtpdecoder.so
|
||||
lib/libmmrtpencoder.so
|
||||
vendor/lib64/libI420colorconvert.so
|
||||
vendor/lib64/libgpustats.so
|
||||
vendor/lib64/libmm-color-convertor.so
|
||||
vendor/lib64/libmmosal_proprietary.so
|
||||
vendor/lib64/libvpphvx.so
|
||||
vendor/lib64/libvpplibrary.so
|
||||
vendor/lib/libI420colorconvert.so
|
||||
vendor/lib/libgpustats.so
|
||||
vendor/lib/libmm-color-convertor.so
|
||||
vendor/lib/libmmosal_proprietary.so
|
||||
vendor/lib/libvpphvx.so
|
||||
vendor/lib/libvpplibrary.so
|
||||
vendor/lib/libvqzip.so
|
||||
|
||||
# OMX
|
||||
etc/somxreg.conf
|
||||
vendor/lib64/libAlacSwDec.so
|
||||
vendor/lib64/libApeSwDec.so
|
||||
vendor/lib64/libFlacSwDec.so
|
||||
vendor/lib64/libOmxAacDec.so
|
||||
vendor/lib64/libOmxAlacDec.so
|
||||
vendor/lib64/libOmxAlacDecSw.so
|
||||
vendor/lib64/libOmxAmrDec.so
|
||||
vendor/lib64/libOmxAmrwbplusDec.so
|
||||
vendor/lib64/libOmxApeDec.so
|
||||
vendor/lib64/libOmxApeDecSw.so
|
||||
vendor/lib64/libOmxEvrcDec.so
|
||||
vendor/lib64/libOmxG711Dec.so
|
||||
vendor/lib64/libOmxQcelp13Dec.so
|
||||
vendor/lib64/libOmxVpp.so
|
||||
vendor/lib64/libOmxWmaDec.so
|
||||
vendor/lib/libAlacSwDec.so
|
||||
vendor/lib/libApeSwDec.so
|
||||
vendor/lib/libFlacSwDec.so
|
||||
vendor/lib/libdsd2pcm.so
|
||||
vendor/lib/libOmxAacDec.so
|
||||
vendor/lib/libOmxAlacDec.so
|
||||
vendor/lib/libOmxAlacDecSw.so
|
||||
vendor/lib/libOmxAmrDec.so
|
||||
vendor/lib/libOmxAmrwbplusDec.so
|
||||
vendor/lib/libOmxApeDec.so
|
||||
vendor/lib/libOmxApeDecSw.so
|
||||
vendor/lib/libOmxDsdDec.so
|
||||
vendor/lib/libOmxEvrcDec.so
|
||||
vendor/lib/libOmxG711Dec.so
|
||||
vendor/lib/libOmxQcelp13Dec.so
|
||||
vendor/lib/libOmxVpp.so
|
||||
vendor/lib/libOmxWmaDec.so
|
||||
lib64/libsomx263dsw.so
|
||||
lib64/libsomx264dsw.so
|
||||
lib64/libsomxaacd.so
|
||||
lib64/libsomxadpcmd.so
|
||||
lib64/libsomxamrd.so
|
||||
lib64/libsomxcmn.so
|
||||
lib64/libsomxcore.so
|
||||
lib64/libsomxflacd.so
|
||||
lib64/libsomxhevcdsw.so
|
||||
lib64/libsomxmp3d.so
|
||||
lib64/libsomxmp43d.so
|
||||
lib64/libsomxmp4vdsw.so
|
||||
lib64/libsomxnaace.so
|
||||
lib64/libsomxsr263d.so
|
||||
lib64/libsomxvc1dsw.so
|
||||
lib64/libsomxvp8d.so
|
||||
lib64/libsomxwmad.so
|
||||
lib64/libsomxwmv7d.so
|
||||
lib64/libsomxwmv8d.so
|
||||
lib64/libarac.so
|
||||
lib64/libsavsac.so
|
||||
lib64/libsavscmn.so
|
||||
lib64/libsavsff.so
|
||||
lib64/libsavsmeta.so
|
||||
lib64/libsavsvc.so
|
||||
lib64/libsnaace.so
|
||||
lib64/libsnamrnb.so
|
||||
lib64/libsnamrwb.so
|
||||
lib/libsomx263dsw.so
|
||||
lib/libsomx264dsw.so
|
||||
lib/libsomxaacd.so
|
||||
lib/libsomxadpcmd.so
|
||||
lib/libsomxamrd.so
|
||||
lib/libsomxcmn.so
|
||||
lib/libsomxcore.so
|
||||
lib/libsomxflacd.so
|
||||
lib/libsomxhevcdsw.so
|
||||
lib/libsomxmp3d.so
|
||||
lib/libsomxmp43d.so
|
||||
lib/libsomxmp4vdsw.so
|
||||
lib/libsomxnaace.so
|
||||
lib/libsomxsr263d.so
|
||||
lib/libsomxvc1dsw.so
|
||||
lib/libsomxvp8d.so
|
||||
lib/libsomxwmad.so
|
||||
lib/libsomxwmv7d.so
|
||||
lib/libsomxwmv8d.so
|
||||
lib/libarac.so
|
||||
lib/libsavsac.so
|
||||
lib/libsavscmn.so
|
||||
lib/libsavsff.so
|
||||
lib/libsavsmeta.so
|
||||
lib/libsavsvc.so
|
||||
lib/libsnaace.so
|
||||
lib/libsnamrnb.so
|
||||
lib/libsnamrwb.so
|
||||
# Media - from daisy - QKQ1.191002.002
|
||||
lib64/libFileMux.so|8d07dde58a8b629ccce4dd9c778e76a6513ca555
|
||||
lib64/libmmosal.so|9ceff2581e86d32bc2795dffb96ebe4bdc88f2f7
|
||||
lib64/libmmparser_lite.so|bea6788f2f0924c74a3bb7c1fdd24bc59202550c
|
||||
lib/libFileMux.so|1c713da8d18f03deb33c3211761fc07dd57d6946
|
||||
lib/libOmxMux.so|6f1a1f5fc8f9a8683e6fb719b6fe51a68c6b0e84
|
||||
lib/libmmosal.so|9464733295e192301b2577f52fab720e72c0d152
|
||||
lib/libmmparser_lite.so|c3656bbcd33d44d5b22743061261989fffd0382f
|
||||
vendor/lib64/libgpustats.so|a899ae72983277442cdacf8f43271986c91ce710
|
||||
vendor/lib/libOmxAacDec.so|55772a6d0cf3e6a5a2c32348fd7096b8737d490b
|
||||
vendor/lib/libOmxAlacDec.so|adca064b15a7d545075af6f5222db45dec8202b5
|
||||
vendor/lib/libOmxAlacDecSw.so|8700268f92a953549e5936af9d5ccd08f99ed50f
|
||||
vendor/lib/libOmxAmrDec.so|61ca4a96027a610b74621bd3f9caff3f34e4eab5
|
||||
vendor/lib/libOmxAmrwbplusDec.so|f0ebf6b19f569862fa8da05653148e867ba38878
|
||||
vendor/lib/libOmxApeDec.so|49b4090d2f82963e596dd2fabb30b7fe8551a21b
|
||||
vendor/lib/libOmxApeDecSw.so|d1276d42ad37fbd263ab96f9f353d4e782bb0fe9
|
||||
vendor/lib/libOmxEvrcDec.so|20a6be418df26f48751b4178f5642e3fc6902690
|
||||
vendor/lib/libOmxQcelp13Dec.so|27a75185e62e88ea84ac2448a3842c998899ae90
|
||||
vendor/lib/libOmxVideoDSMode.so|84a6b99f5ad0c7dbe827eb01258cca4c790c0fe7
|
||||
vendor/lib/libOmxVpp.so|46e4928c392716943986a3b490680d3e08fdf3e4
|
||||
vendor/lib/libOmxWmaDec.so|c3da756ae14234ae8e56cbc0b32249fbd4c8746a
|
||||
vendor/lib/libgpustats.so|75fc8f58b071f3c27d708010e1b40eafba091a14
|
||||
vendor/lib/libmmosal_proprietary.so|4b0788590e1ecfccd3b20b3181a4add528acb2b6
|
||||
vendor/lib/libvpplibrary.so|816a79fe9a6d30e9402acb767119b9ee1c2c8aea
|
||||
vendor/lib/libvqzip.so|24e5eb30e5a2cdb544c8688d81d7cc75a1d85eaf
|
||||
|
||||
# Peripheral Manager
|
||||
vendor/bin/pm-proxy
|
||||
|
@ -867,31 +766,16 @@ vendor/etc/init/vendor.samsung.hardware.miscpower@1.0-service.rc
|
|||
lib64/vendor.samsung.hardware.miscpower@1.0.so
|
||||
lib/vendor.samsung.hardware.miscpower@1.0.so
|
||||
|
||||
# Power (perf)
|
||||
vendor/bin/energy-awareness
|
||||
vendor/bin/hw/vendor.qti.hardware.perf@1.0-service
|
||||
vendor/etc/init/vendor.qti.hardware.perf@1.0-service.rc
|
||||
vendor/etc/perf/commonresourceconfigs.xml
|
||||
vendor/etc/perf/perfboostsconfig.xml
|
||||
vendor/etc/perf/perf-profile0.conf
|
||||
vendor/etc/perf/perf-profile1.conf
|
||||
vendor/etc/perf/perf-profile2.conf
|
||||
vendor/etc/perf/perf-profile3.conf
|
||||
vendor/etc/perf/perf-profile4.conf
|
||||
vendor/etc/perf/perf-profile5.conf
|
||||
vendor/etc/perf/perf-profile6.conf
|
||||
vendor/etc/perf/targetconfig.xml
|
||||
vendor/etc/perf/targetresourceconfigs.xml
|
||||
vendor/lib/libperfgluelayer.so
|
||||
vendor/lib/libqti-perfd-client.so
|
||||
vendor/lib/libqti-perfd.so
|
||||
vendor/lib/libqti-util.so
|
||||
vendor/lib/libqti-utils.so
|
||||
vendor/lib64/libperfgluelayer.so
|
||||
vendor/lib64/libqti-perfd-client.so
|
||||
vendor/lib64/libqti-perfd.so
|
||||
vendor/lib64/libqti-util.so
|
||||
vendor/lib64/libqti-utils.so
|
||||
# Perf - from oneplus3 - PKQ1.181203.001
|
||||
vendor/bin/energy-awareness|3f1aa4d518ff361aa3ed9e41ace3e16d36cf0bbe
|
||||
vendor/bin/hw/vendor.qti.hardware.perf@1.0-service|7a38f7ef085ddb1a5cd8731e9d2fc1540c3e85ad
|
||||
vendor/etc/init/vendor.qti.hardware.perf@1.0-service.rc|b50182aadab2e31409df61c523d0fb914a394e43
|
||||
vendor/lib64/libperfgluelayer.so|627a324616de86ba90889a7c8dd7a05c46a30aaa
|
||||
vendor/lib64/libqti-perfd-client.so|1e84aa49a8cff0f69f0261c69dd8843534efd79e
|
||||
vendor/lib64/libqti-util.so|0c34c7cbb07197841e9f097925fe961f3226e621
|
||||
vendor/lib/libperfgluelayer.so|3850d4ea3dbead227b622fcc47fcec29955fcc63
|
||||
vendor/lib/libqti-perfd-client.so|a4a6da47ee26fcd5116c514f7fed15b91306aea3
|
||||
vendor/lib/libqti-util.so|d65f3ef240cebea73bd1ba8b1132a7e639aa05bb
|
||||
|
||||
# Power-off charging
|
||||
bin/lpm
|
||||
|
@ -989,11 +873,11 @@ lib/libsensorlistener.so
|
|||
vendor/etc/sensors/hals.conf
|
||||
vendor/etc/sensors/sensor_def_qcomdev.conf
|
||||
|
||||
# Thermal
|
||||
vendor/bin/thermal-engine
|
||||
vendor/lib/libthermalclient.so
|
||||
vendor/lib64/libthermalclient.so
|
||||
vendor/lib64/libthermalioctl.so
|
||||
# Thermal - from op3 - PKQ1.181203.001
|
||||
vendor/bin/thermal-engine|b15c9e8fa54ebb15dfeb36c7fbc834a28b4c836e
|
||||
vendor/lib64/libthermalclient.so|94424d7c8f8daff8bbfd7454fe4d5f1fbf411260
|
||||
vendor/lib64/libthermalioctl.so|aa2a0abd8fb9792024efd93f648c129b6a22619e
|
||||
vendor/lib/libthermalclient.so|270ea373c617584af092dc4ea2aa1c7bf27be7f4
|
||||
|
||||
# Time
|
||||
-vendor/app/TimeService/TimeService.apk
|
||||
|
|
|
@ -267,7 +267,7 @@ case "$target" in
|
|||
;;
|
||||
esac
|
||||
;;
|
||||
"msm8994" | "msm8992" | "msm8998" | "apq8098_latv" | "sdm845" | "sdm710" | "qcs605" | "sm6150" | "trinket")
|
||||
"msm8994" | "msm8992" | "msm8996" | "msm8998" | "apq8098_latv" | "sdm845" | "sdm710" | "qcs605" | "sm6150" | "trinket")
|
||||
start_msm_irqbalance
|
||||
;;
|
||||
"msm8996")
|
||||
|
|
|
@ -41,9 +41,6 @@ on boot
|
|||
chown system system /dev/cpuset/camera-daemon/tasks
|
||||
chmod 0664 /dev/cpuset/camera-daemon/tasks
|
||||
|
||||
# Enable sched boost
|
||||
write /proc/sys/kernel/sched_boost 1
|
||||
|
||||
on charger
|
||||
wait /dev/block/platform/soc/${ro.boot.bootdevice}
|
||||
symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice
|
||||
|
@ -117,20 +114,21 @@ on enable-low-power
|
|||
# Set sync wakee policy tunable
|
||||
write /proc/sys/kernel/sched_prefer_sync_wakee_to_waker 1
|
||||
|
||||
# Configure governor settings for little cluster
|
||||
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "schedutil"
|
||||
write /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us 500
|
||||
write /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us 20000
|
||||
write /sys/devices/system/cpu/cpu0/cpufreq/schedutil/iowait_boost_enable 1
|
||||
|
||||
# Bring CPU2 online
|
||||
# Bring CPU 0, 2 online
|
||||
write /sys/devices/system/cpu/cpu0/online 1
|
||||
write /sys/devices/system/cpu/cpu2/online 1
|
||||
|
||||
# Configure governor settings for little cluster
|
||||
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "blu_schedutil"
|
||||
write /sys/devices/system/cpu/cpu0/cpufreq/blu_schedutil/up_rate_limit_us 250
|
||||
write /sys/devices/system/cpu/cpu0/cpufreq/blu_schedutil/down_rate_limit_us 10000
|
||||
write /sys/devices/system/cpu/cpu0/cpufreq/blu_schedutil/iowait_boost_enable 1
|
||||
|
||||
# Configure governor settings for big cluster
|
||||
write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor "schedutil"
|
||||
write /sys/devices/system/cpu/cpu2/cpufreq/schedutil/up_rate_limit_us 500
|
||||
write /sys/devices/system/cpu/cpu2/cpufreq/schedutil/down_rate_limit_us 20000
|
||||
write /sys/devices/system/cpu/cpu2/cpufreq/schedutil/iowait_boost_enable 1
|
||||
write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor "blu_schedutil"
|
||||
write /sys/devices/system/cpu/cpu2/cpufreq/blu_schedutil/up_rate_limit_us 250
|
||||
write /sys/devices/system/cpu/cpu2/cpufreq/blu_schedutil/down_rate_limit_us 10000
|
||||
write /sys/devices/system/cpu/cpu2/cpufreq/blu_schedutil/iowait_boost_enable 1
|
||||
|
||||
# Set boottime stune value
|
||||
write /dev/stune/schedtune.prefer_idle 1
|
||||
|
@ -191,6 +189,9 @@ on property:sys.boot_completed=1
|
|||
# Set I/O squeduler
|
||||
setprop sys.io.scheduler "bfq"
|
||||
|
||||
# Set idle GPU to 133 Mhz
|
||||
write /sys/class/kgsl/kgsl-3d0/default_pwrlevel 6
|
||||
|
||||
# Update cpusets now that boot is complete and we want better load balancing
|
||||
write /dev/cpuset/top-app/cpus 0-3
|
||||
write /dev/cpuset/foreground/cpus 0-2
|
||||
|
@ -207,9 +208,3 @@ service charger /system/bin/lpm
|
|||
group system radio graphics input
|
||||
capabilities SYS_BOOT
|
||||
seclabel u:r:charger:s0
|
||||
|
||||
service energy-awareness /vendor/bin/energy-awareness
|
||||
class main
|
||||
user root
|
||||
group system
|
||||
oneshot
|
||||
|
|
|
@ -524,18 +524,18 @@ service vendor.netmgrd /system/vendor/bin/netmgrd
|
|||
class main
|
||||
disabled
|
||||
|
||||
service vendor.ipacm-diag /system/vendor/bin/ipacm-diag
|
||||
class main
|
||||
user radio
|
||||
socket ipacm_log_file dgram 660 radio radio
|
||||
group radio diag oem_2901
|
||||
disabled
|
||||
|
||||
#service vendor.ipacm-diag /system/vendor/bin/ipacm-diag
|
||||
# class main
|
||||
# user radio
|
||||
# socket ipacm_log_file dgram 660 radio radio
|
||||
# group radio diag oem_2901
|
||||
# disabled
|
||||
#
|
||||
service vendor.ipacm /system/vendor/bin/ipacm
|
||||
class main
|
||||
class late_start
|
||||
user radio
|
||||
group radio inet
|
||||
disabled
|
||||
writepid /dev/cpuset/system-background/tasks
|
||||
|
||||
service vendor.dataqti /system/vendor/bin/qti
|
||||
class main
|
||||
|
|
|
@ -459,12 +459,12 @@ on property:init.svc.zygote=running
|
|||
on property:init.svc.zygote=restarting
|
||||
stop ppd
|
||||
|
||||
#service energy-awareness /system/vendor/bin/energy-awareness
|
||||
# class main
|
||||
# user system
|
||||
# group system
|
||||
# oneshot
|
||||
#
|
||||
service vendor.energy-awareness /vendor/bin/energy-awareness
|
||||
class main
|
||||
user root
|
||||
group system
|
||||
oneshot
|
||||
|
||||
#service vendor.hvdcp_opti /system/vendor/bin/hvdcp_opti
|
||||
# class main
|
||||
# user root
|
||||
|
|
|
@ -54,7 +54,6 @@ type sysfs_fpc, fs_type, sysfs_type;
|
|||
type sysfs_lcd_writable, fs_type, sysfs_type;
|
||||
type sysfs_mdnie_writable, fs_type, sysfs_type;
|
||||
type sysfs_sec_keypad, fs_type, sysfs_type;
|
||||
type sysfs_sec_switch, fs_type, sysfs_type;
|
||||
type sysfs_tsp, fs_type, sysfs_type;
|
||||
type sysfs_wifi, fs_type, sysfs_type;
|
||||
type sysfs_touchkey, fs_type, sysfs_type;
|
||||
|
|
|
@ -177,7 +177,6 @@
|
|||
/(vendor|system/vendor)/bin/hw/android\.hardware\.keymaster@4\.0-service\.samsung u:object_r:hal_keymaster_default_exec:s0
|
||||
/(vendor|system/vendor)/bin/hw/android\.hardware\.light@2\.0-service\.samsung u:object_r:hal_light_default_exec:s0
|
||||
/(vendor|system/vendor)/bin/hw/android\.hardware\.usb@1\.2-service-qti u:object_r:hal_usb_default_exec:s0
|
||||
/(vendor|system/vendor)/bin/hw/vendor\.lineage\.fastcharge@1\.0-service\.samsung u:object_r:hal_lineage_fastcharge_default_exec:s0
|
||||
/(vendor|system/vendor)/bin/hw/vendor\.lineage\.livedisplay@2\.0-service\.gts3l u:object_r:hal_lineage_livedisplay_sysfs_exec:s0
|
||||
/(vendor|system/vendor)/bin/hw/vendor\.lineage\.touch@1\.0-service\.gts3l u:object_r:hal_lineage_touch_default_exec:s0
|
||||
/(vendor|system/vendor)/bin/hw/vendor\.samsung\.hardware\.miscpower@1\.0-service u:object_r:hal_power_default_exec:s0
|
||||
|
@ -205,5 +204,4 @@
|
|||
/sys/devices/virtual/lcd/panel(/.*)? u:object_r:sysfs_lcd_writable:s0
|
||||
/sys/devices/virtual/mdnie(/.*)? -- u:object_r:sysfs_mdnie_writable:s0
|
||||
/sys/devices/virtual/sec/sec_keypad(/.*)? u:object_r:sysfs_sec_keypad:s0
|
||||
/sys/devices/virtual/sec/switch(/.*)? u:object_r:sysfs_sec_switch:s0
|
||||
/sys/devices/virtual/sec/tsp(/.*)? u:object_r:sysfs_tsp:s0
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
allow hal_lineage_fastcharge_default sysfs_sec_switch:dir search;
|
||||
allow hal_lineage_fastcharge_default sysfs_sec_switch:file rw_file_perms;
|
||||
|
||||
set_prop(hal_lineage_fastcharge, sec_fastcharge_prop)
|
|
@ -4,7 +4,6 @@ type ina_status_prop, property_type;
|
|||
type receiver_error_prop, property_type;
|
||||
type sec_camera_prop, property_type, file_type;
|
||||
type sec_cnss_diag_prop, property_type;
|
||||
type sec_fastcharge_prop, property_type;
|
||||
type tzdaemon_prop, property_type;
|
||||
type vendor_factory_prop, property_type;
|
||||
type vendor_members_prop, property_type;
|
||||
|
|
|
@ -20,7 +20,6 @@ persist.tnr.process.plates u:object_r:sec_camera_prop:s0
|
|||
persist.vendor.camera. u:object_r:sec_camera_prop:s0
|
||||
persist.vendor.camera.feature.cac u:object_r:sec_camera_prop:s0
|
||||
persist.vendor.camera.global.debug u:object_r:sec_camera_prop:s0
|
||||
persist.vendor.sec.fastchg_enabled u:object_r:sec_fastcharge_prop:s0
|
||||
persist.vendor.members. u:object_r:vendor_members_prop:s0
|
||||
ro.camera.req.fmq.size u:object_r:sec_camera_prop:s0
|
||||
ro.camera.res.fmq.size u:object_r:sec_camera_prop:s0
|
||||
|
|
28
thermal/Android.mk
Normal file
28
thermal/Android.mk
Normal file
|
@ -0,0 +1,28 @@
|
|||
#
|
||||
# Copyright 2016 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.
|
||||
#
|
||||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_CFLAGS := -Wno-unused-parameter
|
||||
LOCAL_MODULE_RELATIVE_PATH := hw
|
||||
LOCAL_SRC_FILES := thermal.c
|
||||
LOCAL_SHARED_LIBRARIES := liblog libcutils
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_MODULE := thermal.msm8996
|
||||
LOCAL_VENDOR_MODULE := true
|
||||
LOCAL_HEADER_LIBRARIES := libutils_headers libhardware_headers
|
||||
include $(BUILD_SHARED_LIBRARY)
|
282
thermal/thermal.c
Normal file
282
thermal/thermal.c
Normal file
|
@ -0,0 +1,282 @@
|
|||
/*
|
||||
* Copyright (C) 2016 The Android Open Source Project
|
||||
* Copyright (C) 2016 The CyanogenMod 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.
|
||||
*/
|
||||
|
||||
#include <ctype.h>
|
||||
#include <errno.h>
|
||||
#include <inttypes.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#define LOG_TAG "ThermalHAL"
|
||||
#include <utils/Log.h>
|
||||
|
||||
#include <hardware/hardware.h>
|
||||
#include <hardware/thermal.h>
|
||||
|
||||
#define MAX_LENGTH 50
|
||||
|
||||
#define CPU_USAGE_FILE "/proc/stat"
|
||||
#define TEMPERATURE_FILE_FORMAT "/sys/class/thermal/thermal_zone%d/temp"
|
||||
#define CPU_ONLINE_FILE_FORMAT "/sys/devices/system/cpu/cpu%d/online"
|
||||
|
||||
#define BATTERY_SENSOR_NUM 29
|
||||
#define GPU_SENSOR_NUM 14
|
||||
#define SKIN_SENSOR_NUM 24
|
||||
|
||||
const int CPU_SENSORS[] = {4, 6, 9, 11};
|
||||
|
||||
#define CPU_NUM (sizeof(CPU_SENSORS) / sizeof(int))
|
||||
// Sum of CPU_NUM + 3 for GPU, BATTERY, and SKIN.
|
||||
#define TEMPERATURE_NUM 7
|
||||
|
||||
//qcom, therm-reset-temp
|
||||
#define CPU_SHUTDOWN_THRESHOLD 115
|
||||
//qcom, limit-temp
|
||||
#define CPU_THROTTLING_THRESHOLD 60
|
||||
#define BATTERY_SHUTDOWN_THRESHOLD 60
|
||||
// device/google/marlin/thermal-engine-marlin.conf
|
||||
#define SKIN_THROTTLING_THRESHOLD 44
|
||||
#define SKIN_SHUTDOWN_THRESHOLD 70
|
||||
#define VR_THROTTLED_BELOW_MIN 58
|
||||
|
||||
#define GPU_LABEL "GPU"
|
||||
#define BATTERY_LABEL "battery"
|
||||
#define SKIN_LABEL "skin"
|
||||
|
||||
const char *CPU_LABEL[] = {"CPU0", "CPU1", "CPU2", "CPU3"};
|
||||
|
||||
/**
|
||||
* Reads device temperature.
|
||||
*
|
||||
* @param sensor_num Number of sensor file with temperature.
|
||||
* @param type Device temperature type.
|
||||
* @param name Device temperature name.
|
||||
* @param mult Multiplier used to translate temperature to Celsius.
|
||||
* @param throttling_threshold Throttling threshold for the temperature.
|
||||
* @param shutdown_threshold Shutdown threshold for the temperature.
|
||||
* @param out Pointer to temperature_t structure that will be filled with current
|
||||
* values.
|
||||
*
|
||||
* @return 0 on success or negative value -errno on error.
|
||||
*/
|
||||
static ssize_t read_temperature(int sensor_num, int type, const char *name, float mult,
|
||||
float throttling_threshold, float shutdown_threshold, float vr_throttling_threshold,
|
||||
temperature_t *out) {
|
||||
FILE *file;
|
||||
char file_name[MAX_LENGTH];
|
||||
float temp;
|
||||
|
||||
sprintf(file_name, TEMPERATURE_FILE_FORMAT, sensor_num);
|
||||
file = fopen(file_name, "r");
|
||||
if (file == NULL) {
|
||||
ALOGE("%s: failed to open: %s", __func__, strerror(errno));
|
||||
return -errno;
|
||||
}
|
||||
if (1 != fscanf(file, "%f", &temp)) {
|
||||
fclose(file);
|
||||
ALOGE("%s: failed to read a float: %s", __func__, strerror(errno));
|
||||
return errno ? -errno : -EIO;
|
||||
}
|
||||
|
||||
fclose(file);
|
||||
|
||||
(*out) = (temperature_t) {
|
||||
.type = type,
|
||||
.name = name,
|
||||
.current_value = temp * mult,
|
||||
.throttling_threshold = throttling_threshold,
|
||||
.shutdown_threshold = shutdown_threshold,
|
||||
.vr_throttling_threshold = vr_throttling_threshold
|
||||
};
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static ssize_t get_cpu_temperatures(temperature_t *list, size_t size) {
|
||||
size_t cpu;
|
||||
|
||||
for (cpu = 0; cpu < CPU_NUM; cpu++) {
|
||||
if (cpu >= size) {
|
||||
break;
|
||||
}
|
||||
// tsens_tz_sensor[4,6,9,11]: temperature in decidegrees Celsius.
|
||||
ssize_t result = read_temperature(CPU_SENSORS[cpu], DEVICE_TEMPERATURE_CPU, CPU_LABEL[cpu],
|
||||
0.1, CPU_THROTTLING_THRESHOLD, CPU_SHUTDOWN_THRESHOLD, UNKNOWN_TEMPERATURE,
|
||||
&list[cpu]);
|
||||
if (result != 0) {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
return cpu;
|
||||
}
|
||||
|
||||
static ssize_t get_temperatures(thermal_module_t *module, temperature_t *list, size_t size) {
|
||||
ssize_t result = 0;
|
||||
size_t current_index = 0;
|
||||
|
||||
if (list == NULL) {
|
||||
return TEMPERATURE_NUM;
|
||||
}
|
||||
|
||||
result = get_cpu_temperatures(list, size);
|
||||
if (result < 0) {
|
||||
return result;
|
||||
}
|
||||
current_index += result;
|
||||
|
||||
// GPU temperature.
|
||||
if (current_index < size) {
|
||||
// tsens_tz_sensor14: temperature in decidegrees Celsius.
|
||||
result = read_temperature(GPU_SENSOR_NUM, DEVICE_TEMPERATURE_GPU, GPU_LABEL, 0.1,
|
||||
UNKNOWN_TEMPERATURE, UNKNOWN_TEMPERATURE, UNKNOWN_TEMPERATURE,
|
||||
&list[current_index]);
|
||||
if (result < 0) {
|
||||
return result;
|
||||
}
|
||||
current_index++;
|
||||
}
|
||||
|
||||
// Battery temperature.
|
||||
if (current_index < size) {
|
||||
// tsens_tz_sensor29: battery: temperature in millidegrees Celsius.
|
||||
result = read_temperature(BATTERY_SENSOR_NUM, DEVICE_TEMPERATURE_BATTERY, BATTERY_LABEL,
|
||||
0.001, UNKNOWN_TEMPERATURE, BATTERY_SHUTDOWN_THRESHOLD, UNKNOWN_TEMPERATURE,
|
||||
&list[current_index]);
|
||||
if (result < 0) {
|
||||
return result;
|
||||
}
|
||||
current_index++;
|
||||
}
|
||||
|
||||
// Skin temperature.
|
||||
if (current_index < size) {
|
||||
// tsens_tz_sensor24: temperature in Celsius.
|
||||
result = read_temperature(SKIN_SENSOR_NUM, DEVICE_TEMPERATURE_SKIN, SKIN_LABEL, 1.,
|
||||
SKIN_THROTTLING_THRESHOLD, SKIN_SHUTDOWN_THRESHOLD, VR_THROTTLED_BELOW_MIN,
|
||||
&list[current_index]);
|
||||
if (result < 0) {
|
||||
return result;
|
||||
}
|
||||
current_index++;
|
||||
}
|
||||
return TEMPERATURE_NUM;
|
||||
}
|
||||
|
||||
static ssize_t get_cpu_usages(thermal_module_t *module, cpu_usage_t *list) {
|
||||
int vals, cpu_num, online;
|
||||
ssize_t read;
|
||||
uint64_t user, nice, system, idle, active, total;
|
||||
char *line = NULL;
|
||||
size_t len = 0;
|
||||
size_t size = 0;
|
||||
char file_name[MAX_LENGTH];
|
||||
FILE *file;
|
||||
FILE *cpu_file;
|
||||
|
||||
if (list == NULL) {
|
||||
return CPU_NUM;
|
||||
}
|
||||
|
||||
file = fopen(CPU_USAGE_FILE, "r");
|
||||
if (file == NULL) {
|
||||
ALOGE("%s: failed to open: %s", __func__, strerror(errno));
|
||||
return -errno;
|
||||
}
|
||||
|
||||
while ((read = getline(&line, &len, file)) != -1) {
|
||||
// Skip non "cpu[0-9]" lines.
|
||||
if (strnlen(line, read) < 4 || strncmp(line, "cpu", 3) != 0 || !isdigit(line[3])) {
|
||||
free(line);
|
||||
line = NULL;
|
||||
len = 0;
|
||||
continue;
|
||||
}
|
||||
|
||||
vals = sscanf(line, "cpu%d %" SCNu64 " %" SCNu64 " %" SCNu64 " %" SCNu64, &cpu_num, &user,
|
||||
&nice, &system, &idle);
|
||||
|
||||
free(line);
|
||||
line = NULL;
|
||||
len = 0;
|
||||
|
||||
if (vals != 5 || size == CPU_NUM) {
|
||||
if (vals != 5) {
|
||||
ALOGE("%s: failed to read CPU information from file: %s", __func__,
|
||||
strerror(errno));
|
||||
} else {
|
||||
ALOGE("/proc/stat file has incorrect format.");
|
||||
}
|
||||
fclose(file);
|
||||
return errno ? -errno : -EIO;
|
||||
}
|
||||
|
||||
active = user + nice + system;
|
||||
total = active + idle;
|
||||
|
||||
// Read online CPU information.
|
||||
snprintf(file_name, MAX_LENGTH, CPU_ONLINE_FILE_FORMAT, cpu_num);
|
||||
cpu_file = fopen(file_name, "r");
|
||||
online = 0;
|
||||
if (cpu_file == NULL) {
|
||||
ALOGE("%s: failed to open file: %s (%s)", __func__, file_name, strerror(errno));
|
||||
fclose(file);
|
||||
return -errno;
|
||||
}
|
||||
if (1 != fscanf(cpu_file, "%d", &online)) {
|
||||
ALOGE("%s: failed to read CPU online information from file: %s (%s)", __func__,
|
||||
file_name, strerror(errno));
|
||||
fclose(file);
|
||||
fclose(cpu_file);
|
||||
return errno ? -errno : -EIO;
|
||||
}
|
||||
fclose(cpu_file);
|
||||
|
||||
list[size] = (cpu_usage_t) {
|
||||
.name = CPU_LABEL[size],
|
||||
.active = active,
|
||||
.total = total,
|
||||
.is_online = online
|
||||
};
|
||||
|
||||
size++;
|
||||
}
|
||||
fclose(file);
|
||||
|
||||
if (size != CPU_NUM) {
|
||||
ALOGE("/proc/stat file has incorrect format.");
|
||||
return -EIO;
|
||||
}
|
||||
return CPU_NUM;
|
||||
}
|
||||
|
||||
static struct hw_module_methods_t thermal_module_methods = {
|
||||
.open = NULL,
|
||||
};
|
||||
|
||||
thermal_module_t HAL_MODULE_INFO_SYM = {
|
||||
.common = {
|
||||
.tag = HARDWARE_MODULE_TAG,
|
||||
.module_api_version = THERMAL_HARDWARE_MODULE_API_VERSION_0_1,
|
||||
.hal_api_version = HARDWARE_HAL_API_VERSION,
|
||||
.id = THERMAL_HARDWARE_MODULE_ID,
|
||||
.name = "Galaxy Tab S3 Thermal HAL",
|
||||
.author = "The Android Open Source Project",
|
||||
.methods = &thermal_module_methods,
|
||||
},
|
||||
.getTemperatures = get_temperatures,
|
||||
.getCpuUsages = get_cpu_usages,
|
||||
};
|
Loading…
Reference in a new issue