vendor_hook: separate uclamp configuration

Bug: 182509410
Test: build
Change-Id: Ide71afdbeb5fd79800823d0d8bb9b2a3a54bcca9
Signed-off-by: Taeju Park <taeju@google.com>
diff --git a/conf/init.gs101.rc b/conf/init.gs101.rc
index 51f49c0..62d67ea 100644
--- a/conf/init.gs101.rc
+++ b/conf/init.gs101.rc
@@ -29,11 +29,6 @@
     write /dev/sys/fs/by-name/userdata/data_io_flag 56
     write /dev/sys/fs/by-name/userdata/node_io_flag 56
 
-    chown system system /sys/kernel/vendor_sched/clear_prefer_high_cap
-    chown system system /sys/kernel/vendor_sched/set_prefer_high_cap
-    chmod 0220 /sys/kernel/vendor_sched/clear_prefer_high_cap
-    chmod 0220 /sys/kernel/vendor_sched/set_prefer_high_cap
-
     wait /dev/block/platform/${ro.boot.boot_devices}
     symlink /dev/block/platform/${ro.boot.boot_devices} /dev/block/bootdevice
 
@@ -103,6 +98,11 @@
     write /dev/cpuctl/foreground/cpu.uclamp.min 30
     write /dev/cpuctl/foreground/cpu.uclamp.latency_sensitive 1
 
+    write /sys/kernel/vendor_sched/ta_uclamp_min 308
+    write /sys/kernel/vendor_sched/ta_prefer_idle 1
+    write /sys/kernel/vendor_sched/fg_uclamp_min 308
+    write /sys/kernel/vendor_sched/fg_prefer_idle 1
+
     # governor setting
     write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor sched_pixel
     write /sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/up_rate_limit_us 500
@@ -122,8 +122,11 @@
     chown system system /dev/cpuctl/camera-daemon/cpu.uclamp.max
     chown system system /dev/cpuctl/camera-daemon/cpu.uclamp.latency_sensitive
     chown system system /dev/cpuctl/camera-daemon/cgroup.procs
+
     write /dev/cpuctl/camera-daemon/cpu.uclamp.latency_sensitive 1
     write /dev/cpuctl/camera-daemon/cpu.uclamp.min 1
+    write /sys/kernel/vendor_sched/cam_prefer_idle 1
+    write /sys/kernel/vendor_sched/cam_uclamp_min 10
 
     chown system system /dev/cpuset/cgroup.procs
 
@@ -200,6 +203,7 @@
 
     # Add a boost for NNAPI HAL
     write /dev/cpuctl/nnapi-hal/cpu.uclamp.min 15
+    write /sys/kernel/vendor_sched/nnapi_uclamp_min 154
 
     # Add memlat governor settings
     write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cl0_memlat@17000010/polling_interval 10
@@ -627,6 +631,8 @@
     # Setup final cpu.uclamp
     write /dev/cpuctl/top-app/cpu.uclamp.min 10
     write /dev/cpuctl/foreground/cpu.uclamp.min 0
+    write /sys/kernel/vendor_sched/ta_uclamp_min 103
+    write /sys/kernel/vendor_sched/fg_uclamp_min 0
 
     # gvotables for dumpstate
     chown system system /sys/kernel/debug/gvotables
