From cfb1e3fdefb82d7a5ef392ffb78a5733dce960d7 Mon Sep 17 00:00:00 2001 From: Jimmy Shiu Date: Mon, 8 Mar 2021 12:09:43 +0800 Subject: [PATCH] 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 --- powerhint.json | 130 +++++++++++++++++++++++++++++++++++++++++++++ powerhint_a0.json | 131 ++++++++++++++++++++++++++++++++++++++++++++++ powerhint_a1.json | 125 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 386 insertions(+) diff --git a/powerhint.json b/powerhint.json index e1d06065..08d49bab 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 }, { @@ -130,6 +134,11 @@ } ], "Actions": [ + { + "PowerHint": "INTERACTION", + "Type": "EndHint", + "Value": "DISABLE_TA_BOOST" + }, { "PowerHint": "INTERACTION", "Node": "CPUBigClusterMinFreq", @@ -150,10 +159,82 @@ }, { "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", @@ -172,6 +253,11 @@ "Duration": 5000, "Value": "9999999" }, + { + "PowerHint": "LAUNCH", + "Type": "EndHint", + "Value": "DISABLE_TA_BOOST" + }, { "PowerHint": "LAUNCH", "Node": "CPULittleClusterMaxFreq", @@ -304,6 +390,50 @@ "Duration": 0, "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", diff --git a/powerhint_a0.json b/powerhint_a0.json index b4cb3335..f349d24d 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 }, { @@ -100,6 +104,11 @@ } ], "Actions": [ + { + "PowerHint": "INTERACTION", + "Type": "EndHint", + "Value": "DISABLE_TA_BOOST" + }, { "PowerHint": "INTERACTION", "Node": "CPUBigClusterMinFreq", @@ -114,10 +123,82 @@ }, { "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", @@ -136,6 +217,11 @@ "Duration": 0, "Value": "2" }, + { + "PowerHint": "LAUNCH", + "Type": "EndHint", + "Value": "DISABLE_TA_BOOST" + }, { "PowerHint": "LAUNCH", "Node": "CPUBigClusterMaxFreq", @@ -160,6 +246,12 @@ "Duration": 5000, "Value": "9999999" }, + { + "PowerHint": "LAUNCH", + "Node": "TAUClampBoost", + "Duration": 5000, + "Value": "30" + }, { "PowerHint": "LAUNCH", "Node": "PreferHighCapEnable", @@ -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 098efd47..6a13c0ff 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 }, { @@ -130,6 +134,11 @@ } ], "Actions": [ + { + "PowerHint": "INTERACTION", + "Type": "EndHint", + "Value": "DISABLE_TA_BOOST" + }, { "PowerHint": "INTERACTION", "Node": "CPUBigClusterMinFreq", @@ -150,10 +159,82 @@ }, { "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", @@ -166,6 +247,11 @@ "Duration": 0, "Value": "2" }, + { + "PowerHint": "LAUNCH", + "Type": "EndHint", + "Value": "DISABLE_TA_BOOST" + }, { "PowerHint": "LAUNCH", "Node": "CPUMidClusterMaxFreq", @@ -292,6 +378,45 @@ "Duration": 0, "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",