diff --git a/configs/power/powerhint.json b/configs/power/powerhint.json new file mode 100644 index 0000000..21db272 --- /dev/null +++ b/configs/power/powerhint.json @@ -0,0 +1,769 @@ +{ + "Nodes": [ + { + "Name": "CPULittleClusterMaxFreq", + "Path": "/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq", + "Values": [ + "9999999", + "1248000" + ], + "DefaultIndex": 0, + "ResetOnInit": true + }, + { + "Name": "CPULittleClusterMinFreq", + "Path": "/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq", + "Values": [ + "9999999", + "1248000", + "576000" + ], + "ResetOnInit": true + }, + { + "Name": "CPUBigClusterMaxFreq", + "Path": "/sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq", + "Values": [ + "9999999", + "1939200", + "1555200" + ], + "DefaultIndex": 0, + "ResetOnInit": true + }, + { + "Name": "CPUBigClusterMinFreq", + "Path": "/sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq", + "Values": [ + "9999999", + "1555200", + "1248000", + "652800" + ], + "ResetOnInit": true + }, + { + "Name": "GPUMaxFreq", + "Path": "/sys/class/kgsl/kgsl-3d0/max_pwrlevel", + "Values": [ + "0", + "3" + ], + "DefaultIndex": 0, + "ResetOnInit": true + }, + { + "Name": "GPUMinFreq", + "Path": "/sys/class/kgsl/kgsl-3d0/min_pwrlevel", + "Values": [ + "0", + "3", + "7" + ], + "ResetOnInit": true + }, + { + "Name": "GPUBusMinFreq", + "Path": "/sys/class/devfreq/soc:qcom,gpubw/min_freq", + "Values": [ + "6881", + "5931", + "3879", + "0" + ], + "ResetOnInit": true + }, + { + "Name": "GPUForceRailOn", + "Path": "/sys/class/kgsl/kgsl-3d0/force_rail_on", + "Values": [ + "1", + "0" + ], + "ResetOnInit": true + }, + { + "Name": "GPUForceClkOn", + "Path": "/sys/class/kgsl/kgsl-3d0/force_clk_on", + "Values": [ + "1", + "0" + ], + "ResetOnInit": true + }, + { + "Name": "GPUIdleTimer", + "Path": "/sys/class/kgsl/kgsl-3d0/idle_timer", + "Values": [ + "10000", + "80" + ], + "ResetOnInit": true + }, + { + "Name": "TASchedtuneBoost", + "Path": "/dev/stune/top-app/schedtune.boost", + "Values": [ + "40", + "10" + ], + "ResetOnInit": true + }, + { + "Name": "TASchedtuneHighCap", + "Path": "/dev/stune/top-app/schedtune.prefer_high_cap", + "Values": [ + "1", + "0" + ], + "ResetOnInit": true + }, + { + "Name": "CDSchedtuneBoost", + "Path": "/dev/stune/camera-daemon/schedtune.boost", + "Values": [ + "1", + "0" + ], + "ResetOnInit": true + }, + { + "Name": "CDSchedtuneHighCap", + "Path": "/dev/stune/camera-daemon/schedtune.prefer_high_cap", + "Values": [ + "1", + "0" + ], + "ResetOnInit": true + }, + { + "Name": "CPUBWHystTriggerCount", + "Path": "/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/hyst_trigger_count", + "Values": [ + "0", + "3" + ], + "ResetOnInit": true + }, + { + "Name": "CPUBWHistMemory", + "Path": "/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/hist_memory", + "Values": [ + "0", + "20" + ], + "ResetOnInit": true + }, + { + "Name": "CPUBWHystLength", + "Path": "/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/hyst_length", + "Values": [ + "0", + "10" + ], + "ResetOnInit": true + }, + { + "Name": "CPUBWSampleMs", + "Path": "/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/sample_ms", + "Values": [ + "10", + "4" + ], + "ResetOnInit": true + }, + { + "Name": "CPUBWIOPercent", + "Path": "/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/io_percent", + "Values": [ + "80", + "34" + ], + "ResetOnInit": true + }, + { + "Name": "CPUBWMinFreq", + "Path": "/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/min_freq", + "Values": [ + "14236", + "9155", + "7110", + "4577" + ], + "ResetOnInit": true + }, + { + "Name": "LLCCBWMinFreq", + "Path": "/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/min_freq", + "Values": [ + "6881", + "2597", + "762" + ], + "ResetOnInit": true + }, + { + "Name": "LLCCBWSampleMs", + "Path": "/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/bw_hwmon/sample_ms", + "Values": [ + "10", + "4" + ], + "ResetOnInit": true + }, + { + "Name": "LLCCBWHistMemory", + "Path": "/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/bw_hwmon/hist_memory", + "Values": [ + "0", + "20" + ], + "ResetOnInit": true + }, + { + "Name": "LLCCBWHystLength", + "Path": "/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/bw_hwmon/hyst_length", + "Values": [ + "0", + "10" + ], + "ResetOnInit": true + }, + { + "Name": "L3LittleClusterMinFreq", + "Path": "/sys/class/devfreq/soc:qcom,cpu0-cpu-l3-lat/min_freq", + "Values": [ + "1459200000", + "300000000" + ], + "ResetOnInit": true + }, + { + "Name": "LLCCBWHystTriggerCount", + "Path": "/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/bw_hwmon/hyst_trigger_count", + "Values": [ + "0", + "3" + ], + "ResetOnInit": true + }, + { + "Name": "L3BigClusterMinFreq", + "Path": "/sys/class/devfreq/soc:qcom,cpu6-cpu-l3-lat/min_freq", + "Values": [ + "1459200000", + "300000000" + ], + "ResetOnInit": true + }, + { + "Name": "PMQoSCpuDmaLatency", + "Path": "/dev/cpu_dma_latency", + "Values": [ + "44", + "100" + ], + "HoldFd": true + }, + { + "Name": "EnergyAware", + "Path": "/proc/sys/kernel/sched_energy_aware", + "Values": [ + "0", + "1" + ], + "ResetOnInit": true + }, + { + "Name": "PowerHALMainState", + "Path": "vendor.powerhal.state", + "Values": [ + "SUSTAINED_PERFORMANCE", + "" + ], + "Type": "Property" + }, + { + "Name": "PowerHALAudioState", + "Path": "vendor.powerhal.audio", + "Values": [ + "AUDIO_STREAMING_LOW_LATENCY", + "" + ], + "Type": "Property" + }, + { + "Name": "PowerHALRenderingState", + "Path": "vendor.powerhal.rendering", + "Values": [ + "EXPENSIVE_RENDERING", + "" + ], + "Type": "Property" + } + ], + "Actions": [ + { + "PowerHint": "SUSTAINED_PERFORMANCE", + "Node": "PowerHALMainState", + "Duration": 0, + "Value": "SUSTAINED_PERFORMANCE" + }, + { + "PowerHint": "SUSTAINED_PERFORMANCE", + "Node": "CPUBigClusterMaxFreq", + "Duration": 0, + "Value": "1555200" + }, + { + "PowerHint": "SUSTAINED_PERFORMANCE", + "Node": "CPULittleClusterMaxFreq", + "Duration": 0, + "Value": "1248000" + }, + { + "PowerHint": "SUSTAINED_PERFORMANCE", + "Node": "GPUMaxFreq", + "Duration": 0, + "Value": "3" + }, + { + "PowerHint": "INTERACTION", + "Node": "CPULittleClusterMinFreq", + "Duration": 0, + "Value": "1248000" + }, + { + "PowerHint": "INTERACTION", + "Node": "TASchedtuneBoost", + "Duration": 0, + "Value": "40" + }, + { + "PowerHint": "INTERACTION", + "Node": "TASchedtuneHighCap", + "Duration": 0, + "Value": "1" + }, + { + "PowerHint": "INTERACTION", + "Node": "CPUBWHystTriggerCount", + "Duration": 0, + "Value": "0" + }, + { + "PowerHint": "INTERACTION", + "Node": "CPUBWHystLength", + "Duration": 0, + "Value": "0" + }, + { + "PowerHint": "INTERACTION", + "Node": "CPUBWHistMemory", + "Duration": 0, + "Value": "0" + }, + { + "PowerHint": "INTERACTION", + "Node": "CPUBWMinFreq", + "Duration": 0, + "Value": "9155" + }, + { + "PowerHint": "INTERACTION", + "Node": "LLCCBWMinFreq", + "Duration": 0, + "Value": "2597" + }, + { + "PowerHint": "LAUNCH", + "Node": "EnergyAware", + "Duration": 5000, + "Value": "0" + }, + { + "PowerHint": "LAUNCH", + "Node": "CPUBigClusterMaxFreq", + "Duration": 5000, + "Value": "9999999" + }, + { + "PowerHint": "LAUNCH", + "Node": "CPUBigClusterMinFreq", + "Duration": 5000, + "Value": "9999999" + }, + { + "PowerHint": "LAUNCH", + "Node": "CPULittleClusterMinFreq", + "Duration": 5000, + "Value": "9999999" + }, + { + "PowerHint": "LAUNCH", + "Node": "PMQoSCpuDmaLatency", + "Duration": 5000, + "Value": "44" + }, + { + "PowerHint": "LAUNCH", + "Node": "CPUBWHystTriggerCount", + "Duration": 5000, + "Value": "0" + }, + { + "PowerHint": "LAUNCH", + "Node": "CPUBWHystLength", + "Duration": 5000, + "Value": "0" + }, + { + "PowerHint": "LAUNCH", + "Node": "CPUBWHistMemory", + "Duration": 5000, + "Value": "0" + }, + { + "PowerHint": "LAUNCH", + "Node": "CPUBWMinFreq", + "Duration": 5000, + "Value": "14236" + }, + { + "PowerHint": "LAUNCH", + "Node": "GPUForceClkOn", + "Duration": 5000, + "Value": "1" + }, + { + "PowerHint": "LAUNCH", + "Node": "GPUForceRailOn", + "Duration": 5000, + "Value": "1" + }, + { + "PowerHint": "LAUNCH", + "Node": "GPUIdleTimer", + "Duration": 5000, + "Value": "10000" + }, + { + "PowerHint": "LAUNCH", + "Node": "LLCCBWMinFreq", + "Duration": 5000, + "Value": "6881" + }, + { + "PowerHint": "LAUNCH", + "Node": "L3LittleClusterMinFreq", + "Duration": 5000, + "Value": "1459200000" + }, + { + "PowerHint": "LAUNCH", + "Node": "L3BigClusterMinFreq", + "Duration": 5000, + "Value": "1459200000" + }, + { + "PowerHint": "CAMERA_LAUNCH", + "Node": "EnergyAware", + "Duration": 1000, + "Value": "0" + }, + { + "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": "PMQoSCpuDmaLatency", + "Duration": 1000, + "Value": "44" + }, + { + "PowerHint": "CAMERA_STREAMING_MID", + "Node": "CPUBigClusterMaxFreq", + "Duration": 0, + "Value": "1939200" + }, + { + "PowerHint": "CAMERA_STREAMING_MID", + "Node": "CPUBWSampleMs", + "Duration": 0, + "Value": "10" + }, + { + "PowerHint": "CAMERA_STREAMING_MID", + "Node": "CPUBWIOPercent", + "Duration": 0, + "Value": "80" + }, + { + "PowerHint": "CAMERA_STREAMING_MID", + "Node": "LLCCBWSampleMs", + "Duration": 0, + "Value": "10" + }, + { + "PowerHint": "CAMERA_STREAMING_MID", + "Node": "CDSchedtuneBoost", + "Duration": 0, + "Value": "1" + }, + { + "PowerHint": "CAMERA_STREAMING_MID", + "Node": "CDSchedtuneHighCap", + "Duration": 0, + "Value": "1" + }, + { + "PowerHint": "CAMERA_STREAMING_HIGH", + "Node": "CPUBigClusterMaxFreq", + "Duration": 0, + "Value": "1939200" + }, + { + "PowerHint": "CAMERA_STREAMING_HIGH", + "Node": "CDSchedtuneBoost", + "Duration": 0, + "Value": "1" + }, + { + "PowerHint": "CAMERA_STREAMING_HIGH", + "Node": "CDSchedtuneHighCap", + "Duration": 0, + "Value": "1" + }, + { + "PowerHint": "CAMERA_STREAMING_HIGH", + "Node": "CPUBWSampleMs", + "Duration": 0, + "Value": "10" + }, + { + "PowerHint": "CAMERA_STREAMING_HIGH", + "Node": "CPUBWIOPercent", + "Duration": 0, + "Value": "80" + }, + { + "PowerHint": "CAMERA_STREAMING_HIGH", + "Node": "LLCCBWSampleMs", + "Duration": 0, + "Value": "10" + }, + { + "PowerHint": "CAMERA_STREAMING_HIGH", + "Node": "CPUBWHystTriggerCount", + "Duration": 0, + "Value": "0" + }, + { + "PowerHint": "CAMERA_STREAMING_HIGH", + "Node": "CPUBWHystLength", + "Duration": 0, + "Value": "0" + }, + { + "PowerHint": "CAMERA_STREAMING_HIGH", + "Node": "LLCCBWHystTriggerCount", + "Duration": 0, + "Value": "0" + }, + { + "PowerHint": "CAMERA_STREAMING_HIGH", + "Node": "LLCCBWHystLength", + "Duration": 0, + "Value": "0" + }, + { + "PowerHint": "CAMERA_STREAMING_LOW", + "Node": "CPUBigClusterMaxFreq", + "Duration": 0, + "Value": "1939200" + }, + { + "PowerHint": "CAMERA_STREAMING_LOW", + "Node": "CPUBWSampleMs", + "Duration": 0, + "Value": "10" + }, + { + "PowerHint": "CAMERA_STREAMING_LOW", + "Node": "CPUBWIOPercent", + "Duration": 0, + "Value": "80" + }, + { + "PowerHint": "CAMERA_STREAMING_LOW", + "Node": "LLCCBWSampleMs", + "Duration": 0, + "Value": "10" + }, + { + "PowerHint": "CAMERA_STREAMING_LOW", + "Node": "CPUBWHystTriggerCount", + "Duration": 0, + "Value": "0" + }, + { + "PowerHint": "CAMERA_STREAMING_LOW", + "Node": "CPUBWHystLength", + "Duration": 0, + "Value": "0" + }, + { + "PowerHint": "CAMERA_STREAMING_LOW", + "Node": "LLCCBWHystTriggerCount", + "Duration": 0, + "Value": "0" + }, + { + "PowerHint": "CAMERA_STREAMING_LOW", + "Node": "LLCCBWHystLength", + "Duration": 0, + "Value": "0" + }, + { + "PowerHint": "CAMERA_STREAMING_SECURE", + "Node": "CPUBigClusterMaxFreq", + "Duration": 0, + "Value": "1939200" + }, + { + "PowerHint": "CAMERA_STREAMING_SECURE", + "Node": "CPUBWSampleMs", + "Duration": 0, + "Value": "10" + }, + { + "PowerHint": "CAMERA_STREAMING_SECURE", + "Node": "CPUBWIOPercent", + "Duration": 0, + "Value": "80" + }, + { + "PowerHint": "CAMERA_STREAMING_SECURE", + "Node": "LLCCBWSampleMs", + "Duration": 0, + "Value": "10" + }, + { + "PowerHint": "CAMERA_STREAMING_SECURE", + "Node": "LLCCBWHistMemory", + "Duration": 0, + "Value": "0" + }, + { + "PowerHint": "CAMERA_STREAMING_SECURE", + "Node": "LLCCBWHystLength", + "Duration": 0, + "Value": "0" + }, + { + "PowerHint": "CAMERA_STREAMING_SECURE", + "Node": "LLCCBWHystTriggerCount", + "Duration": 0, + "Value": "0" + }, + { + "PowerHint": "CAMERA_SHOT", + "Node": "EnergyAware", + "Duration": 1000, + "Value": "0" + }, + { + "PowerHint": "CAMERA_SHOT", + "Node": "CPUBigClusterMaxFreq", + "Duration": 1000, + "Value": "9999999" + }, + { + "PowerHint": "CAMERA_SHOT", + "Node": "CPUBigClusterMinFreq", + "Duration": 1000, + "Value": "9999999" + }, + { + "PowerHint": "CAMERA_SHOT", + "Node": "CPULittleClusterMaxFreq", + "Duration": 1000, + "Value": "9999999" + }, + { + "PowerHint": "CAMERA_SHOT", + "Node": "CPULittleClusterMinFreq", + "Duration": 1000, + "Value": "9999999" + }, + { + "PowerHint": "CAMERA_SHOT", + "Node": "PMQoSCpuDmaLatency", + "Duration": 1000, + "Value": "44" + }, + { + "PowerHint": "AUDIO_LAUNCH", + "Node": "PMQoSCpuDmaLatency", + "Duration": 2000, + "Value": "44" + }, + { + "PowerHint": "AUDIO_STREAMING_LOW_LATENCY", + "Node": "PowerHALAudioState", + "Duration": 0, + "Value": "AUDIO_STREAMING_LOW_LATENCY" + }, + { + "PowerHint": "AUDIO_STREAMING_LOW_LATENCY", + "Node": "PMQoSCpuDmaLatency", + "Duration": 0, + "Value": "44" + }, + { + "PowerHint": "EXPENSIVE_RENDERING", + "Node": "PowerHALRenderingState", + "Duration": 0, + "Value": "EXPENSIVE_RENDERING" + }, + { + "PowerHint": "EXPENSIVE_RENDERING", + "Node": "GPUMinFreq", + "Duration": 0, + "Value": "0" + }, + { + "PowerHint": "EXPENSIVE_RENDERING", + "Node": "GPUMaxFreq", + "Duration": 0, + "Value": "0" + }, + { + "PowerHint": "TPU_BOOST", + "Node": "PMQoSCpuDmaLatency", + "Duration": 2000, + "Value": "44" + } + ] +} diff --git a/device.mk b/device.mk index c7fb106..fd97e89 100644 --- a/device.mk +++ b/device.mk @@ -40,6 +40,10 @@ DEVICE_PACKAGE_OVERLAYS += \ PRODUCT_BUILD_SUPER_PARTITION := false PRODUCT_USE_DYNAMIC_PARTITIONS := true +# Power +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/configs/power/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json + # Sensors PRODUCT_PACKAGES += \ android.hardware.sensors@1.0-impl \