From b33a59cd3e132354a3ee78c436db7f330474778a Mon Sep 17 00:00:00 2001 From: sashwinbalaji Date: Wed, 11 Sep 2024 09:04:56 +0800 Subject: [PATCH] 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 --- device-tegu.mk | 1 + thermal/thermal_info_config_tegu.json | 117 ++++++++++++++++++- thermal/vt_estimation_odpm_model_tegu.tflite | Bin 0 -> 7938 bytes 3 files changed, 113 insertions(+), 5 deletions(-) create mode 100644 thermal/vt_estimation_odpm_model_tegu.tflite diff --git a/device-tegu.mk b/device-tegu.mk index b53fcac..bc0327b 100644 --- a/device-tegu.mk +++ b/device-tegu.mk @@ -123,6 +123,7 @@ PRODUCT_PACKAGES += \ TARGET_VENDOR_THERMAL_CONFIG_PATH := device/google/tegu/thermal 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_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 \ # Bluetooth HAL diff --git a/thermal/thermal_info_config_tegu.json b/thermal/thermal_info_config_tegu.json index 437810b..4cb2882 100644 --- a/thermal/thermal_info_config_tegu.json +++ b/thermal/thermal_info_config_tegu.json @@ -186,6 +186,17 @@ "Coefficient": [60000.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", "Type": "UNKNOWN", @@ -210,6 +221,17 @@ "SendPowerHint":true, "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", "Type": "UNKNOWN", @@ -1039,7 +1061,6 @@ "Coefficient":[-64000], "Multiplier":1 }, - { "Name":"NORTH_THERM-UNDER-THRESHOLD", "Type":"UNKNOWN", @@ -1115,13 +1136,13 @@ "Hidden": true, "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"], "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", "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", "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"], - "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, "SendPowerHint": true, "PollingDelay": 300000, @@ -1266,6 +1287,60 @@ "PowerSampleDelay":7000, "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", "VirtualRails":true, @@ -1288,6 +1363,14 @@ "Name": "VIRTUAL-SKIN", "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", "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", "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", "LoggingName": "MODEL-LEGACY-1", "Thresholds": [ - -10000, -9000, -8000, -7000, -6000, -5000, -4000, -3000, -2000, -1000, - 0, 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000 + -13000, -12000, -11000, -10000, -9000, -8000, -7000, -6000, -5000, + -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 ] } ], diff --git a/thermal/vt_estimation_odpm_model_tegu.tflite b/thermal/vt_estimation_odpm_model_tegu.tflite new file mode 100644 index 0000000000000000000000000000000000000000..d1fceb429a0926b3ec556f9a78f8d1cf23f76c37 GIT binary patch literal 7938 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