bcl: Add mitigation ready check
Instead of relying on vendor.thermal.link_ready property to gate write to BCL's SYSFS node, adding mitigation ready SYSFS so that writes to BCL's SYSFS node would not cause NULL pointer dereference. Bug: 249130916 Test: Confirm property vendor.brownout.mitigation.ready is set Signed-off-by: George Lee <geolee@google.com> Change-Id: Ic643a07ddb657cfc7e22537d5d25d0d99324e31c
This commit is contained in:
parent
78841a5be9
commit
8a8a2c92a2
2 changed files with 23 additions and 1 deletions
|
@ -63,8 +63,27 @@ const struct MitigationConfig::Config cfg = {
|
||||||
.LogFilePath = "/data/vendor/mitigation/thismeal.txt",
|
.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*/) {
|
int main(int /*argc*/, char ** /*argv*/) {
|
||||||
bmSp = new BatteryMitigation(cfg);
|
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) {
|
while (true) {
|
||||||
pause();
|
pause();
|
||||||
}
|
}
|
||||||
|
|
|
@ -911,7 +911,7 @@ on post-fs-data
|
||||||
mkdir /data/vendor/powerstats 0771 system system
|
mkdir /data/vendor/powerstats 0771 system system
|
||||||
chown system system /data/vendor/powerstats
|
chown system system /data/vendor/powerstats
|
||||||
|
|
||||||
on property:vendor.thermal.link_ready=1
|
on property:vendor.brownout.mitigation.ready=1
|
||||||
# BCL
|
# BCL
|
||||||
write /sys/devices/virtual/pmic/mitigation/clock_ratio/tpu_light_clk_ratio 0xfff041c1 #DFS
|
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
|
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/tpu_clk_div 0x1
|
||||||
write /sys/devices/virtual/pmic/mitigation/clock_div/gpu_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
|
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/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_temp
|
||||||
chown system system /dev/thermal/tz-by-name/vdroop2/trip_point_0_hyst
|
chown system system /dev/thermal/tz-by-name/vdroop2/trip_point_0_hyst
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue