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.json b/powerhint.json
index e1d0606..08d49ba 100644
--- a/powerhint.json
+++ b/powerhint.json
@@ -86,9 +86,13 @@
"Name": "TAUClampBoost",
"Path": "/dev/cpuctl/top-app/cpu.uclamp.min",
"Values": [
+ "0",
+ "24",
"18",
+ "12",
"6"
],
+ "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": "24"
+ },
+ {
+ "PowerHint": "INTERACTION_90",
"Node": "TAUClampBoost",
"Duration": 6000,
"Value": "18"
},
{
+ "PowerHint": "INTERACTION_60",
+ "Node": "TAUClampBoost",
+ "Duration": 6000,
+ "Value": "12"
+ },
+ {
+ "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": "DEVICE_IDLE",
"Node": "F2fsRecessModeEnable",
"Duration": 0,
@@ -174,6 +255,11 @@
},
{
"PowerHint": "LAUNCH",
+ "Type": "EndHint",
+ "Value": "DISABLE_TA_BOOST"
+ },
+ {
+ "PowerHint": "LAUNCH",
"Node": "CPULittleClusterMaxFreq",
"Duration": 5000,
"Value": "9999999"
@@ -305,6 +391,50 @@
"Value": "9999999"
},
{
+ "PowerHint": "REFRESH_120FPS",
+ "Node": "TAUClampBoost",
+ "Duration": 0,
+ "Value": "18"
+ },
+ {
+ "PowerHint": "REFRESH_90FPS",
+ "Node": "TAUClampBoost",
+ "Duration": 0,
+ "Value": "12"
+ },
+ {
+ "PowerHint": "REFRESH_60FPS",
+ "Node": "TAUClampBoost",
+ "Duration": 0,
+ "Value": "6"
+ },
+ {
+ "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": "INTERACTION"
+ },
+ {
+ "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,
diff --git a/powerhint_a0.json b/powerhint_a0.json
index b4cb333..f349d24 100644
--- a/powerhint_a0.json
+++ b/powerhint_a0.json
@@ -57,9 +57,13 @@
"Name": "TAUClampBoost",
"Path": "/dev/cpuctl/top-app/cpu.uclamp.min",
"Values": [
+ "0",
+ "40",
"30",
+ "20",
"10"
],
+ "DefaultIndex": 0,
"ResetOnInit": true
},
{
@@ -102,6 +106,11 @@
"Actions": [
{
"PowerHint": "INTERACTION",
+ "Type": "EndHint",
+ "Value": "DISABLE_TA_BOOST"
+ },
+ {
+ "PowerHint": "INTERACTION",
"Node": "CPUBigClusterMinFreq",
"Duration": 6000,
"Value": "1197000"
@@ -114,11 +123,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": "PreferHighCapEnable",
"Duration": 6000,
@@ -138,6 +219,11 @@
},
{
"PowerHint": "LAUNCH",
+ "Type": "EndHint",
+ "Value": "DISABLE_TA_BOOST"
+ },
+ {
+ "PowerHint": "LAUNCH",
"Node": "CPUBigClusterMaxFreq",
"Duration": 5000,
"Value": "9999999"
@@ -162,6 +248,12 @@
},
{
"PowerHint": "LAUNCH",
+ "Node": "TAUClampBoost",
+ "Duration": 5000,
+ "Value": "30"
+ },
+ {
+ "PowerHint": "LAUNCH",
"Node": "PreferHighCapEnable",
"Duration": 5000,
"Value": "1"
@@ -261,6 +353,45 @@
"Node": "GPUMinFreq",
"Duration": 0,
"Value": "455000"
+ },
+ {
+ "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"
}
]
}
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,