thermal: Add odpm based VSkin Model

- Add vskin model using:
	- thermistor temperature
	- last 5 min average power of rails
- Add residency monitoring for:
	- vskin-odpm-model - vskin-legacy.
	- align thresholds for vskin-model - vskin-legacy with other
	  devices.
	- vskin-model
	- vskin-odpm-model

Bug: 366375997
Test: Push config and verify lshal
Flag: EXEMPT config update
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:8f6b18a05086c1f9d00dc917aa09d05496baac2b)
Merged-In: I7f3cdbc009a608497de33cfcdc0e86005c2e842a
Change-Id: I7f3cdbc009a608497de33cfcdc0e86005c2e842a
This commit is contained in:
sashwinbalaji 2024-09-11 09:04:56 +08:00 committed by Android Build Coastguard Worker
parent f516c26da6
commit b33a59cd3e
3 changed files with 113 additions and 5 deletions

View file

@ -123,6 +123,7 @@ PRODUCT_PACKAGES += \
TARGET_VENDOR_THERMAL_CONFIG_PATH := device/google/tegu/thermal TARGET_VENDOR_THERMAL_CONFIG_PATH := device/google/tegu/thermal
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \
$(TARGET_VENDOR_THERMAL_CONFIG_PATH)/vt_estimation_model_tegu.tflite:$(TARGET_COPY_OUT_VENDOR)/etc/vt_estimation_model.tflite \ $(TARGET_VENDOR_THERMAL_CONFIG_PATH)/vt_estimation_model_tegu.tflite:$(TARGET_COPY_OUT_VENDOR)/etc/vt_estimation_model.tflite \
$(TARGET_VENDOR_THERMAL_CONFIG_PATH)/vt_estimation_odpm_model_tegu.tflite:$(TARGET_COPY_OUT_VENDOR)/etc/vt_estimation_odpm_model.tflite \
$(TARGET_VENDOR_THERMAL_CONFIG_PATH)/vt_speaker_estimation_model_tegu.tflite:$(TARGET_COPY_OUT_VENDOR)/etc/vt_speaker_estimation_model.tflite \ $(TARGET_VENDOR_THERMAL_CONFIG_PATH)/vt_speaker_estimation_model_tegu.tflite:$(TARGET_COPY_OUT_VENDOR)/etc/vt_speaker_estimation_model.tflite \
# Bluetooth HAL # Bluetooth HAL

View file