diff --git a/powerhint.json b/powerhint.json
index 2db4c56..fa99442 100644
--- a/powerhint.json
+++ b/powerhint.json
@@ -93,14 +93,14 @@
     },
     {
       "Name": "TAUClampBoost",
-      "Path": "/dev/cpuctl/top-app/cpu.uclamp.min",
+      "Path": "/sys/kernel/vendor_sched/ta_uclamp_min",
       "Values": [
         "0",
-	"54",
-	"24",
-        "18",
-        "12",
-        "6"
+	"553",
+	"246",
+        "185",
+        "123",
+        "62"
       ],
       "DefaultIndex": 0,
       "ResetOnInit": true
@@ -115,15 +115,6 @@
       "ResetOnInit": true
     },
     {
-      "Name": "PreferHighCapEnable",
-      "Path": "/sys/kernel/vendor_sched/prefer_high_cap_enable",
-      "Values": [
-        "1",
-        "0"
-      ],
-      "ResetOnInit": true
-    },
-    {
       "Name": "LimitFlashCurrent",
       "Path": "vendor.camera.max_flash_current",
       "Values": [
@@ -186,19 +177,19 @@
       "PowerHint": "INTERACTION_120",
       "Node": "TAUClampBoost",
       "Duration": 6000,
-      "Value": "24"
+      "Value": "246"
     },
     {
       "PowerHint": "INTERACTION_90",
       "Node": "TAUClampBoost",
       "Duration": 6000,
-      "Value": "18"
+      "Value": "185"
     },
     {
       "PowerHint": "INTERACTION_60",
       "Node": "TAUClampBoost",
       "Duration": 6000,
-      "Value": "12"
+      "Value": "123"
     },
     {
       "PowerHint": "REFRESH_120FPS",
@@ -272,7 +263,7 @@
       "PowerHint": "LAUNCH",
       "Node": "TAUClampBoost",
       "Duration": 5000,
-      "Value": "54"
+      "Value": "553"
     },
     {
       "PowerHint": "LAUNCH",
@@ -398,19 +389,19 @@
       "PowerHint": "REFRESH_120FPS",
       "Node": "TAUClampBoost",
       "Duration": 0,
-      "Value": "18"
+      "Value": "185"
     },
     {
       "PowerHint": "REFRESH_90FPS",
       "Node": "TAUClampBoost",
       "Duration": 0,
-      "Value": "12"
+      "Value": "123"
     },
     {
       "PowerHint": "REFRESH_60FPS",
       "Node": "TAUClampBoost",
       "Duration": 0,
-      "Value": "6"
+      "Value": "62"
     },
     {
       "PowerHint": "DISABLE_TA_BOOST",
diff --git a/powerhint_a0.json b/powerhint_a0.json
index f349d24..60f6e04 100644
--- a/powerhint_a0.json
+++ b/powerhint_a0.json
@@ -55,13 +55,13 @@
     },
     {
       "Name": "TAUClampBoost",
-      "Path": "/dev/cpuctl/top-app/cpu.uclamp.min",
+      "Path": "/sys/kernel/vendor_sched/ta_uclamp_min",
       "Values": [
         "0",
-        "40",
-        "30",
-        "20",
-        "10"
+        "410",
+        "308",
+        "205",
+        "103"
       ],
       "DefaultIndex": 0,
       "ResetOnInit": true
@@ -85,15 +85,6 @@
       "ResetOnInit": true
     },
     {
-      "Name": "PreferHighCapEnable",
-      "Path": "/sys/kernel/vendor_sched/prefer_high_cap_enable",
-      "Values": [
-        "1",
-        "0"
-      ],
-      "ResetOnInit": true
-    },
-    {
       "Name": "PowerHALRenderingState",
       "Path": "vendor.powerhal.rendering",
       "Values": [
@@ -140,19 +131,19 @@
       "PowerHint": "INTERACTION_120",
       "Node": "TAUClampBoost",
       "Duration": 6000,
-      "Value": "40"
+      "Value": "410"
     },
     {
       "PowerHint": "INTERACTION_90",
       "Node": "TAUClampBoost",
       "Duration": 6000,
-      "Value": "30"
+      "Value": "308"
     },
     {
       "PowerHint": "INTERACTION_60",
       "Node": "TAUClampBoost",
       "Duration": 6000,
-      "Value": "20"
+      "Value": "205"
     },
     {
       "PowerHint": "REFRESH_120FPS",
@@ -201,12 +192,6 @@
     },
     {
       "PowerHint": "INTERACTION",
-      "Node": "PreferHighCapEnable",
-      "Duration": 6000,
-      "Value": "1"
-    },
-    {
-      "PowerHint": "INTERACTION",
       "Node": "UfsClkGateEnable",
       "Duration": 200,
       "Value": "0"
@@ -250,13 +235,7 @@
       "PowerHint": "LAUNCH",
       "Node": "TAUClampBoost",
       "Duration": 5000,
-      "Value": "30"
-    },
-    {
-      "PowerHint": "LAUNCH",
-      "Node": "PreferHighCapEnable",
-      "Duration": 5000,
-      "Value": "1"
+      "Value": "308"
     },
     {
       "PowerHint": "LAUNCH",
@@ -308,12 +287,6 @@
     },
     {
       "PowerHint": "CAMERA_STREAMING_STANDARD",
-      "Node": "PreferHighCapEnable",
-      "Duration": 0,
-      "Value": "1"
-    },
-    {
-      "PowerHint": "CAMERA_STREAMING_STANDARD",
       "Node": "GPUMinFreq",
       "Duration": 0,
       "Value": "670000"
@@ -358,19 +331,19 @@
       "PowerHint": "REFRESH_120FPS",
       "Node": "TAUClampBoost",
       "Duration": 0,
-      "Value": "30"
+      "Value": "308"
     },
     {
       "PowerHint": "REFRESH_90FPS",
       "Node": "TAUClampBoost",
       "Duration": 0,
-      "Value": "20"
+      "Value": "205"
     },
     {
       "PowerHint": "REFRESH_60FPS",
       "Node": "TAUClampBoost",
       "Duration": 0,
-      "Value": "10"
+      "Value": "103"
     },
     {
       "PowerHint": "DISABLE_TA_BOOST",
diff --git a/powerhint_a1.json b/powerhint_a1.json
index 6a13c0f..96f4268 100644
--- a/powerhint_a1.json
+++ b/powerhint_a1.json
@@ -75,13 +75,13 @@
     },
     {
       "Name": "TAUClampBoost",
-      "Path": "/dev/cpuctl/top-app/cpu.uclamp.min",
+      "Path": "/sys/kernel/vendor_sched/ta_uclamp_min",
       "Values": [
         "0",
-        "40",
-        "30",
-        "20",
-        "10"
+        "410",
+        "308",
+        "205",
+        "103"
       ],
       "DefaultIndex": 0,
       "ResetOnInit": true
@@ -105,15 +105,6 @@
       "ResetOnInit": true
     },
     {
-      "Name": "PreferHighCapEnable",
-      "Path": "/sys/kernel/vendor_sched/prefer_high_cap_enable",
-      "Values": [
-        "1",
-        "0"
-      ],
-      "ResetOnInit": true
-    },
-    {
       "Name": "LimitFlashCurrent",
       "Path": "vendor.camera.max_flash_current",
       "Values": [
@@ -176,19 +167,19 @@
       "PowerHint": "INTERACTION_120",
       "Node": "TAUClampBoost",
       "Duration": 6000,
-      "Value": "40"
+      "Value": "410"
     },
     {
       "PowerHint": "INTERACTION_90",
       "Node": "TAUClampBoost",
       "Duration": 6000,
-      "Value": "30"
+      "Value": "308"
     },
     {
       "PowerHint": "INTERACTION_60",
       "Node": "TAUClampBoost",
       "Duration": 6000,
-      "Value": "20"
+      "Value": "205"
     },
     {
       "PowerHint": "REFRESH_120FPS",
@@ -280,7 +271,7 @@
       "PowerHint": "LAUNCH",
       "Node": "TAUClampBoost",
       "Duration": 5000,
-      "Value": "30"
+      "Value": "308"
     },
     {
       "PowerHint": "LAUNCH",
@@ -332,12 +323,6 @@
     },
     {
       "PowerHint": "CAMERA_STREAMING_STANDARD",
-      "Node": "PreferHighCapEnable",
-      "Duration": 0,
-      "Value": "1"
-    },
-    {
-      "PowerHint": "CAMERA_STREAMING_STANDARD",
       "Node": "GPUMinFreq",
       "Duration": 0,
       "Value": "670000"
@@ -382,19 +367,19 @@
       "PowerHint": "REFRESH_120FPS",
       "Node": "TAUClampBoost",
       "Duration": 0,
-      "Value": "30"
+      "Value": "308"
     },
     {
       "PowerHint": "REFRESH_90FPS",
       "Node": "TAUClampBoost",
       "Duration": 0,
-      "Value": "20"
+      "Value": "205"
     },
     {
       "PowerHint": "REFRESH_60FPS",
       "Node": "TAUClampBoost",
       "Duration": 0,
-      "Value": "10"
+      "Value": "103"
     },
     {
       "PowerHint": "DISABLE_TA_BOOST",
diff --git a/task_profiles.json b/task_profiles.json
index 1e8def0..e4f9c07 100644
--- a/task_profiles.json
+++ b/task_profiles.json
@@ -8,14 +8,14 @@
           "Params":
           {
             "Controller": "cpu",
-            "Path": "top-app"
+            "Path": "system"
           }
         },
         {
           "Name": "WriteFile",
           "Params":
           {
-            "FilePath": "/sys/kernel/vendor_sched/set_prefer_high_cap",
+            "FilePath": "/sys/kernel/vendor_sched/set_task_group_ta",
             "Value": "<pid>",
             "LogFailures": "false"
           }
@@ -30,14 +30,14 @@
           "Params":
           {
             "Controller": "cpu",
-            "Path": "camera-daemon"
+            "Path": "system"
           }
         },
         {
           "Name": "WriteFile",
           "Params":
           {
-            "FilePath": "/sys/kernel/vendor_sched/set_prefer_high_cap",
+            "FilePath": "/sys/kernel/vendor_sched/set_task_group_cam",
             "Value": "<pid>",
             "LogFailures": "false"
           }
@@ -59,7 +59,7 @@
           "Name": "WriteFile",
           "Params":
           {
-            "FilePath": "/sys/kernel/vendor_sched/clear_prefer_high_cap",
+            "FilePath": "/sys/kernel/vendor_sched/set_task_group_bg",
             "Value": "<pid>",
             "LogFailures": "false"
           }
@@ -74,14 +74,14 @@
           "Params":
           {
             "Controller": "cpu",
-            "Path": ""
+            "Path": "system"
           }
         },
         {
           "Name": "WriteFile",
           "Params":
           {
-            "FilePath": "/sys/kernel/vendor_sched/clear_prefer_high_cap",
+            "FilePath": "/sys/kernel/vendor_sched/clear_group",
             "Value": "<pid>",
             "LogFailures": "false"
           }
@@ -96,14 +96,14 @@
           "Params":
           {
             "Controller": "cpu",
-            "Path": "foreground"
+            "Path": "system"
           }
         },
         {
           "Name": "WriteFile",
           "Params":
           {
-            "FilePath": "/sys/kernel/vendor_sched/clear_prefer_high_cap",
+            "FilePath": "/sys/kernel/vendor_sched/set_task_group_fg",
             "Value": "<pid>",
             "LogFailures": "false"
           }
@@ -118,14 +118,14 @@
           "Params":
           {
             "Controller": "cpu",
-            "Path": "rt"
+            "Path": "system"
           }
         },
         {
           "Name": "WriteFile",
           "Params":
           {
-            "FilePath": "/sys/kernel/vendor_sched/clear_prefer_high_cap",
+            "FilePath": "/sys/kernel/vendor_sched/set_task_group_ta",
             "Value": "<pid>",
             "LogFailures": "false"
           }
@@ -140,14 +140,36 @@
           "Params":
           {
             "Controller": "cpu",
-            "Path": "nnapi-hal"
+            "Path": "system"
           }
         },
         {
           "Name": "WriteFile",
           "Params":
           {
-            "FilePath": "/sys/kernel/vendor_sched/clear_prefer_high_cap",
+            "FilePath": "/sys/kernel/vendor_sched/set_task_group_nnapi",
+            "Value": "<pid>",
+            "LogFailures": "false"
+          }
+        }
+      ]
+    },
+    {
+      "Name": "SystemBGPerformance",
+      "Actions": [
+        {
+          "Name": "JoinCgroup",
+          "Params":
+          {
+            "Controller": "cpu",
+            "Path": "system"
+          }
+        },
+        {
+          "Name": "WriteFile",
+          "Params":
+          {
+            "FilePath": "/sys/kernel/vendor_sched/set_task_group_sysbg",
             "Value": "<pid>",
             "LogFailures": "false"
           }