From 34d8dea1ae59820ea7def6b58491dcdaf2885c53 Mon Sep 17 00:00:00 2001 From: Darren Hsu Date: Fri, 28 Oct 2022 18:14:53 +0800 Subject: [PATCH] powerstats: use fvp_stats to collect CPU/MIF state residencies Bug: 244516713 Bug: 244516289 Test: dumpsys android.hardware.power.stats.IPowerStats/default Change-Id: I4454208cc4ef2a47981f78ba857e331d4f56b39e Signed-off-by: Darren Hsu --- powerstats/ZumaCommonDataProviders.cpp | 77 ++++++++++++++++++++------ 1 file changed, 60 insertions(+), 17 deletions(-) diff --git a/powerstats/ZumaCommonDataProviders.cpp b/powerstats/ZumaCommonDataProviders.cpp index bebb8982..6e822c76 100644 --- a/powerstats/ZumaCommonDataProviders.cpp +++ b/powerstats/ZumaCommonDataProviders.cpp @@ -164,7 +164,66 @@ void addDvfsStats(std::shared_ptr p) { std::vector cfgs; + cfgs.push_back({"CL0", { + std::make_pair("2147MHz", "2147000"), + std::make_pair("2098MHz", "2098000"), + std::make_pair("2024MHz", "2024000"), + std::make_pair("1950MHz", "1950000"), + std::make_pair("1844MHz", "1844000"), + std::make_pair("1704MHz", "1704000"), + std::make_pair("1548MHz", "1548000"), + std::make_pair("1475MHz", "1475000"), + std::make_pair("1328MHz", "1328000"), + std::make_pair("1197MHz", "1197000"), + std::make_pair("1098MHz", "1098000"), + std::make_pair("975MHz", "975000"), + std::make_pair("820MHz", "820000"), + std::make_pair("615MHz", "615000"), + std::make_pair("324MHz", "324000"), + }}); + + cfgs.push_back({"CL1", { + std::make_pair("2450MHz", "2450000"), + std::make_pair("2352MHz", "2352000"), + std::make_pair("2245MHz", "2245000"), + std::make_pair("2130MHz", "2130000"), + std::make_pair("1999MHz", "1999000"), + std::make_pair("1836MHz", "1836000"), + std::make_pair("1622MHz", "1622000"), + std::make_pair("1549MHz", "1549000"), + std::make_pair("1418MHz", "1418000"), + std::make_pair("1328MHz", "1328000"), + std::make_pair("1221MHz", "1221000"), + std::make_pair("1082MHz", "1082000"), + std::make_pair("910MHz", "910000"), + std::make_pair("721MHz", "721000"), + std::make_pair("697MHz", "697000"), + std::make_pair("578MHz", "578000"), + std::make_pair("402MHz", "402000"), + }}); + + cfgs.push_back({"CL2", { + std::make_pair("3015MHz", "3015000"), + std::make_pair("2914MHz", "2914000"), + std::make_pair("2802MHz", "2802000"), + std::make_pair("2687MHz", "2687000"), + std::make_pair("2556MHz", "2556000"), + std::make_pair("2409MHz", "2409000"), + std::make_pair("2294MHz", "2294000"), + std::make_pair("2147MHz", "2147000"), + std::make_pair("2049MHz", "2049000"), + std::make_pair("1901MHz", "1901000"), + std::make_pair("1852MHz", "1852000"), + std::make_pair("1745MHz", "1745000"), + std::make_pair("1557MHz", "1557000"), + std::make_pair("1328MHz", "1328000"), + std::make_pair("1164MHz", "1164000"), + std::make_pair("893MHz", "893000"), + std::make_pair("500MHz", "500000"), + }}); + cfgs.push_back({"MIF", { + std::make_pair("3744MHz", "3744000"), std::make_pair("3172MHz", "3172000"), std::make_pair("2730MHz", "2730000"), std::make_pair("2288MHz", "2288000"), @@ -522,22 +581,6 @@ void addPowerDomains(std::shared_ptr p) { } void addDevfreq(std::shared_ptr p) { - p->addStateResidencyDataProvider(std::make_unique( - "CL0", - "/sys/devices/system/cpu/cpufreq/policy0/stats")); - - p->addStateResidencyDataProvider(std::make_unique( - "CL1", - "/sys/devices/system/cpu/cpufreq/policy4/stats")); - - p->addStateResidencyDataProvider(std::make_unique( - "CL2", - "/sys/devices/system/cpu/cpufreq/policy8/stats")); - - p->addStateResidencyDataProvider(std::make_unique( - "MIF", - "/sys/devices/platform/17000010.devfreq_mif/devfreq/17000010.devfreq_mif")); - p->addStateResidencyDataProvider(std::make_unique( "INT", "/sys/devices/platform/17000020.devfreq_int/devfreq/17000020.devfreq_int")); @@ -622,9 +665,9 @@ void addZumaCommonDataProviders(std::shared_ptr p) { addTPU(p); addUfs(p); addPowerDomains(p); + addDvfsStats(p); addDevfreq(p); addGPU(p); - addDvfsStats(p); } void addNFC(std::shared_ptr p, const std::string& path) {