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
This commit is contained in:
Jimmy Shiu 2021-03-08 12:09:43 +08:00 committed by Wei Wang
parent cfaf39f1de
commit cfb1e3fdef
3 changed files with 386 additions and 0 deletions

View file

@ -86,9 +86,13 @@
"Name": "TAUClampBoost", "Name": "TAUClampBoost",
"Path": "/dev/cpuctl/top-app/cpu.uclamp.min", "Path": "/dev/cpuctl/top-app/cpu.uclamp.min",
"Values": [ "Values": [
"0",
"24",
"18", "18",
"12",
"6" "6"
], ],
"DefaultIndex": 0,
"ResetOnInit": true "ResetOnInit": true
}, },
{ {
@ -130,6 +134,11 @@
} }
], ],
"Actions": [ "Actions": [
{
"PowerHint": "INTERACTION",
"Type": "EndHint",
"Value": "DISABLE_TA_BOOST"
},
{ {
"PowerHint": "INTERACTION", "PowerHint": "INTERACTION",
"Node": "CPUBigClusterMinFreq", "Node": "CPUBigClusterMinFreq",
@ -150,10 +159,82 @@
}, },
{ {
"PowerHint": "INTERACTION", "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", "Node": "TAUClampBoost",
"Duration": 6000, "Duration": 6000,
"Value": "18" "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", "PowerHint": "DEVICE_IDLE",
"Node": "F2fsRecessModeEnable", "Node": "F2fsRecessModeEnable",
@ -172,6 +253,11 @@
"Duration": 5000, "Duration": 5000,
"Value": "9999999" "Value": "9999999"
}, },
{
"PowerHint": "LAUNCH",
"Type": "EndHint",
"Value": "DISABLE_TA_BOOST"
},
{ {
"PowerHint": "LAUNCH", "PowerHint": "LAUNCH",
"Node": "CPULittleClusterMaxFreq", "Node": "CPULittleClusterMaxFreq",
@ -304,6 +390,50 @@
"Duration": 0, "Duration": 0,
"Value": "9999999" "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", "PowerHint": "THERMAL_FLASH_LED_REDUCE_CRITICAL",
"Node": "LimitFlashCurrent", "Node": "LimitFlashCurrent",

View file

@ -57,9 +57,13 @@
"Name": "TAUClampBoost", "Name": "TAUClampBoost",
"Path": "/dev/cpuctl/top-app/cpu.uclamp.min", "Path": "/dev/cpuctl/top-app/cpu.uclamp.min",
"Values": [ "Values": [
"0",
"40",
"30", "30",
"20",
"10" "10"
], ],
"DefaultIndex": 0,
"ResetOnInit": true "ResetOnInit": true
}, },
{ {
@ -100,6 +104,11 @@
} }
], ],
"Actions": [ "Actions": [
{
"PowerHint": "INTERACTION",
"Type": "EndHint",
"Value": "DISABLE_TA_BOOST"
},
{ {
"PowerHint": "INTERACTION", "PowerHint": "INTERACTION",
"Node": "CPUBigClusterMinFreq", "Node": "CPUBigClusterMinFreq",
@ -114,10 +123,82 @@
}, },
{ {
"PowerHint": "INTERACTION", "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", "Node": "TAUClampBoost",
"Duration": 6000, "Duration": 6000,
"Value": "30" "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", "PowerHint": "INTERACTION",
"Node": "PreferHighCapEnable", "Node": "PreferHighCapEnable",
@ -136,6 +217,11 @@
"Duration": 0, "Duration": 0,
"Value": "2" "Value": "2"
}, },
{
"PowerHint": "LAUNCH",
"Type": "EndHint",
"Value": "DISABLE_TA_BOOST"
},
{ {
"PowerHint": "LAUNCH", "PowerHint": "LAUNCH",
"Node": "CPUBigClusterMaxFreq", "Node": "CPUBigClusterMaxFreq",
@ -160,6 +246,12 @@
"Duration": 5000, "Duration": 5000,
"Value": "9999999" "Value": "9999999"
}, },
{
"PowerHint": "LAUNCH",
"Node": "TAUClampBoost",
"Duration": 5000,
"Value": "30"
},
{ {
"PowerHint": "LAUNCH", "PowerHint": "LAUNCH",
"Node": "PreferHighCapEnable", "Node": "PreferHighCapEnable",
@ -261,6 +353,45 @@
"Node": "GPUMinFreq", "Node": "GPUMinFreq",
"Duration": 0, "Duration": 0,
"Value": "455000" "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"
} }
] ]
} }

View file

@ -77,9 +77,13 @@
"Name": "TAUClampBoost", "Name": "TAUClampBoost",
"Path": "/dev/cpuctl/top-app/cpu.uclamp.min", "Path": "/dev/cpuctl/top-app/cpu.uclamp.min",
"Values": [ "Values": [
"0",
"40",
"30", "30",
"20",
"10" "10"
], ],
"DefaultIndex": 0,
"ResetOnInit": true "ResetOnInit": true
}, },
{ {
@ -130,6 +134,11 @@
} }
], ],
"Actions": [ "Actions": [
{
"PowerHint": "INTERACTION",
"Type": "EndHint",
"Value": "DISABLE_TA_BOOST"
},
{ {
"PowerHint": "INTERACTION", "PowerHint": "INTERACTION",
"Node": "CPUBigClusterMinFreq", "Node": "CPUBigClusterMinFreq",
@ -150,10 +159,82 @@
}, },
{ {
"PowerHint": "INTERACTION", "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", "Node": "TAUClampBoost",
"Duration": 6000, "Duration": 6000,
"Value": "30" "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", "PowerHint": "INTERACTION",
"Node": "UfsClkGateEnable", "Node": "UfsClkGateEnable",
@ -166,6 +247,11 @@
"Duration": 0, "Duration": 0,
"Value": "2" "Value": "2"
}, },
{
"PowerHint": "LAUNCH",
"Type": "EndHint",
"Value": "DISABLE_TA_BOOST"
},
{ {
"PowerHint": "LAUNCH", "PowerHint": "LAUNCH",
"Node": "CPUMidClusterMaxFreq", "Node": "CPUMidClusterMaxFreq",
@ -292,6 +378,45 @@
"Duration": 0, "Duration": 0,
"Value": "9999999" "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", "PowerHint": "THERMAL_FLASH_LED_REDUCE_CRITICAL",
"Node": "LimitFlashCurrent", "Node": "LimitFlashCurrent",