From f5147354b75185bda7c8cf935dcb3bf7cb729adf Mon Sep 17 00:00:00 2001 From: Darren Hsu Date: Mon, 17 Oct 2022 11:33:30 +0800 Subject: [PATCH] powerstats: expose data provider methods for specific configurations Please see the bug description for more details. Bug: 253951732 Test: dumpsys android.hardware.power.stats.IPowerStats/default Change-Id: If22930a45c2f0db6437ff57ecc6bc2985f0895e8 Signed-off-by: Darren Hsu --- powerstats/Gs201CommonDataProviders.cpp | 52 ++++++------------- powerstats/include/Gs201CommonDataProviders.h | 17 +++++- 2 files changed, 30 insertions(+), 39 deletions(-) diff --git a/powerstats/Gs201CommonDataProviders.cpp b/powerstats/Gs201CommonDataProviders.cpp index 0c5c62c4..a3249357 100644 --- a/powerstats/Gs201CommonDataProviders.cpp +++ b/powerstats/Gs201CommonDataProviders.cpp @@ -295,15 +295,6 @@ void addCPUclusters(std::shared_ptr p) { p->addStateResidencyDataProvider(std::make_unique( "/sys/devices/platform/acpm_stats/core_stats", cfgs)); - 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/policy6/stats")); - p->addEnergyConsumer(PowerStatsEnergyConsumer::createMeterConsumer(p, EnergyConsumerType::CPU_CLUSTER, "CPUCL0", {"S4M_VDD_CPUCL0"})); p->addEnergyConsumer(PowerStatsEnergyConsumer::createMeterConsumer(p, @@ -532,6 +523,18 @@ 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/policy6/stats")); + p->addStateResidencyDataProvider(std::make_unique( "MIF", "/sys/devices/platform/17000010.devfreq_mif/devfreq/17000010.devfreq_mif")); @@ -598,9 +601,10 @@ void addPixelStateResidencyDataProvider(std::shared_ptr p) { p->addStateResidencyDataProvider(std::move(pixelSdp)); } -void addCommonDataProviders(std::shared_ptr p) { +void addGs201CommonDataProviders(std::shared_ptr p) { setEnergyMeter(p); + addPixelStateResidencyDataProvider(p); addAoC(p); addDvfsStats(p); addSoC(p); @@ -609,39 +613,13 @@ void addCommonDataProviders(std::shared_ptr p) { addMobileRadio(p); addGNSS(p); addPCIe(p); + addWifi(p); addUfs(p); addPowerDomains(p); addDevfreq(p); addTPU(p); } -void addGs201CommonDataProviders(std::shared_ptr p) { - addCommonDataProviders(p); - addPixelStateResidencyDataProvider(p); - addWifi(p); -} - -void addGs201CommonDataProvidersQc(std::shared_ptr p) { - addCommonDataProviders(p); - addWlan(p); -} - -void addGs201CommonDataProvidersBig(std::shared_ptr p) { - setEnergyMeter(p); - - addAoC(p); - addDvfsStats(p); - addSoC(p); - addCPUclusters(p); - addGPU(p); - addUfs(p); - addPowerDomains(p); - addDevfreq(p); - addTPU(p); - addPixelStateResidencyDataProvider(p); - addWifi(p); -} - void addNFC(std::shared_ptr p, const std::string& path) { const GenericStateResidencyDataProvider::StateResidencyConfig nfcStateConfig = { .entryCountSupported = true, diff --git a/powerstats/include/Gs201CommonDataProviders.h b/powerstats/include/Gs201CommonDataProviders.h index 3f66637a..5ee8108f 100644 --- a/powerstats/include/Gs201CommonDataProviders.h +++ b/powerstats/include/Gs201CommonDataProviders.h @@ -20,7 +20,20 @@ using aidl::android::hardware::power::stats::PowerStats; +void addAoC(std::shared_ptr p); +void addCPUclusters(std::shared_ptr p); +void addDevfreq(std::shared_ptr p); +void addDvfsStats(std::shared_ptr p); +void addGNSS(std::shared_ptr p); void addGs201CommonDataProviders(std::shared_ptr p); -void addGs201CommonDataProvidersBig(std::shared_ptr p); -void addGs201CommonDataProvidersQc(std::shared_ptr p); +void addMobileRadio(std::shared_ptr p); void addNFC(std::shared_ptr p, const std::string& path); +void addPCIe(std::shared_ptr p); +void addPixelStateResidencyDataProvider(std::shared_ptr p); +void addPowerDomains(std::shared_ptr p); +void addSoC(std::shared_ptr p); +void addTPU(std::shared_ptr p); +void addUfs(std::shared_ptr p); +void addWifi(std::shared_ptr p); +void addWlan(std::shared_ptr p); +void setEnergyMeter(std::shared_ptr p);