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",
|
||||
};
|
||||
|
||||
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();
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue