From 7d81ea944361360a67382cbfe7dc751818ac7bab Mon Sep 17 00:00:00 2001 From: Jia-yi Chen Date: Tue, 11 May 2021 16:53:57 -0700 Subject: [PATCH] Update power hint for camera workload 1) Enable prefer_high_cap of camera vendor group 2) Set high_capacity_start_cpu to 4 3) Set prefer_idle of camera vendor group to 0 4) Set MemFreq floor 5) Change camera-daemon/cpu.uclamp.latency_sensitive owner to root Bug: 186564130 Test: Boot & check setting values Change-Id: Ief0cae2aa9e4f84bed93f7de0bfb765e8a27009b --- conf/init.gs101.rc | 2 +- powerhint.json | 70 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+), 1 deletion(-) diff --git a/conf/init.gs101.rc b/conf/init.gs101.rc index 86a588ea..96d5e6fa 100644 --- a/conf/init.gs101.rc +++ b/conf/init.gs101.rc @@ -115,7 +115,7 @@ on init # change permissions and default values for camera-daemon cpu controller chown system system /dev/cpuctl/camera-daemon/cpu.uclamp.min chown system system /dev/cpuctl/camera-daemon/cpu.uclamp.max - chown system system /dev/cpuctl/camera-daemon/cpu.uclamp.latency_sensitive + chown root root /dev/cpuctl/camera-daemon/cpu.uclamp.latency_sensitive chown system system /dev/cpuctl/camera-daemon/cgroup.procs write /sys/kernel/vendor_sched/cam_prefer_idle 1 diff --git a/powerhint.json b/powerhint.json index fa994425..cf3bb056 100644 --- a/powerhint.json +++ b/powerhint.json @@ -5,6 +5,7 @@ "Path": "/sys/devices/platform/17000010.devfreq_mif/devfreq/17000010.devfreq_mif/min_freq", "Values": [ "3172000", + "1014000", "421000" ], "ResetOnInit": true @@ -105,6 +106,15 @@ "DefaultIndex": 0, "ResetOnInit": true }, + { + "Name": "CDPreferIdle", + "Path": "/sys/kernel/vendor_sched/cam_prefer_idle", + "Values": [ + "0", + "1" + ], + "ResetOnInit": true + }, { "Name": "F2fsRecessModeEnable", "Path": "/dev/sys/fs/by-name/userdata/gc_urgent", @@ -114,6 +124,24 @@ ], "ResetOnInit": true }, + { + "Name": "CDPreferHighCap", + "Path": "/sys/kernel/vendor_sched/cam_prefer_high_cap", + "Values": [ + "1", + "0" + ], + "ResetOnInit": true + }, + { + "Name": "HighCapacityStartCpu", + "Path": "/sys/kernel/vendor_sched/high_capacity_start_cpu", + "Values": [ + "4", + "6" + ], + "ResetOnInit": true + }, { "Name": "LimitFlashCurrent", "Path": "vendor.camera.max_flash_current", @@ -307,6 +335,18 @@ "Duration": 0, "Value": "1826000" }, + { + "PowerHint": "CAMERA_STREAMING_HIGH", + "Node": "CDPreferHighCap", + "Duration": 0, + "Value": "1" + }, + { + "PowerHint": "CAMERA_STREAMING_HIGH", + "Node": "HighCapacityStartCpu", + "Duration": 0, + "Value": "4" + }, { "PowerHint": "CAMERA_STREAMING_HIGH", "Node": "CPULittleClusterMaxFreq", @@ -319,12 +359,36 @@ "Duration": 0, "Value": "302000" }, + { + "PowerHint": "CAMERA_STREAMING_HIGH", + "Node": "MemFreq", + "Duration": 0, + "Value": "1014000" + }, { "PowerHint": "CAMERA_STREAMING_HIGH", "Node": "MIFTargetLoad", "Duration": 0, "Value": "20 10 80" }, + { + "PowerHint": "CAMERA_STREAMING_STANDARD", + "Node": "CDPreferHighCap", + "Duration": 0, + "Value": "1" + }, + { + "PowerHint": "CAMERA_STREAMING_STANDARD", + "Node": "HighCapacityStartCpu", + "Duration": 0, + "Value": "4" + }, + { + "PowerHint": "CAMERA_STREAMING_STANDARD", + "Node": "CDPreferIdle", + "Duration": 0, + "Value": "0" + }, { "PowerHint": "CAMERA_STREAMING_STANDARD", "Node": "CPUBigClusterMaxFreq", @@ -343,6 +407,12 @@ "Duration": 0, "Value": "302000" }, + { + "PowerHint": "CAMERA_STREAMING_STANDARD", + "Node": "MemFreq", + "Duration": 0, + "Value": "1014000" + }, { "PowerHint": "CAMERA_STREAMING_STANDARD", "Node": "MIFTargetLoad",