summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--battery_mitigation/battery_mitigation.cpp19
-rw-r--r--conf/init.gs201.rc5
2 files changed, 23 insertions, 1 deletions
diff --git a/battery_mitigation/battery_mitigation.cpp b/battery_mitigation/battery_mitigation.cpp
index 5784b27..2204bd5 100644
--- a/battery_mitigation/battery_mitigation.cpp
+++ b/battery_mitigation/battery_mitigation.cpp
@@ -63,8 +63,27 @@ const struct MitigationConfig::Config cfg = {
.LogFilePath = "/data/vendor/mitigation/thismeal.txt",
};
+const char kReadyFilePath[] = "/sys/devices/virtual/pmic/mitigation/instruction/ready";
+const char kReadyProperty[] = "vendor.brownout.mitigation.ready";
+
int main(int /*argc*/, char ** /*argv*/) {
bmSp = new BatteryMitigation(cfg);
+ bool isBatteryMitigationReady = false;
+ std::string ready_str;
+ int val = 0;
+ while (!isBatteryMitigationReady) {
+ if (!android::base::ReadFileToString(kReadyFilePath, &ready_str)) {
+ continue;
+ }
+ ready_str = android::base::Trim(ready_str);
+ if (!android::base::ParseInt(ready_str, &val)) {
+ continue;
+ }
+ if (val == 1) {
+ isBatteryMitigationReady = true;
+ }
+ }
+ android::base::SetProperty(kReadyProperty, "1");
while (true) {
pause();
}
diff --git a/conf/init.gs201.rc b/conf/init.gs201.rc
index daa5be6..76c1ffe 100644
--- a/conf/init.gs201.rc
+++ b/conf/init.gs201.rc
@@ -911,7 +911,7 @@ on post-fs-data
mkdir /data/vendor/powerstats 0771 system system
chown system system /data/vendor/powerstats
-on property:vendor.thermal.link_ready=1
+on property:vendor.brownout.mitigation.ready=1
# BCL
write /sys/devices/virtual/pmic/mitigation/clock_ratio/tpu_light_clk_ratio 0xfff041c1 #DFS
write /sys/devices/virtual/pmic/mitigation/clock_ratio/cpu1_heavy_clk_ratio 0xfff041c1 #DFS
@@ -927,6 +927,9 @@ on property:vendor.thermal.link_ready=1
write /sys/devices/virtual/pmic/mitigation/clock_div/tpu_clk_div 0x1
write /sys/devices/virtual/pmic/mitigation/clock_div/gpu_clk_div 0x1
write /sys/devices/virtual/pmic/mitigation/clock_div/cpu2_clk_div 0x1
+
+on property:vendor.thermal.link_ready=1
+ # BCL
chown system system /dev/thermal/tz-by-name/soc/mode
chown system system /dev/thermal/tz-by-name/vdroop2/trip_point_0_temp
chown system system /dev/thermal/tz-by-name/vdroop2/trip_point_0_hyst