diff --git a/device.mk b/device.mk
index dad8e372..47552fea 100644
--- a/device.mk
+++ b/device.mk
@@ -415,7 +415,11 @@ endif
# Power HAL
PRODUCT_COPY_FILES += \
device/google/gs101/task_profiles.json:$(TARGET_COPY_OUT_VENDOR)/etc/task_profiles.json
-
+# Legacy HW
+PRODUCT_COPY_FILES += \
+ device/google/gs101/powerhint_a0.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint_a0.json
+PRODUCT_COPY_FILES += \
+ device/google/gs101/powerhint_a1.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint_a1.json
-include hardware/google/pixel/power-libperfmgr/aidl/device.mk
# IRQ rebalancing.
diff --git a/overlay/frameworks/base/core/res/res/values/dimens.xml b/overlay/frameworks/base/core/res/res/values/dimens.xml
new file mode 100644
index 00000000..fc36aa34
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values/dimens.xml
@@ -0,0 +1,21 @@
+
+
+
+
+ 70px
+
diff --git a/overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml b/overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml
index cea6e902..6d08eb4c 100644
--- a/overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml
+++ b/overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml
@@ -16,9 +16,6 @@
*/
-->
-
- 70px
-
1dp
diff --git a/powerhint_a0.json b/powerhint_a0.json
new file mode 100644
index 00000000..2136a2bb
--- /dev/null
+++ b/powerhint_a0.json
@@ -0,0 +1,364 @@
+{
+ "Nodes": [
+ {
+ "Name": "CPULittleClusterMaxFreq",
+ "Path": "/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq",
+ "Values": [
+ "9999999",
+ "1197000"
+ ],
+ "DefaultIndex": 0,
+ "ResetOnInit": true
+ },
+ {
+ "Name": "CPULittleClusterMinFreq",
+ "Path": "/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq",
+ "Values": [
+ "9999999",
+ "1197000",
+ "0"
+ ],
+ "ResetOnInit": true
+ },
+ {
+ "Name": "CPUBigClusterMaxFreq",
+ "Path": "/sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq",
+ "Values": [
+ "9999999",
+ "1999000"
+ ],
+ "DefaultIndex": 0,
+ "ResetOnInit": true
+ },
+ {
+ "Name": "CPUBigClusterMinFreq",
+ "Path": "/sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq",
+ "Values": [
+ "9999999",
+ "1197000",
+ "0"
+ ],
+ "ResetOnInit": true
+ },
+ {
+ "Name": "GPUMinFreq",
+ "Path": "/sys/devices/platform/1c500000.mali/hint_min_freq",
+ "Values": [
+ "151000",
+ "302000",
+ "455000",
+ "572000",
+ "670000"
+ ],
+ "DefaultIndex": 0,
+ "ResetOnInit": true
+ },
+ {
+ "Name": "TAUClampBoost",
+ "Path": "/sys/kernel/vendor_sched/ta_uclamp_min",
+ "Values": [
+ "0",
+ "410",
+ "308",
+ "205",
+ "103"
+ ],
+ "DefaultIndex": 0,
+ "ResetOnInit": true
+ },
+ {
+ "Name": "UfsClkGateEnable",
+ "Path": "/dev/sys/block/bootdevice/clkgate_enable",
+ "Values": [
+ "0",
+ "1"
+ ],
+ "ResetOnInit": true
+ },
+ {
+ "Name": "F2fsRecessModeEnable",
+ "Path": "/dev/sys/fs/by-name/userdata/gc_urgent",
+ "Values": [
+ "2",
+ "0"
+ ],
+ "ResetOnInit": true
+ },
+ {
+ "Name": "PowerHALRenderingState",
+ "Path": "vendor.powerhal.rendering",
+ "Values": [
+ "EXPENSIVE_RENDERING",
+ ""
+ ],
+ "Type": "Property"
+ }
+ ],
+ "Actions": [
+ {
+ "PowerHint": "INTERACTION",
+ "Type": "EndHint",
+ "Value": "DISABLE_TA_BOOST"
+ },
+ {
+ "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": "410"
+ },
+ {
+ "PowerHint": "INTERACTION_90",
+ "Node": "TAUClampBoost",
+ "Duration": 6000,
+ "Value": "308"
+ },
+ {
+ "PowerHint": "INTERACTION_60",
+ "Node": "TAUClampBoost",
+ "Duration": 6000,
+ "Value": "205"
+ },
+ {
+ "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,
+ "Value": "0"
+ },
+ {
+ "PowerHint": "DEVICE_IDLE",
+ "Node": "F2fsRecessModeEnable",
+ "Duration": 0,
+ "Value": "2"
+ },
+ {
+ "PowerHint": "LAUNCH",
+ "Type": "EndHint",
+ "Value": "DISABLE_TA_BOOST"
+ },
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "CPUBigClusterMaxFreq",
+ "Duration": 5000,
+ "Value": "9999999"
+ },
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "CPUBigClusterMinFreq",
+ "Duration": 5000,
+ "Value": "9999999"
+ },
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "CPULittleClusterMaxFreq",
+ "Duration": 5000,
+ "Value": "9999999"
+ },
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "CPULittleClusterMinFreq",
+ "Duration": 5000,
+ "Value": "9999999"
+ },
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "TAUClampBoost",
+ "Duration": 5000,
+ "Value": "308"
+ },
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "UfsClkGateEnable",
+ "Duration": 5000,
+ "Value": "0"
+ },
+ {
+ "PowerHint": "DISPLAY_INACTIVE",
+ "Node": "F2fsRecessModeEnable",
+ "Duration": 0,
+ "Value": "2"
+ },
+ {
+ "PowerHint": "CAMERA_LAUNCH",
+ "Node": "CPUBigClusterMaxFreq",
+ "Duration": 1000,
+ "Value": "9999999"
+ },
+ {
+ "PowerHint": "CAMERA_LAUNCH",
+ "Node": "CPUBigClusterMinFreq",
+ "Duration": 1000,
+ "Value": "9999999"
+ },
+ {
+ "PowerHint": "CAMERA_LAUNCH",
+ "Node": "CPULittleClusterMaxFreq",
+ "Duration": 1000,
+ "Value": "9999999"
+ },
+ {
+ "PowerHint": "CAMERA_LAUNCH",
+ "Node": "CPULittleClusterMinFreq",
+ "Duration": 1000,
+ "Value": "9999999"
+ },
+ {
+ "PowerHint": "CAMERA_LAUNCH",
+ "Node": "UfsClkGateEnable",
+ "Duration": 1000,
+ "Value": "0"
+ },
+ {
+ "PowerHint": "CAMERA_STREAMING_STANDARD",
+ "Node": "CPUBigClusterMaxFreq",
+ "Duration": 0,
+ "Value": "1999000"
+ },
+ {
+ "PowerHint": "CAMERA_STREAMING_STANDARD",
+ "Node": "GPUMinFreq",
+ "Duration": 0,
+ "Value": "670000"
+ },
+ {
+ "PowerHint": "FIXED_PERFORMANCE",
+ "Node": "CPUBigClusterMaxFreq",
+ "Duration": 0,
+ "Value": "9999999"
+ },
+ {
+ "PowerHint": "FIXED_PERFORMANCE",
+ "Node": "CPUBigClusterMinFreq",
+ "Duration": 0,
+ "Value": "9999999"
+ },
+ {
+ "PowerHint": "FIXED_PERFORMANCE",
+ "Node": "CPULittleClusterMaxFreq",
+ "Duration": 0,
+ "Value": "9999999"
+ },
+ {
+ "PowerHint": "FIXED_PERFORMANCE",
+ "Node": "CPULittleClusterMinFreq",
+ "Duration": 0,
+ "Value": "9999999"
+ },
+ {
+ "PowerHint": "EXPENSIVE_RENDERING",
+ "Node": "PowerHALRenderingState",
+ "Duration": 0,
+ "Value": "EXPENSIVE_RENDERING"
+ },
+ {
+ "PowerHint": "EXPENSIVE_RENDERING",
+ "Node": "GPUMinFreq",
+ "Duration": 0,
+ "Value": "455000"
+ },
+ {
+ "PowerHint": "REFRESH_120FPS",
+ "Node": "TAUClampBoost",
+ "Duration": 0,
+ "Value": "308"
+ },
+ {
+ "PowerHint": "REFRESH_90FPS",
+ "Node": "TAUClampBoost",
+ "Duration": 0,
+ "Value": "205"
+ },
+ {
+ "PowerHint": "REFRESH_60FPS",
+ "Node": "TAUClampBoost",
+ "Duration": 0,
+ "Value": "103"
+ },
+ {
+ "PowerHint": "ADPF_DISABLE_TA_BOOST",
+ "Node": "TAUClampBoost",
+ "Duration": 0,
+ "Value": "0"
+ },
+ {
+ "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
new file mode 100644
index 00000000..c3d1581d
--- /dev/null
+++ b/powerhint_a1.json
@@ -0,0 +1,418 @@
+{
+ "Nodes": [
+ {
+ "Name": "CPULittleClusterMaxFreq",
+ "Path": "/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq",
+ "Values": [
+ "9999999",
+ "1197000"
+ ],
+ "DefaultIndex": 0,
+ "ResetOnInit": true
+ },
+ {
+ "Name": "CPULittleClusterMinFreq",
+ "Path": "/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq",
+ "Values": [
+ "9999999",
+ "1197000",
+ "0"
+ ],
+ "ResetOnInit": true
+ },
+ {
+ "Name": "CPUMidClusterMaxFreq",
+ "Path": "/sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq",
+ "Values": [
+ "9999999",
+ "1999000"
+ ],
+ "DefaultIndex": 0,
+ "ResetOnInit": true
+ },
+ {
+ "Name": "CPUMidClusterMinFreq",
+ "Path": "/sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq",
+ "Values": [
+ "9999999",
+ "1197000",
+ "0"
+ ],
+ "ResetOnInit": true
+ },
+ {
+ "Name": "CPUBigClusterMaxFreq",
+ "Path": "/sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq",
+ "Values": [
+ "9999999",
+ "1999000"
+ ],
+ "DefaultIndex": 0,
+ "ResetOnInit": true
+ },
+ {
+ "Name": "CPUBigClusterMinFreq",
+ "Path": "/sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq",
+ "Values": [
+ "9999999",
+ "1106000",
+ "0"
+ ],
+ "ResetOnInit": true
+ },
+ {
+ "Name": "GPUMinFreq",
+ "Path": "/sys/devices/platform/1c500000.mali/hint_min_freq",
+ "Values": [
+ "151000",
+ "302000",
+ "455000",
+ "572000",
+ "670000"
+ ],
+ "DefaultIndex": 0,
+ "ResetOnInit": true
+ },
+ {
+ "Name": "TAUClampBoost",
+ "Path": "/sys/kernel/vendor_sched/ta_uclamp_min",
+ "Values": [
+ "0",
+ "410",
+ "308",
+ "205",
+ "103"
+ ],
+ "DefaultIndex": 0,
+ "ResetOnInit": true
+ },
+ {
+ "Name": "UfsClkGateEnable",
+ "Path": "/dev/sys/block/bootdevice/clkgate_enable",
+ "Values": [
+ "0",
+ "1"
+ ],
+ "ResetOnInit": true
+ },
+ {
+ "Name": "F2fsRecessModeEnable",
+ "Path": "/dev/sys/fs/by-name/userdata/gc_urgent",
+ "Values": [
+ "2",
+ "0"
+ ],
+ "ResetOnInit": true
+ },
+ {
+ "Name": "LimitFlashCurrent",
+ "Path": "vendor.camera.max_flash_current",
+ "Values": [
+ "100",
+ "1500"
+ ],
+ "ResetOnInit": true,
+ "Type": "Property"
+ },
+ {
+ "Name": "PowerHALRenderingState",
+ "Path": "vendor.powerhal.rendering",
+ "Values": [
+ "EXPENSIVE_RENDERING",
+ ""
+ ],
+ "Type": "Property"
+ }
+ ],
+ "Actions": [
+ {
+ "PowerHint": "INTERACTION",
+ "Type": "EndHint",
+ "Value": "DISABLE_TA_BOOST"
+ },
+ {
+ "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": "410"
+ },
+ {
+ "PowerHint": "INTERACTION_90",
+ "Node": "TAUClampBoost",
+ "Duration": 6000,
+ "Value": "308"
+ },
+ {
+ "PowerHint": "INTERACTION_60",
+ "Node": "TAUClampBoost",
+ "Duration": 6000,
+ "Value": "205"
+ },
+ {
+ "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,
+ "Value": "0"
+ },
+ {
+ "PowerHint": "DEVICE_IDLE",
+ "Node": "F2fsRecessModeEnable",
+ "Duration": 0,
+ "Value": "2"
+ },
+ {
+ "PowerHint": "LAUNCH",
+ "Type": "EndHint",
+ "Value": "DISABLE_TA_BOOST"
+ },
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "CPUMidClusterMaxFreq",
+ "Duration": 5000,
+ "Value": "9999999"
+ },
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "CPUMidClusterMinFreq",
+ "Duration": 5000,
+ "Value": "9999999"
+ },
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "CPULittleClusterMaxFreq",
+ "Duration": 5000,
+ "Value": "9999999"
+ },
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "CPULittleClusterMinFreq",
+ "Duration": 5000,
+ "Value": "9999999"
+ },
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "TAUClampBoost",
+ "Duration": 5000,
+ "Value": "308"
+ },
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "UfsClkGateEnable",
+ "Duration": 5000,
+ "Value": "0"
+ },
+ {
+ "PowerHint": "DISPLAY_INACTIVE",
+ "Node": "F2fsRecessModeEnable",
+ "Duration": 0,
+ "Value": "2"
+ },
+ {
+ "PowerHint": "CAMERA_LAUNCH",
+ "Node": "CPUBigClusterMaxFreq",
+ "Duration": 1000,
+ "Value": "9999999"
+ },
+ {
+ "PowerHint": "CAMERA_LAUNCH",
+ "Node": "CPUBigClusterMinFreq",
+ "Duration": 1000,
+ "Value": "9999999"
+ },
+ {
+ "PowerHint": "CAMERA_LAUNCH",
+ "Node": "CPULittleClusterMaxFreq",
+ "Duration": 1000,
+ "Value": "9999999"
+ },
+ {
+ "PowerHint": "CAMERA_LAUNCH",
+ "Node": "CPULittleClusterMinFreq",
+ "Duration": 1000,
+ "Value": "9999999"
+ },
+ {
+ "PowerHint": "CAMERA_LAUNCH",
+ "Node": "UfsClkGateEnable",
+ "Duration": 1000,
+ "Value": "0"
+ },
+ {
+ "PowerHint": "CAMERA_STREAMING_STANDARD",
+ "Node": "CPUBigClusterMaxFreq",
+ "Duration": 0,
+ "Value": "1999000"
+ },
+ {
+ "PowerHint": "CAMERA_STREAMING_STANDARD",
+ "Node": "GPUMinFreq",
+ "Duration": 0,
+ "Value": "670000"
+ },
+ {
+ "PowerHint": "FIXED_PERFORMANCE",
+ "Node": "CPUBigClusterMaxFreq",
+ "Duration": 0,
+ "Value": "9999999"
+ },
+ {
+ "PowerHint": "FIXED_PERFORMANCE",
+ "Node": "CPUBigClusterMinFreq",
+ "Duration": 0,
+ "Value": "9999999"
+ },
+ {
+ "PowerHint": "FIXED_PERFORMANCE",
+ "Node": "CPUMidClusterMaxFreq",
+ "Duration": 0,
+ "Value": "9999999"
+ },
+ {
+ "PowerHint": "FIXED_PERFORMANCE",
+ "Node": "CPUMidClusterMinFreq",
+ "Duration": 0,
+ "Value": "9999999"
+ },
+ {
+ "PowerHint": "FIXED_PERFORMANCE",
+ "Node": "CPULittleClusterMaxFreq",
+ "Duration": 0,
+ "Value": "9999999"
+ },
+ {
+ "PowerHint": "FIXED_PERFORMANCE",
+ "Node": "CPULittleClusterMinFreq",
+ "Duration": 0,
+ "Value": "9999999"
+ },
+ {
+ "PowerHint": "REFRESH_120FPS",
+ "Node": "TAUClampBoost",
+ "Duration": 0,
+ "Value": "308"
+ },
+ {
+ "PowerHint": "REFRESH_90FPS",
+ "Node": "TAUClampBoost",
+ "Duration": 0,
+ "Value": "205"
+ },
+ {
+ "PowerHint": "REFRESH_60FPS",
+ "Node": "TAUClampBoost",
+ "Duration": 0,
+ "Value": "103"
+ },
+ {
+ "PowerHint": "ADPF_DISABLE_TA_BOOST",
+ "Node": "TAUClampBoost",
+ "Duration": 0,
+ "Value": "0"
+ },
+ {
+ "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,
+ "Value": "100"
+ },
+ {
+ "PowerHint": "THERMAL_FLASH_LED_REDUCE_NONE",
+ "Node": "LimitFlashCurrent",
+ "Duration": 0,
+ "Value": "1500"
+ },
+ {
+ "PowerHint": "EXPENSIVE_RENDERING",
+ "Node": "PowerHALRenderingState",
+ "Duration": 0,
+ "Value": "EXPENSIVE_RENDERING"
+ },
+ {
+ "PowerHint": "EXPENSIVE_RENDERING",
+ "Node": "GPUMinFreq",
+ "Duration": 0,
+ "Value": "455000"
+ }
+ ]
+}