From 78364766c55933ffa2e82ea7f86add8214c6a795 Mon Sep 17 00:00:00 2001 From: Darren Hsu Date: Tue, 19 Apr 2022 08:55:10 +0800 Subject: [PATCH 1/4] powerstats: set time limit as timeout for AoC Bug: 219630658 Test: dumpsys android.hardware.power.stats.IPowerStats/default Change-Id: I725c00745890350f4227fc9408d926abc783ea66 Signed-off-by: Darren Hsu --- powerstats/Gs201CommonDataProviders.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/powerstats/Gs201CommonDataProviders.cpp b/powerstats/Gs201CommonDataProviders.cpp index 6232a6e0..599874d1 100644 --- a/powerstats/Gs201CommonDataProviders.cpp +++ b/powerstats/Gs201CommonDataProviders.cpp @@ -102,6 +102,7 @@ void addPlaceholderEnergyConsumers(std::shared_ptr p) { } void addAoC(std::shared_ptr p) { + static const uint64_t TIMEOUT_MILLIS = 120; std::string prefix = "/sys/devices/platform/19000000.aoc/control/"; // Add AoC cores (a32, ff1, hf0, and hf1) @@ -114,7 +115,7 @@ void addAoC(std::shared_ptr p) { std::vector> coreStates = { {"DWN", "off"}, {"RET", "retention"}, {"WFI", "wfi"}}; p->addStateResidencyDataProvider(std::make_unique(coreIds, - coreStates)); + coreStates, TIMEOUT_MILLIS)); // Add AoC voltage stats std::vector> voltageIds = { @@ -125,7 +126,8 @@ void addAoC(std::shared_ptr p) { {"UUD", "ultra_underdrive"}, {"UD", "underdrive"}}; p->addStateResidencyDataProvider( - std::make_unique(voltageIds, voltageStates)); + std::make_unique(voltageIds, voltageStates, + TIMEOUT_MILLIS)); // Add AoC monitor mode std::vector> monitorIds = { @@ -135,7 +137,8 @@ void addAoC(std::shared_ptr p) { {"MON", "mode"}, }; p->addStateResidencyDataProvider( - std::make_unique(monitorIds, monitorStates)); + std::make_unique(monitorIds, monitorStates, + TIMEOUT_MILLIS)); // Add AoC restart count const GenericStateResidencyDataProvider::StateResidencyConfig restartCountConfig = { From 87b68b782d9eac8d40f6b57d8091f44340aef2a3 Mon Sep 17 00:00:00 2001 From: Stephane Lee Date: Fri, 8 Apr 2022 10:59:07 -0700 Subject: [PATCH 2/4] ODPM: Fix rail selection file permissions Test: Ensure that enabled_rails has system/system permissions Bug: 228112997 Change-Id: I9627b35c6294aefb98e0e957f2a6b64aab0c2ae1 --- conf/init.gs201.rc | 5 ----- conf/ueventd.gs201.rc | 3 +++ 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/conf/init.gs201.rc b/conf/init.gs201.rc index f4f0a81b..1d4916fc 100644 --- a/conf/init.gs201.rc +++ b/conf/init.gs201.rc @@ -894,11 +894,6 @@ on post-fs-data chown bluetooth system /proc/bluetooth/sleep/lpm chown bluetooth system /proc/bluetooth/sleep/btwrite -# ODPM -on fs - chown system system /sys/devices/platform/acpm_mfd_bus@18100000/i2c-7/i2c-s2mpg12mfd/s2mpg12-meter/s2mpg12-odpm/iio\:device0/enabled_rails - chown system system /sys/devices/platform/acpm_mfd_bus@18110000/i2c-8/i2c-s2mpg13mfd/s2mpg13-meter/s2mpg13-odpm/iio\:device1/enabled_rails - on post-fs-data mkdir /data/vendor/powerstats 0771 system system chown system system /data/vendor/powerstats diff --git a/conf/ueventd.gs201.rc b/conf/ueventd.gs201.rc index c4006353..5a50b638 100644 --- a/conf/ueventd.gs201.rc +++ b/conf/ueventd.gs201.rc @@ -217,3 +217,6 @@ # Wlan /dev/wlan 0660 wifi wifi + +# ODPM +/sys/bus/iio/devices/iio:device* enabled_rails 0660 system system From 513166f7813792ee551fa9818663c7aaf4ec08c3 Mon Sep 17 00:00:00 2001 From: SalmaxChang Date: Wed, 20 Apr 2022 18:15:20 +0800 Subject: [PATCH 3/4] dumpstate: change log compression timeout to 20s The duration of dumpstate board binary is only 45s. Change the log compression timeout from 120s to 20s. Bug: 229932116 Change-Id: I2403ade04d69773b91ee90f591d40416ed684f71 --- dumpstate/DumpstateDevice.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dumpstate/DumpstateDevice.cpp b/dumpstate/DumpstateDevice.cpp index d0b473e1..3b6a1552 100644 --- a/dumpstate/DumpstateDevice.cpp +++ b/dumpstate/DumpstateDevice.cpp @@ -110,7 +110,7 @@ void DumpstateDevice::dumpLogs(int fd, std::string srcDir, std::string destDir, std::string copyCmd = "/vendor/bin/cp " + srcLogFile + " " + destLogFile; ALOGD("Copying %s to %s\n", srcLogFile.c_str(), destLogFile.c_str()); - RunCommandToFd(fd, "CP DIAG LOGS", { "/vendor/bin/sh", "-c", copyCmd.c_str() }, options); + RunCommandToFd(fd, "CP LOGS", { "/vendor/bin/sh", "-c", copyCmd.c_str() }, options); } while (num_entries--) { @@ -1144,7 +1144,7 @@ void DumpstateDevice::dumpModem(int fd, int fdModem) dumpModemEFS(modemLogAllDir); } - RunCommandToFd(fd, "TAR LOG", {"/vendor/bin/tar", "cvf", modemLogCombined.c_str(), "-C", modemLogAllDir.c_str(), "."}, CommandOptions::WithTimeout(120).Build()); + RunCommandToFd(fd, "TAR LOG", {"/vendor/bin/tar", "cvf", modemLogCombined.c_str(), "-C", modemLogAllDir.c_str(), "."}, CommandOptions::WithTimeout(20).Build()); RunCommandToFd(fd, "CHG PERM", {"/vendor/bin/chmod", "a+w", modemLogCombined.c_str()}, CommandOptions::WithTimeout(2).Build()); std::vector buffer(65536); From c3151e4190cc64697644b47a5f0e8068c38fca9f Mon Sep 17 00:00:00 2001 From: SalmaxChang Date: Thu, 21 Apr 2022 20:57:42 +0800 Subject: [PATCH 4/4] dumpstate: change log compression timeout to 20s The duration of dumpstate board binary is only 45s. Change the log compression timeout from 120s to 20s. Bug: 229932116 Change-Id: I4f3ebe0c89db50a3ad7071fe730585a391f7ac81 --- dumpstate/Dumpstate.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dumpstate/Dumpstate.cpp b/dumpstate/Dumpstate.cpp index 2740484b..aaec2521 100644 --- a/dumpstate/Dumpstate.cpp +++ b/dumpstate/Dumpstate.cpp @@ -108,7 +108,7 @@ void Dumpstate::dumpLogs(int fd, std::string srcDir, std::string destDir, int ma std::string copyCmd = "/vendor/bin/cp " + srcLogFile + " " + destLogFile; ALOGD("Copying %s to %s\n", srcLogFile.c_str(), destLogFile.c_str()); - RunCommandToFd(fd, "CP DIAG LOGS", { "/vendor/bin/sh", "-c", copyCmd.c_str() }, options); + RunCommandToFd(fd, "CP LOGS", { "/vendor/bin/sh", "-c", copyCmd.c_str() }, options); } while (num_entries--) { @@ -1148,7 +1148,7 @@ void Dumpstate::dumpModem(int fd, int fdModem) dumpModemEFS(modemLogAllDir); } - RunCommandToFd(fd, "TAR LOG", {"/vendor/bin/tar", "cvf", modemLogCombined.c_str(), "-C", modemLogAllDir.c_str(), "."}, CommandOptions::WithTimeout(120).Build()); + RunCommandToFd(fd, "TAR LOG", {"/vendor/bin/tar", "cvf", modemLogCombined.c_str(), "-C", modemLogAllDir.c_str(), "."}, CommandOptions::WithTimeout(20).Build()); RunCommandToFd(fd, "CHG PERM", {"/vendor/bin/chmod", "a+w", modemLogCombined.c_str()}, CommandOptions::WithTimeout(2).Build()); std::vector buffer(65536);