powerhint: Add Display refresh rate hint, DISPLAY_IDLE and DISPLAY_UPDATE_IMMINENT
Add display refresh rate changed hints:
REFRESH_120FPS
REFRESH_90FPS
REFRESH_60FPS
For DISPLAY_IDLE hint, set TAUClampBoost to 0.
Then for DISPLAY_UPDATE_IMMINENT and INTERACTION, set TAUClampBoost back to default.
Bug: 170648686
Bug: 170508822
Test: `watch -n 1 adb shell cat /dev/cpuctl/top-app/cpu.uclamp.min`
Change-Id: I18fd6d4257f8902ddbbdb3ed4a20b88d5cc43a2c
diff --git a/powerhint_a1.json b/powerhint_a1.json
index 098efd4..6a13c0f 100644
--- a/powerhint_a1.json
+++ b/powerhint_a1.json
@@ -77,9 +77,13 @@
"Name": "TAUClampBoost",
"Path": "/dev/cpuctl/top-app/cpu.uclamp.min",
"Values": [
+ "0",
+ "40",
"30",
+ "20",
"10"
],
+ "DefaultIndex": 0,
"ResetOnInit": true
},
{
@@ -132,6 +136,11 @@
"Actions": [
{
"PowerHint": "INTERACTION",
+ "Type": "EndHint",
+ "Value": "DISABLE_TA_BOOST"
+ },
+ {
+ "PowerHint": "INTERACTION",
"Node": "CPUBigClusterMinFreq",
"Duration": 6000,
"Value": "1106000"
@@ -150,11 +159,83 @@
},
{
"PowerHint": "INTERACTION",
+ "Type": "DoHint",
+ "Value": "INTERACTION_120"
+ },
+ {
+ "PowerHint": "INTERACTION",
+ "Type": "DoHint",
+ "Value": "INTERACTION_90"
+ },
+ {
+ "PowerHint": "INTERACTION",
+ "Type": "DoHint",
+ "Value": "INTERACTION_60"
+ },
+ {
+ "PowerHint": "INTERACTION_120",
+ "Node": "TAUClampBoost",
+ "Duration": 6000,
+ "Value": "40"
+ },
+ {
+ "PowerHint": "INTERACTION_90",
"Node": "TAUClampBoost",
"Duration": 6000,
"Value": "30"
},
{
+ "PowerHint": "INTERACTION_60",
+ "Node": "TAUClampBoost",
+ "Duration": 6000,
+ "Value": "20"
+ },
+ {
+ "PowerHint": "REFRESH_120FPS",
+ "Type": "MaskHint",
+ "Value": "INTERACTION_60"
+ },
+ {
+ "PowerHint": "REFRESH_120FPS",
+ "Type": "MaskHint",
+ "Value": "INTERACTION_90"
+ },
+ {
+ "PowerHint": "REFRESH_90FPS",
+ "Type": "MaskHint",
+ "Value": "INTERACTION_60"
+ },
+ {
+ "PowerHint": "REFRESH_90FPS",
+ "Type": "MaskHint",
+ "Value": "INTERACTION_120"
+ },
+ {
+ "PowerHint": "REFRESH_60FPS",
+ "Type": "MaskHint",
+ "Value": "INTERACTION_90"
+ },
+ {
+ "PowerHint": "REFRESH_60FPS",
+ "Type": "MaskHint",
+ "Value": "INTERACTION_120"
+ },
+ {
+ "PowerHint": "DISPLAY_IDLE",
+ "Type": "EndHint",
+ "Value": "INTERACTION_120"
+ },
+ {
+ "PowerHint": "DISPLAY_IDLE",
+ "Type": "EndHint",
+ "Value": "INTERACTION_90"
+ },
+ {
+ "PowerHint": "DISPLAY_IDLE",
+ "Type": "EndHint",
+ "Value": "INTERACTION_60"
+ },
+ {
"PowerHint": "INTERACTION",
"Node": "UfsClkGateEnable",
"Duration": 200,
@@ -168,6 +249,11 @@
},
{
"PowerHint": "LAUNCH",
+ "Type": "EndHint",
+ "Value": "DISABLE_TA_BOOST"
+ },
+ {
+ "PowerHint": "LAUNCH",
"Node": "CPUMidClusterMaxFreq",
"Duration": 5000,
"Value": "9999999"
@@ -293,6 +379,45 @@
"Value": "9999999"
},
{
+ "PowerHint": "REFRESH_120FPS",
+ "Node": "TAUClampBoost",
+ "Duration": 0,
+ "Value": "30"
+ },
+ {
+ "PowerHint": "REFRESH_90FPS",
+ "Node": "TAUClampBoost",
+ "Duration": 0,
+ "Value": "20"
+ },
+ {
+ "PowerHint": "REFRESH_60FPS",
+ "Node": "TAUClampBoost",
+ "Duration": 0,
+ "Value": "10"
+ },
+ {
+ "PowerHint": "DISABLE_TA_BOOST",
+ "Node": "TAUClampBoost",
+ "Duration": 0,
+ "Value": "0"
+ },
+ {
+ "PowerHint": "DISPLAY_IDLE",
+ "Type": "DoHint",
+ "Value": "DISABLE_TA_BOOST"
+ },
+ {
+ "PowerHint": "DISPLAY_IDLE",
+ "Type": "EndHint",
+ "Value": "DISPLAY_UPDATE_IMMINENT"
+ },
+ {
+ "PowerHint": "DISPLAY_UPDATE_IMMINENT",
+ "Type": "EndHint",
+ "Value": "DISABLE_TA_BOOST"
+ },
+ {
"PowerHint": "THERMAL_FLASH_LED_REDUCE_CRITICAL",
"Node": "LimitFlashCurrent",
"Duration": 0,