diff --git a/common.mk b/common.mk index 9bf6306..28ae3d4 100644 --- a/common.mk +++ b/common.mk @@ -350,7 +350,7 @@ PRODUCT_PACKAGES += \ libqti-perfd-client PRODUCT_COPY_FILES += \ - vendor/qcom/opensource/power/config/kalama/powerhint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.xml + $(LOCAL_PATH)/configs/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json # Protobuf PRODUCT_PACKAGES += \ diff --git a/configs/powerhint.json b/configs/powerhint.json new file mode 100644 index 0000000..f017b5e --- /dev/null +++ b/configs/powerhint.json @@ -0,0 +1,651 @@ +{ + "Nodes": [ + { + "Name": "CPULittleClusterMaxFreq", + "Path": "/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq", + "Values": [ + "9999999", + "1574400" + ], + "DefaultIndex": 0, + "ResetOnInit": true + }, + { + "Name": "CPULittleClusterMinFreq", + "Path": "/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq", + "Values": [ + "9999999", + "1363200", + "614400" + ], + "ResetOnInit": true + }, + { + "Name": "CPULittleClusterUpRateLimit", + "Path": "/sys/devices/system/cpu/cpufreq/policy0/walt/up_rate_limit_us", + "Values": [ + "500", + "2000" + ], + "ResetOnInit": true + }, + { + "Name": "CPULittleClusterDownRateLimit", + "Path": "/sys/devices/system/cpu/cpufreq/policy0/walt/down_rate_limit_us", + "Values": [ + "20000", + "2000" + ], + "ResetOnInit": true + }, + { + "Name": "CPUBigClusterMaxFreq", + "Path": "/sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq", + "Values": [ + "9999999", + "2342400", + "1555200" + ], + "DefaultIndex": 0, + "ResetOnInit": true + }, + { + "Name": "CPUBigClusterMinFreq", + "Path": "/sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq", + "Values": [ + "9999999", + "1555200", + "1324800", + "1113600", + "633600" + ], + "ResetOnInit": true + }, + { + "Name": "CPUBigClusterUpRateLimit", + "Path": "/sys/devices/system/cpu/cpufreq/policy4/walt/up_rate_limit_us", + "Values": [ + "500", + "2000" + ], + "ResetOnInit": true + }, + { + "Name": "CPUBigClusterDownRateLimit", + "Path": "/sys/devices/system/cpu/cpufreq/policy4/walt/down_rate_limit_us", + "Values": [ + "10000", + "2000" + ], + "ResetOnInit": true + }, + { + "Name": "CPUBigPlusClusterMaxFreq", + "Path": "/sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq", + "Values": [ + "9999999", + "2361600", + "1536000" + ], + "DefaultIndex": 0, + "ResetOnInit": true + }, + { + "Name": "CPUBigPlusClusterMinFreq", + "Path": "/sys/devices/system/cpu/cpu7/cpufreq/scaling_min_freq", + "Values": [ + "9999999", + "1286400", + "787200" + ], + "ResetOnInit": true + }, + { + "Name": "CPUBigPlusClusterUpRateLimit", + "Path": "/sys/devices/system/cpu/cpufreq/policy7/walt/up_rate_limit_us", + "Values": [ + "500", + "2000" + ], + "ResetOnInit": true + }, + { + "Name": "CPUBigPlusClusterDownRateLimit", + "Path": "/sys/devices/system/cpu/cpufreq/policy7/walt/down_rate_limit_us", + "Values": [ + "5000", + "2000" + ], + "ResetOnInit": true + }, + { + "Name": "UclampTAMin", + "Path": "/dev/cpuctl/top-app/cpu.uclamp.min", + "Values": [ + "0", + "30", + "50" + ], + "DefaultIndex": 0, + "ResetOnInit": true + }, + { + "Name": "UclampTALatency", + "Path": "/dev/cpuctl/top-app/cpu.uclamp.latency_sensitive", + "Values": [ + "1", + "0" + ], + "ResetOnInit": true + }, + { + "Name": "UclampFGMin", + "Path": "/dev/cpuctl/foreground/cpu.uclamp.min", + "Values": [ + "0", + "50" + ], + "DefaultIndex": 0, + "ResetOnInit": true + }, + { + "Name": "SchedBusyHystNs", + "Path": "/proc/sys/walt/sched_busy_hyst_ns", + "Values": [ + "99000000", + "3000000", + "0" + ], + "ResetOnInit": true + }, + { + "Name": "SchedBusyHystEnableCPUs", + "Path": "/proc/sys/walt/sched_busy_hysteresis_enable_cpus", + "Values": [ + "255", + "15", + "0" + ], + "ResetOnInit": true + }, + { + "Name": "SchedMinTaskUtilForBoost", + "Path": "/proc/sys/walt/sched_min_task_util_for_boost", + "Values": [ + "0", + "51" + ], + "ResetOnInit": true + }, + { + "Name": "SchedMinTaskUtilForColoc", + "Path": "/proc/sys/walt/sched_min_task_util_for_colocation", + "Values": [ + "0", + "35" + ], + "ResetOnInit": true + }, + { + "Name": "SchedMinTaskUtilForUclamp", + "Path": "/proc/sys/walt/sched_min_task_util_for_uclamp", + "Values": [ + "0", + "51" + ], + "ResetOnInit": true + }, + { + "Name": "GPUMaxFreq", + "Path": "/sys/class/kgsl/kgsl-3d0/devfreq/max_freq", + "Values": [ + "765000000", + "645000000", + "515000000" + ], + "DefaultIndex": 0, + "ResetOnInit": true + }, + { + "Name": "GPUMinFreq", + "Path": "/sys/class/kgsl/kgsl-3d0/devfreq/min_freq", + "Values": [ + "515000000", + "364000000", + "220000000" + ], + "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": "CPUBWHystTriggerCount", + "Path": "/sys/devices/system/cpu/bus_dcvs/DDR/19091000.qcom,bwmon-ddr/hyst_trigger_count", + "Values": [ + "0", + "3" + ], + "ResetOnInit": true + }, + { + "Name": "CPUBWHistMemory", + "Path": "/sys/devices/system/cpu/bus_dcvs/DDR/19091000.qcom,bwmon-ddr/hist_memory", + "Values": [ + "0", + "20" + ], + "ResetOnInit": true + }, + { + "Name": "CPUBWHystLength", + "Path": "/sys/devices/system/cpu/bus_dcvs/DDR/19091000.qcom,bwmon-ddr/hyst_length", + "Values": [ + "0", + "10" + ], + "ResetOnInit": true + }, + { + "Name": "CPUBWMinFreq", + "Path": "/sys/devices/system/cpu/bus_dcvs/DDR/boost_freq", + "Values": [ + "3196000", + "1555000", + "547000" + ], + "ResetOnInit": true + }, + { + "Name": "LLCCBWHystTriggerCount", + "Path": "/sys/devices/system/cpu/bus_dcvs/LLCC/190b6400.qcom,bwmon-llcc/hyst_trigger_count", + "Values": [ + "0", + "3" + ], + "ResetOnInit": true + }, + { + "Name": "LLCCBWHistMemory", + "Path": "/sys/devices/system/cpu/bus_dcvs/LLCC/190b6400.qcom,bwmon-llcc/hist_memory", + "Values": [ + "0", + "20" + ], + "ResetOnInit": true + }, + { + "Name": "LLCCBWHystLength", + "Path": "/sys/devices/system/cpu/bus_dcvs/LLCC/190b6400.qcom,bwmon-llcc/hyst_length", + "Values": [ + "0", + "10" + ], + "ResetOnInit": true + }, + { + "Name": "LLCCBWMinFreq", + "Path": "/sys/devices/system/cpu/bus_dcvs/LLCC/boost_freq", + "Values": [ + "1066000", + "600000", + "300000" + ], + "ResetOnInit": true + }, + { + "Name": "L3MinFreq", + "Path": "/sys/devices/system/cpu/bus_dcvs/L3/boost_freq", + "Values": [ + "1804800", + "806400", + "300000" + ], + "ResetOnInit": true + }, + { + "Name": "PowerHALMainState", + "Path": "vendor.powerhal.state", + "Values": [ + "SUSTAINED_PERFORMANCE", + "" + ], + "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": "CPUBigPlusClusterMaxFreq", + "Duration": 0, + "Value": "1536000" + }, + { + "PowerHint": "SUSTAINED_PERFORMANCE", + "Node": "CPULittleClusterMaxFreq", + "Duration": 0, + "Value": "1574400" + }, + { + "PowerHint": "SUSTAINED_PERFORMANCE", + "Node": "GPUMaxFreq", + "Duration": 0, + "Value": "515000000" + }, + { + "PowerHint": "INTERACTION", + "Node": "UclampTAMin", + "Duration": 0, + "Value": "30" + }, + { + "PowerHint": "INTERACTION", + "Node": "UclampTALatency", + "Duration": 0, + "Value": "1" + }, + { + "PowerHint": "INTERACTION", + "Node": "SchedBusyHystNs", + "Duration": 0, + "Value": "99000000" + }, + { + "PowerHint": "INTERACTION", + "Node": "SchedBusyHystEnableCPUs", + "Duration": 0, + "Value": "255" + }, + { + "PowerHint": "INTERACTION", + "Node": "SchedMinTaskUtilForBoost", + "Duration": 0, + "Value": "0" + }, + { + "PowerHint": "INTERACTION", + "Node": "SchedMinTaskUtilForColoc", + "Duration": 0, + "Value": "0" + }, + { + "PowerHint": "INTERACTION", + "Node": "SchedMinTaskUtilForUclamp", + "Duration": 0, + "Value": "0" + }, + { + "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": "1555000" + }, + { + "PowerHint": "INTERACTION", + "Node": "LLCCBWHystTriggerCount", + "Duration": 0, + "Value": "0" + }, + { + "PowerHint": "INTERACTION", + "Node": "LLCCBWHystLength", + "Duration": 0, + "Value": "0" + }, + { + "PowerHint": "INTERACTION", + "Node": "LLCCBWHistMemory", + "Duration": 0, + "Value": "0" + }, + { + "PowerHint": "INTERACTION", + "Node": "LLCCBWMinFreq", + "Duration": 0, + "Value": "600000" + }, + { + "PowerHint": "INTERACTIVE", + "Node": "CPULittleClusterUpRateLimit", + "Duration": 0, + "Value": "500" + }, + { + "PowerHint": "INTERACTIVE", + "Node": "CPULittleClusterDownRateLimit", + "Duration": 0, + "Value": "20000" + }, + { + "PowerHint": "INTERACTIVE", + "Node": "CPUBigClusterUpRateLimit", + "Duration": 0, + "Value": "500" + }, + { + "PowerHint": "INTERACTIVE", + "Node": "CPUBigClusterDownRateLimit", + "Duration": 0, + "Value": "10000" + }, + { + "PowerHint": "INTERACTIVE", + "Node": "CPUBigPlusClusterUpRateLimit", + "Duration": 0, + "Value": "500" + }, + { + "PowerHint": "INTERACTIVE", + "Node": "CPUBigPlusClusterDownRateLimit", + "Duration": 0, + "Value": "5000" + }, + { + "PowerHint": "INTERACTIVE", + "Node": "SchedBusyHystNs", + "Duration": 0, + "Value": "3000000" + }, + { + "PowerHint": "INTERACTIVE", + "Node": "SchedBusyHystEnableCPUs", + "Duration": 0, + "Value": "15" + }, + { + "PowerHint": "LAUNCH", + "Node": "CPUBigPlusClusterMinFreq", + "Duration": 3000, + "Value": "9999999" + }, + { + "PowerHint": "LAUNCH", + "Node": "CPUBigClusterMinFreq", + "Duration": 3000, + "Value": "9999999" + }, + { + "PowerHint": "LAUNCH", + "Node": "CPULittleClusterMinFreq", + "Duration": 3000, + "Value": "9999999" + }, + { + "PowerHint": "LAUNCH", + "Node": "UclampTAMin", + "Duration": 3000, + "Value": "50" + }, + { + "PowerHint": "LAUNCH", + "Node": "UclampFGMin", + "Duration": 3000, + "Value": "50" + }, + { + "PowerHint": "LAUNCH", + "Node": "CPUBWHystTriggerCount", + "Duration": 3000, + "Value": "0" + }, + { + "PowerHint": "LAUNCH", + "Node": "CPUBWHystLength", + "Duration": 3000, + "Value": "0" + }, + { + "PowerHint": "LAUNCH", + "Node": "CPUBWHistMemory", + "Duration": 3000, + "Value": "0" + }, + { + "PowerHint": "LAUNCH", + "Node": "CPUBWMinFreq", + "Duration": 3000, + "Value": "3196000" + }, + { + "PowerHint": "LAUNCH", + "Node": "LLCCBWHystTriggerCount", + "Duration": 3000, + "Value": "0" + }, + { + "PowerHint": "LAUNCH", + "Node": "LLCCBWHystLength", + "Duration": 3000, + "Value": "0" + }, + { + "PowerHint": "LAUNCH", + "Node": "LLCCBWHistMemory", + "Duration": 3000, + "Value": "0" + }, + { + "PowerHint": "LAUNCH", + "Node": "LLCCBWMinFreq", + "Duration": 3000, + "Value": "1066000" + }, + { + "PowerHint": "LAUNCH", + "Node": "L3MinFreq", + "Duration": 3000, + "Value": "1804800" + }, + { + "PowerHint": "LAUNCH", + "Node": "GPUForceClkOn", + "Duration": 3000, + "Value": "1" + }, + { + "PowerHint": "LAUNCH", + "Node": "GPUForceRailOn", + "Duration": 3000, + "Value": "1" + }, + { + "PowerHint": "LAUNCH", + "Node": "GPUIdleTimer", + "Duration": 3000, + "Value": "10000" + }, + { + "PowerHint": "EXPENSIVE_RENDERING", + "Node": "PowerHALRenderingState", + "Duration": 0, + "Value": "EXPENSIVE_RENDERING" + }, + { + "PowerHint": "EXPENSIVE_RENDERING", + "Node": "GPUMinFreq", + "Duration": 0, + "Value": "515000000" + }, + { + "PowerHint": "Flipendo", + "Node": "CPULittleClusterMaxFreq", + "Duration": 0, + "Value": "1574400" + }, + { + "PowerHint": "Flipendo", + "Node": "CPUBigClusterMaxFreq", + "Duration": 0, + "Value": "1555200" + }, + { + "PowerHint": "Flipendo", + "Node": "CPUBigPlusClusterMaxFreq", + "Duration": 0, + "Value": "1536000" + } + ] +}