@ -186,6 +186,17 @@
"Coefficient": [60000.0], "Coefficient": [60000.0],
"Multiplier": 1.0 "Multiplier": 1.0
}, },
{
"Name": "VIRTUAL-SKIN-ODPM-MODEL",
"Type": "UNKNOWN",
"Version": "0.1",
"VirtualSensor": true,
"ModelPath": "vt_estimation_odpm_model.tflite",
"Formula": "USE_ML_MODEL",
"Combination": ["north_therm", "rfpa_therm", "soc_therm", "charging_therm", "disp_therm", "btmspkr_therm", "quiet_therm", "usb_pwr_therm", "MODEL_MISC_PWR", "MODEL_CAMERA_PWR", "MODEL_DISPLAY_PWR", "MODEL_MODEM_PWR", "MODEL_RFFE_PWR", "MODEL_WLAN_BT_PWR"],
"CombinationType": ["SENSOR", "SENSOR", "SENSOR", "SENSOR", "SENSOR", "SENSOR", "SENSOR", "SENSOR", "ODPM", "ODPM", "ODPM", "ODPM", "ODPM", "ODPM"],
"Multiplier": 0.001
},
{ {
"Name": "VIRTUAL-SKIN-MODEL", "Name": "VIRTUAL-SKIN-MODEL",
"Type": "UNKNOWN", "Type": "UNKNOWN",
@ -210,6 +221,17 @@
"SendPowerHint":true, "SendPowerHint":true,
"Multiplier": 1 "Multiplier": 1
}, },
{
"Name": "VIRTUAL-SKIN-ODPM-MODEL-LEGACY-DIFF",
"Type": "UNKNOWN",
"Hidden":true,
"VirtualSensor": true,
"Formula": "WEIGHTED_AVG",
"Combination": ["VIRTUAL-SKIN-ODPM-MODEL", "VIRTUAL-SKIN-LEGACY"],
"Coefficient": [1.0, -1.0],
"SendPowerHint":true,
"Multiplier": 1
},
{ {
"Name": "VIRTUAL-SKIN-MODEL-UPPER-CLAMPED", "Name": "VIRTUAL-SKIN-MODEL-UPPER-CLAMPED",
"Type": "UNKNOWN", "Type": "UNKNOWN",
@ -1039,7 +1061,6 @@
"Coefficient":[-64000], "Coefficient":[-64000],
"Multiplier":1 "Multiplier":1
}, },
{ {
"Name":"NORTH_THERM-UNDER-THRESHOLD", "Name":"NORTH_THERM-UNDER-THRESHOLD",
"Type":"UNKNOWN", "Type":"UNKNOWN",
@ -1115,13 +1136,13 @@
"Hidden": true, "Hidden": true,
"TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"], "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
"Formula": "WEIGHTED_AVG", "Formula": "WEIGHTED_AVG",
"Combination": ["VIRTUAL-SKIN-MODEL", "VIRTUAL-SKIN-LEGACY", "VIRTUAL-SKIN-MODEL-LEGACY-DIFF", "Combination": ["VIRTUAL-SKIN-MODEL", "VIRTUAL-SKIN-ODPM-MODEL", "VIRTUAL-SKIN-LEGACY", "VIRTUAL-SKIN-MODEL-LEGACY-DIFF",
"QUIET_THERM-VSKIN-DIFF-DURING-VSKIN-OVER-52", "QUIET_THERM-VSKIN-DIFF-DURING-QUIET_THERM-OVER-THRESHOLD", "QUIET_THERM-VSKIN-DIFF-DURING-VSKIN-OVER-52", "QUIET_THERM-VSKIN-DIFF-DURING-QUIET_THERM-OVER-THRESHOLD",
"SOC_THERM-VSKIN-DIFF-DURING-VSKIN-OVER-52", "SOC_THERM-VSKIN-DIFF-DURING-SOC_THERM-OVER-THRESHOLD", "SOC_THERM-VSKIN-DIFF-DURING-VSKIN-OVER-52", "SOC_THERM-VSKIN-DIFF-DURING-SOC_THERM-OVER-THRESHOLD",
"NORTH_THERM-VSKIN-DIFF-DURING-VSKIN-OVER-52", "NORTH_THERM-VSKIN-DIFF-DURING-NORTH_THERM-OVER-THRESHOLD", "NORTH_THERM-VSKIN-DIFF-DURING-VSKIN-OVER-52", "NORTH_THERM-VSKIN-DIFF-DURING-NORTH_THERM-OVER-THRESHOLD",
"RFPA_THERM-VSKIN-DIFF-DURING-VSKIN-OVER-52", "RFPA_THERM-VSKIN-DIFF-DURING-RFPA_THERM-OVER-THRESHOLD", "RFPA_THERM-VSKIN-DIFF-DURING-VSKIN-OVER-52", "RFPA_THERM-VSKIN-DIFF-DURING-RFPA_THERM-OVER-THRESHOLD",
"VIRTUAL-SKIN-SPEAKER-MODEL", "EXTREME-SOC-CONDITION-CHECK"], "VIRTUAL-SKIN-SPEAKER-MODEL", "EXTREME-SOC-CONDITION-CHECK"],
"Coefficient": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "Coefficient": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
"Multiplier": 1, "Multiplier": 1,
"SendPowerHint": true, "SendPowerHint": true,
"PollingDelay": 300000, "PollingDelay": 300000,
@ -1266,6 +1287,60 @@
"PowerSampleDelay":7000, "PowerSampleDelay":7000,
"PowerSampleCount":5 "PowerSampleCount":5
}, },
{
"Name":"MODEL_MISC_PWR",
"VirtualRails":true,
"Formula":"WEIGHTED_AVG",
"Combination":["L21S_VDD2L_MEM", "S8M_LLDO2", "S6M_LLDO1", "S1M_VDD_MIF", "S1S_VDD_CAM", "S2M_VDD_CPUCL1", "S2S_VDD_G3D", "S3M_VDD_CPUCL2", "S4M_VDD_CPUCL0", "S4S_VDD2H_MEM", "S5M_VDD_INT", "S5S_VDDQ_MEM", "S7M_VDD_TPU", "S9S_VDD_AOC", "L2S_PLL_MIPI_UFS", "S9M_VDD_CPUCL1_M"],
"Coefficient": [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],
"PowerSampleDelay":7000,
"PowerSampleCount": 40
},
{
"Name":"MODEL_CAMERA_PWR",
"VirtualRails":true,
"Formula":"MAXIMUM",
"Combination":["VSYS_PWR_CAMERA"],
"Coefficient": [1.0],
"PowerSampleDelay":7000,
"PowerSampleCount": 40
},
{
"Name":"MODEL_DISPLAY_PWR",
"VirtualRails":true,
"Formula":"MAXIMUM",
"Combination":["VSYS_PWR_DISPLAY"],
"Coefficient": [1.0],
"PowerSampleDelay":7000,
"PowerSampleCount": 40
},
{
"Name":"MODEL_MODEM_PWR",
"VirtualRails":true,
"Formula":"MAXIMUM",
"Combination":["VSYS_PWR_MODEM"],
"Coefficient": [1.0],
"PowerSampleDelay":7000,
"PowerSampleCount": 40
},
{
"Name":"MODEL_RFFE_PWR",
"VirtualRails":true,
"Formula":"MAXIMUM",
"Combination":["VSYS_PWR_RFFE"],
"Coefficient": [1.0],
"PowerSampleDelay":7000,
"PowerSampleCount": 40
},
{
"Name":"MODEL_WLAN_BT_PWR",
"VirtualRails":true,
"Formula":"MAXIMUM",
"Combination":["VSYS_PWR_WLAN_BT"],
"Coefficient": [1.0],
"PowerSampleDelay":7000,
"PowerSampleCount": 40
},
{ {
"Name":"PARTIAL_SYSTEM_POWER", "Name":"PARTIAL_SYSTEM_POWER",
"VirtualRails":true, "VirtualRails":true,
@ -1288,6 +1363,14 @@
"Name": "VIRTUAL-SKIN", "Name": "VIRTUAL-SKIN",
"Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 55] "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 55]
}, },
{
"Name": "VIRTUAL-SKIN-MODEL",
"Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55]
},
{
"Name": "VIRTUAL-SKIN-ODPM-MODEL",
"Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55]
},
{ {
"Name": "QUIET_THERM-VSKIN-DIFF-DURING-VSKIN-OVER-52", "Name": "QUIET_THERM-VSKIN-DIFF-DURING-VSKIN-OVER-52",
"Thresholds": [-18, -16, -14, -12, -10, -8, -6, -4, -2, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18] "Thresholds": [-18, -16, -14, -12, -10, -8, -6, -4, -2, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
@ -1324,12 +1407,36 @@
"Name": "EXTREME-SOC-CONDITION-CHECK", "Name": "EXTREME-SOC-CONDITION-CHECK",
"Thresholds": [0, 3] "Thresholds": [0, 3]
}, },
{
"Name": "VIRTUAL-SKIN-MODEL-LEGACY-DIFF",
"LoggingName": "MODEL-LEGACY-0.5",
"Thresholds": [
-4500, -4000, -3500, -3000, -2500, -2000, -1500, -1000, -500, 0,
500, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500
]
},
{ {
"Name": "VIRTUAL-SKIN-MODEL-LEGACY-DIFF", "Name": "VIRTUAL-SKIN-MODEL-LEGACY-DIFF",
"LoggingName": "MODEL-LEGACY-1", "LoggingName": "MODEL-LEGACY-1",
"Thresholds": [ "Thresholds": [
-10000, -9000, -8000, -7000, -6000, -5000, -4000, -3000, -2000, -1000, -13000, -12000, -11000, -10000, -9000, -8000, -7000, -6000, -5000,
0, 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000 -4000, 4000, 5000, 6000, 7000, 8000, 9000, 10000, 11000, 12000
]
},
{
"Name": "VIRTUAL-SKIN-ODPM-MODEL-LEGACY-DIFF",
"LoggingName": "ODPM-MODEL-LEGACY-0.5",
"Thresholds": [
-4500, -4000, -3500, -3000, -2500, -2000, -1500, -1000, -500, 0,
500, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500
]
},
{
"Name": "VIRTUAL-SKIN-ODPM-MODEL-LEGACY-DIFF",
"LoggingName": "ODPM-MODEL-LEGACY-1",
"Thresholds": [
-13000, -12000, -11000, -10000, -9000, -8000, -7000, -6000, -5000,
-4000, 4000, 5000, 6000, 7000, 8000, 9000, 10000, 11000, 12000
] ]
} }
], ],

Binary file not shown.