powerstats: add new parameter to provide aoc clock

AoC power stats are reported in ticks that are different frequency
in different SoC.

Bug: 233923713
Test: dumpsys android.hardware.power.stats.IPowerStats/default
Change-Id: I047d7ae163941c2168dcd8a0ea34da73ab4a8477
Merged-In: I047d7ae163941c2168dcd8a0ea34da73ab4a8477
Signed-off-by: Darren Hsu <darrenhsu@google.com>
This commit is contained in:
Darren Hsu 2022-06-17 20:10:29 +08:00
parent 33552445b8
commit 2756ac31ff
4 changed files with 13 additions and 10 deletions

View file

@ -24,12 +24,12 @@ namespace hardware {
namespace power {
namespace stats {
AocStateResidencyDataProvider::AocStateResidencyDataProvider(std::vector<std::pair<std::string,
std::string>> ids, std::vector<std::pair<std::string, std::string>> states) {
// AoC stats are reported in ticks of 244.140625ns. The transform
// function converts ticks to milliseconds.
// 1000000 / 244.140625 = 4096.
static const uint64_t AOC_CLK = 4096;
AocStateResidencyDataProvider::AocStateResidencyDataProvider(
std::vector<std::pair<std::string, std::string>> ids,
std::vector<std::pair<std::string, std::string>> states,
const uint64_t aocClock) {
// AoC stats are reported in ticks.
static const uint64_t AOC_CLK = aocClock;
std::function<uint64_t(uint64_t)> aocTickToMs = [](uint64_t a) { return a / AOC_CLK; };
GenericStateResidencyDataProvider::StateResidencyConfig config = {
.entryCountSupported = true,