diff --git a/common.mk b/common.mk index 14cf2ee..018ba83 100644 --- a/common.mk +++ b/common.mk @@ -393,6 +393,9 @@ PRODUCT_COPY_FILES += \ PRODUCT_PACKAGES += \ android.hardware.power-service.moto_sm6375-libperfmgr +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/configs/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json + # QMI PRODUCT_PACKAGES += \ libjson \ diff --git a/configs/powerhint.json b/configs/powerhint.json new file mode 100644 index 0000000..c0d5e98 --- /dev/null +++ b/configs/powerhint.json @@ -0,0 +1,411 @@ +{ + "Nodes": [ + { + "Name": "CPULittleClusterMaxFreq", + "Path": "/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq", + "Values": [ + "9999999", + "1708800", + "1651200", + "1516800" + ], + "DefaultIndex": 0, + "ResetOnInit": true + }, + { + "Name": "CPULittleClusterMinFreq", + "Path": "/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq", + "Values": [ + "9999999", + "1324800", + "1113600", + "691200" + ], + "ResetOnInit": true + }, + { + "Name": "CPUBigClusterMaxFreq", + "Path": "/sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq", + "Values": [ + "9999999", + "2054400", + "1900800", + "1516800" + ], + "DefaultIndex": 0, + "ResetOnInit": true + }, + { + "Name": "CPUBigClusterMinFreq", + "Path": "/sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq", + "Values": [ + "9999999", + "1651200", + "691200", + "0" + ], + "ResetOnInit": true + }, + { + "Name": "GPUMaxFreq", + "Path": "/sys/class/kgsl/kgsl-3d0/devfreq/max_freq", + "Values": [ + "840000000", + "650000000", + "266000000" + ], + "DefaultIndex": 0, + "ResetOnInit": true + }, + { + "Name": "GPUMinFreq", + "Path": "/sys/class/kgsl/kgsl-3d0/devfreq/min_freq", + "Values": [ + "650000000", + "490000000", + "266000000" + ], + "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": [ + "50", + "10" + ], + "ResetOnInit": true + }, + { + "Name": "CPUBWHystTriggerCount", + "Path": "/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/hyst_trigger_count", + "Values": [ + "0", + "3" + ], + "ResetOnInit": true + }, + { + "Name": "CPUBWHistMemory", + "Path": "/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/hist_memory", + "Values": [ + "0", + "20" + ], + "ResetOnInit": true + }, + { + "Name": "CPUBWHystLength", + "Path": "/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/hyst_length", + "Values": [ + "0", + "10" + ], + "ResetOnInit": true + }, + { + "Name": "CPUBWSampleMs", + "Path": "/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/sample_ms", + "Values": [ + "10", + "4" + ], + "ResetOnInit": true + }, + { + "Name": "CPUBWMinFreq", + "Path": "/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/min_freq", + "Values": [ + "7980", + "5931", + "3879", + "762" + ], + "ResetOnInit": true + }, + { + "Name": "L3LittleClusterMinFreq", + "Path": "/sys/class/devfreq/fd90100.qcom,cpu0-cpu-l3-lat/min_freq", + "Values": [ + "1497600000", + "300000000" + ], + "ResetOnInit": true + }, + { + "Name": "L3BigClusterMinFreq", + "Path": "/sys/class/devfreq/fd90100.qcom,cpu6-cpu-l3-lat/min_freq", + "Values": [ + "1497600000", + "300000000" + ], + "ResetOnInit": true + }, + { + "Name": "PMQoSCpuDmaLatency", + "Path": "/dev/cpu_dma_latency", + "Values": [ + "44", + "100" + ], + "HoldFd": true + }, + { + "Name": "SchedBoost", + "Path": "/proc/sys/kernel/sched_boost", + "Values": [ + "1", + "0" + ], + "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": "CPUBigClusterMaxFreq", + "Duration": 0, + "Value": "1516800" + }, + { + "PowerHint": "SUSTAINED_PERFORMANCE", + "Node": "PowerHALMainState", + "Duration": 0, + "Value": "SUSTAINED_PERFORMANCE" + }, + { + "PowerHint": "SUSTAINED_PERFORMANCE", + "Node": "CPULittleClusterMaxFreq", + "Duration": 0, + "Value": "1651200" + }, + { + "PowerHint": "SUSTAINED_PERFORMANCE", + "Node": "GPUMaxFreq", + "Duration": 0, + "Value": "650000000" + }, + { + "PowerHint": "INTERACTION", + "Node": "CPUBigClusterMinFreq", + "Duration": 0, + "Value": "1651200" + }, + { + "PowerHint": "INTERACTION", + "Node": "CPULittleClusterMinFreq", + "Duration": 0, + "Value": "1113600" + }, + { + "PowerHint": "INTERACTION", + "Node": "TASchedtuneBoost", + "Duration": 0, + "Value": "50" + }, + { + "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": "5931" + }, + { + "PowerHint": "LAUNCH", + "Node": "SchedBoost", + "Duration": 5000, + "Value": "1" + }, + { + "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": "7980" + }, + { + "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": "L3LittleClusterMinFreq", + "Duration": 5000, + "Value": "1497600000" + }, + { + "PowerHint": "LAUNCH", + "Node": "L3BigClusterMinFreq", + "Duration": 5000, + "Value": "1497600000" + }, + { + "PowerHint": "AUDIO_LAUNCH", + "Node": "CPUBigClusterMinFreq", + "Duration": 2000, + "Value": "1651200" + }, + { + "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": "650000000" + }, + { + "PowerHint": "EXPENSIVE_RENDERING", + "Node": "GPUMaxFreq", + "Duration": 0, + "Value": "840000000" + } + ] +}