diff --git a/battery_mitigation/Android.bp b/battery_mitigation/Android.bp deleted file mode 100644 index f9d429fb..00000000 --- a/battery_mitigation/Android.bp +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (C) 2022 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package { - default_applicable_licenses: [ - "//device/google/gs201:device_google_gs201_license", - ], -} - -cc_binary { - name: "battery_mitigation", - relative_install_path: "hw", - proprietary: true, - init_rc: ["battery_mitigation.rc"], - shared_libs: [ - "libpixelmitigation", - "libbase", - "libbinder_ndk", - "libcutils", - "libhardware", - "libhidlbase", - "liblog", - "libutils", - "android.hardware.thermal@2.0" - ], - srcs: [ - "battery_mitigation.cpp", - ], - cflags: [ - "-Wall", - "-Werror", - ], -} diff --git a/battery_mitigation/battery_mitigation.cpp b/battery_mitigation/battery_mitigation.cpp deleted file mode 100644 index 2fa67213..00000000 --- a/battery_mitigation/battery_mitigation.cpp +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Copyright (C) 2022 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#define LOG_TAG "battery-mitigation" - -#include - -using android::hardware::google::pixel::BatteryMitigation; -using android::hardware::google::pixel::MitigationConfig; - -android::sp bmSp; - -const struct MitigationConfig::Config cfg = { - .SystemPath = { - "/dev/thermal/tz-by-name/batoilo/temp", - "/dev/thermal/tz-by-name/smpl_gm/temp", - "/dev/thermal/tz-by-name/soc/temp", - "/dev/thermal/tz-by-name/vdroop1/temp", - "/dev/thermal/tz-by-name/vdroop2/temp", - "/dev/thermal/tz-by-name/ocp_gpu/temp", - "/dev/thermal/tz-by-name/ocp_tpu/temp", - "/dev/thermal/tz-by-name/soft_ocp_cpu2/temp", - "/dev/thermal/tz-by-name/soft_ocp_cpu1/temp", - "/dev/thermal/tz-by-name/battery/temp", - "/dev/thermal/tz-by-name/battery_cycle/temp", - "/sys/bus/iio/devices/iio:device0/lpf_power", - "/sys/bus/iio/devices/iio:device1/lpf_power", - "/dev/thermal/cdev-by-name/thermal-cpufreq-2/cur_state", - "/dev/thermal/cdev-by-name/thermal-cpufreq-1/cur_state", - "/dev/thermal/cdev-by-name/thermal-gpufreq-0/cur_state", - "/dev/thermal/cdev-by-name/tpu_cooling/cur_state", - "/dev/thermal/cdev-by-name/CAM/cur_state", - "/dev/thermal/cdev-by-name/DISP/cur_state", - "/dev/thermal/cdev-by-name/gxp-cooling/cur_state", - "/sys/class/power_supply/battery/voltage_now", - "/sys/class/power_supply/battery/current_now", - }, - .FilteredZones = { - "batoilo", - "vdroop1", - "vdroop2", - "smpl_gm", - }, - .SystemName = { - "batoilo", "smpl_gm", "soc", "vdroop1", "vdroop2", "ocp_gpu", - "ocp_tpu", "soft_ocp_cpu2", "soft_ocp_cpu1", "battery", "battery_cycle", - "main", "sub", "CPU2", "CPU1", "GPU", "TPU", "CAM", "DISP", "NPU", - "voltage_now", "current_now", - }, - .LogFilePath = "/data/vendor/mitigation/thismeal.txt", - .TimestampFormat = "%Y-%m-%d %H:%M:%S", -}; - -const char kReadyFilePath[] = "/sys/devices/virtual/pmic/mitigation/instruction/ready"; -const char kReadyProperty[] = "vendor.brownout.mitigation.ready"; -const char kLastMealPath[] = "/data/vendor/mitigation/lastmeal.txt"; -const char kBRRequestedProperty[] = "vendor.startup_bugreport_requested"; -const std::regex kTimestampRegex("^\\S+\\s[0-9]+:[0-9]+:[0-9]+\\S+$"); - -int main(int /*argc*/, char ** /*argv*/) { - auto batteryMitigationStartTime = std::chrono::system_clock::now(); - bmSp = new BatteryMitigation(cfg); - if (!bmSp) { - return 0; - } - bool mitigationLogTimeValid = bmSp->isMitigationLogTimeValid(batteryMitigationStartTime, - cfg.LogFilePath, - cfg.TimestampFormat, - kTimestampRegex); - int startupBugreport = android::base::GetIntProperty(kBRRequestedProperty, 0); - if (startupBugreport && mitigationLogTimeValid) { - std::ifstream src(cfg.LogFilePath, std::ios::in); - std::ofstream dst(kLastMealPath, std::ios::out); - dst << src.rdbuf(); - } - 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(); - } - return 0; -} diff --git a/battery_mitigation/battery_mitigation.rc b/battery_mitigation/battery_mitigation.rc deleted file mode 100644 index 4c4e2c1b..00000000 --- a/battery_mitigation/battery_mitigation.rc +++ /dev/null @@ -1,93 +0,0 @@ -on property:vendor.thermal.link_ready=1 - mkdir /data/vendor/mitigation 0755 system system - chown system system /data/vendor/mitigation - start vendor.battery_mitigation - -on property:ro.boot.bootreason=reboot,uvlo,pmic,if - setprop vendor.startup_bugreport_requested 1 - -on property:ro.boot.bootreason=reboot,ocp,pmic,if - setprop vendor.startup_bugreport_requested 1 - -on property:ro.boot.bootreason=reboot,uvlo,pmic,main - setprop vendor.startup_bugreport_requested 1 - -on property:ro.boot.bootreason=reboot,uvlo,pmic,sub - setprop vendor.startup_bugreport_requested 1 - -on property:ro.boot.bootreason=reboot,ocp,buck1m - setprop vendor.startup_bugreport_requested 1 - -on property:ro.boot.bootreason=reboot,ocp,buck2m - setprop vendor.startup_bugreport_requested 1 - -on property:ro.boot.bootreason=reboot,ocp,buck3m - setprop vendor.startup_bugreport_requested 1 - -on property:ro.boot.bootreason=reboot,ocp,buck4m - setprop vendor.startup_bugreport_requested 1 - -on property:ro.boot.bootreason=reboot,ocp,buck5m - setprop vendor.startup_bugreport_requested 1 - -on property:ro.boot.bootreason=reboot,ocp,buck6m - setprop vendor.startup_bugreport_requested 1 - -on property:ro.boot.bootreason=reboot,ocp,buck7m - setprop vendor.startup_bugreport_requested 1 - -on property:ro.boot.bootreason=reboot,ocp,buck8m - setprop vendor.startup_bugreport_requested 1 - -on property:ro.boot.bootreason=reboot,ocp,buck9m - setprop vendor.startup_bugreport_requested 1 - -on property:ro.boot.bootreason=reboot,ocp,buck10m - setprop vendor.startup_bugreport_requested 1 - -on property:ro.boot.bootreason=reboot,ocp,buck1s - setprop vendor.startup_bugreport_requested 1 - -on property:ro.boot.bootreason=reboot,ocp,buck2s - setprop vendor.startup_bugreport_requested 1 - -on property:ro.boot.bootreason=reboot,ocp,buck3s - setprop vendor.startup_bugreport_requested 1 - -on property:ro.boot.bootreason=reboot,ocp,buck4s - setprop vendor.startup_bugreport_requested 1 - -on property:ro.boot.bootreason=reboot,ocp,buck5s - setprop vendor.startup_bugreport_requested 1 - -on property:ro.boot.bootreason=reboot,ocp,buck6s - setprop vendor.startup_bugreport_requested 1 - -on property:ro.boot.bootreason=reboot,ocp,buck7s - setprop vendor.startup_bugreport_requested 1 - -on property:ro.boot.bootreason=reboot,ocp,buck8s - setprop vendor.startup_bugreport_requested 1 - -on property:ro.boot.bootreason=reboot,ocp,buck9s - setprop vendor.startup_bugreport_requested 1 - -on property:ro.boot.bootreason=reboot,ocp,buck10s - setprop vendor.startup_bugreport_requested 1 - -on property:ro.boot.bootreason=reboot,ocp,buckds - setprop vendor.startup_bugreport_requested 1 - -on property:ro.boot.bootreason=reboot,ocp,buckas - setprop vendor.startup_bugreport_requested 1 - -on property:ro.boot.bootreason=reboot,ocp,buckcs - setprop vendor.startup_bugreport_requested 1 - -on property:ro.boot.bootreason=reboot,ocp,buckbs - setprop vendor.startup_bugreport_requested 1 - -service vendor.battery_mitigation /vendor/bin/hw/battery_mitigation - user system - group system - capabilities WAKE_ALARM BLOCK_SUSPEND diff --git a/device.mk b/device.mk index 8b51e48b..c07032d9 100644 --- a/device.mk +++ b/device.mk @@ -562,10 +562,6 @@ PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \ ConnectivityOverlay -# Battery Mitigation -PRODUCT_PACKAGES += \ - battery_mitigation - PRODUCT_PACKAGES_DEBUG += \ sg_write_buffer \ f2fs_io \ @@ -581,6 +577,8 @@ include device/google/gs-common/storage/storage.mk PRODUCT_PACKAGES += \ android.hardware.health.storage-service.default +# Battery Mitigation +include device/google/gs-common/battery_mitigation/bcl.mk # storage pixelstats -include hardware/google/pixel/pixelstats/device.mk