diff options
author | Darren Hsu <darrenhsu@google.com> | 2022-04-27 01:24:42 +0800 |
---|---|---|
committer | TreeHugger Robot <treehugger-gerrit@google.com> | 2022-05-03 10:26:08 +0000 |
commit | 313fe7709cc3a1902cc3f8ac47148808da5aace5 (patch) | |
tree | 04980d1c4b18f811c5e6914c2c850db72adc51c8 /powerstats | |
parent | 60ccbd668e63d46675924c1ba146cba7cd7503bb (diff) | |
download | gs201-313fe7709cc3a1902cc3f8ac47148808da5aace5.tar.gz |
powerstats: re-enable AoC power stats reporting with timeout
Bug: 219630658
Test: dumpsys android.hardware.power.stats.IPowerStats/default
Change-Id: Icb1433bed3438ed4525816e3d3be28b4e0261e89
Signed-off-by: Darren Hsu <darrenhsu@google.com>
Diffstat (limited to 'powerstats')
-rw-r--r-- | powerstats/Gs201CommonDataProviders.cpp | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/powerstats/Gs201CommonDataProviders.cpp b/powerstats/Gs201CommonDataProviders.cpp index 6232a6e..4ce104f 100644 --- a/powerstats/Gs201CommonDataProviders.cpp +++ b/powerstats/Gs201CommonDataProviders.cpp @@ -16,7 +16,7 @@ #include <PowerStatsAidl.h> #include <Gs201CommonDataProviders.h> -#include <AocStateResidencyDataProvider.h> +#include <AocTimedStateResidencyDataProvider.h> #include <DevfreqStateResidencyDataProvider.h> #include <DvfsStateResidencyDataProvider.h> #include <UfsStateResidencyDataProvider.h> @@ -32,7 +32,7 @@ #include <android/binder_process.h> #include <log/log.h> -using aidl::android::hardware::power::stats::AocStateResidencyDataProvider; +using aidl::android::hardware::power::stats::AocTimedStateResidencyDataProvider; using aidl::android::hardware::power::stats::DevfreqStateResidencyDataProvider; using aidl::android::hardware::power::stats::DvfsStateResidencyDataProvider; using aidl::android::hardware::power::stats::UfsStateResidencyDataProvider; @@ -102,6 +102,8 @@ void addPlaceholderEnergyConsumers(std::shared_ptr<PowerStats> p) { } void addAoC(std::shared_ptr<PowerStats> p) { + // When the given timeout is 0, the timeout will be replaced with "120ms * statesCount". + static const uint64_t TIMEOUT_MILLIS = 0; std::string prefix = "/sys/devices/platform/19000000.aoc/control/"; // Add AoC cores (a32, ff1, hf0, and hf1) @@ -113,8 +115,8 @@ void addAoC(std::shared_ptr<PowerStats> p) { }; std::vector<std::pair<std::string, std::string>> coreStates = { {"DWN", "off"}, {"RET", "retention"}, {"WFI", "wfi"}}; - p->addStateResidencyDataProvider(std::make_unique<AocStateResidencyDataProvider>(coreIds, - coreStates)); + p->addStateResidencyDataProvider(std::make_unique<AocTimedStateResidencyDataProvider>(coreIds, + coreStates, TIMEOUT_MILLIS)); // Add AoC voltage stats std::vector<std::pair<std::string, std::string>> voltageIds = { @@ -125,7 +127,8 @@ void addAoC(std::shared_ptr<PowerStats> p) { {"UUD", "ultra_underdrive"}, {"UD", "underdrive"}}; p->addStateResidencyDataProvider( - std::make_unique<AocStateResidencyDataProvider>(voltageIds, voltageStates)); + std::make_unique<AocTimedStateResidencyDataProvider>(voltageIds, voltageStates, + TIMEOUT_MILLIS)); // Add AoC monitor mode std::vector<std::pair<std::string, std::string>> monitorIds = { @@ -135,7 +138,8 @@ void addAoC(std::shared_ptr<PowerStats> p) { {"MON", "mode"}, }; p->addStateResidencyDataProvider( - std::make_unique<AocStateResidencyDataProvider>(monitorIds, monitorStates)); + std::make_unique<AocTimedStateResidencyDataProvider>(monitorIds, monitorStates, + TIMEOUT_MILLIS)); // Add AoC restart count const GenericStateResidencyDataProvider::StateResidencyConfig restartCountConfig = { @@ -642,9 +646,7 @@ void addGs201CommonDataProviders(std::shared_ptr<PowerStats> p) { setEnergyMeter(p); addPixelStateResidencyDataProvider(p); - // TODO(b/220032540): Re-enable AoC reporting when AoC long latency issue is fixed or - // the timeout mechanism is merged. - //addAoC(p); + addAoC(p); addDvfsStats(p); addSoC(p); addCPUclusters(p); |