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 <darrenhsu@google.com>
This commit is contained in:
Darren Hsu 2022-10-17 11:33:30 +08:00
parent 7452bfd1b2
commit f5147354b7
2 changed files with 30 additions and 39 deletions

View file

@ -295,15 +295,6 @@ void addCPUclusters(std::shared_ptr<PowerStats> p) {
p->addStateResidencyDataProvider(std::make_unique<GenericStateResidencyDataProvider>(
"/sys/devices/platform/acpm_stats/core_stats", cfgs));
p->addStateResidencyDataProvider(std::make_unique<DevfreqStateResidencyDataProvider>(
"CL0", "/sys/devices/system/cpu/cpufreq/policy0/stats"));
p->addStateResidencyDataProvider(std::make_unique<DevfreqStateResidencyDataProvider>(
"CL1", "/sys/devices/system/cpu/cpufreq/policy4/stats"));
p->addStateResidencyDataProvider(std::make_unique<DevfreqStateResidencyDataProvider>(
"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<PowerStats> p) {
}
void addDevfreq(std::shared_ptr<PowerStats> p) {
p->addStateResidencyDataProvider(std::make_unique<DevfreqStateResidencyDataProvider>(
"CL0",
"/sys/devices/system/cpu/cpufreq/policy0/stats"));
p->addStateResidencyDataProvider(std::make_unique<DevfreqStateResidencyDataProvider>(
"CL1",
"/sys/devices/system/cpu/cpufreq/policy4/stats"));
p->addStateResidencyDataProvider(std::make_unique<DevfreqStateResidencyDataProvider>(
"CL2",
"/sys/devices/system/cpu/cpufreq/policy6/stats"));
p->addStateResidencyDataProvider(std::make_unique<DevfreqStateResidencyDataProvider>(
"MIF",
"/sys/devices/platform/17000010.devfreq_mif/devfreq/17000010.devfreq_mif"));
@ -598,9 +601,10 @@ void addPixelStateResidencyDataProvider(std::shared_ptr<PowerStats> p) {
p->addStateResidencyDataProvider(std::move(pixelSdp));
}
void addCommonDataProviders(std::shared_ptr<PowerStats> p) {
void addGs201CommonDataProviders(std::shared_ptr<PowerStats> p) {
setEnergyMeter(p);
addPixelStateResidencyDataProvider(p);
addAoC(p);
addDvfsStats(p);
addSoC(p);
@ -609,39 +613,13 @@ void addCommonDataProviders(std::shared_ptr<PowerStats> p) {
addMobileRadio(p);
addGNSS(p);
addPCIe(p);
addWifi(p);
addUfs(p);
addPowerDomains(p);
addDevfreq(p);
addTPU(p);
}
void addGs201CommonDataProviders(std::shared_ptr<PowerStats> p) {
addCommonDataProviders(p);
addPixelStateResidencyDataProvider(p);
addWifi(p);
}
void addGs201CommonDataProvidersQc(std::shared_ptr<PowerStats> p) {
addCommonDataProviders(p);
addWlan(p);
}
void addGs201CommonDataProvidersBig(std::shared_ptr<PowerStats> 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<PowerStats> p, const std::string& path) {
const GenericStateResidencyDataProvider::StateResidencyConfig nfcStateConfig = {
.entryCountSupported = true,

View file

@ -20,7 +20,20 @@
using aidl::android::hardware::power::stats::PowerStats;
void addAoC(std::shared_ptr<PowerStats> p);
void addCPUclusters(std::shared_ptr<PowerStats> p);
void addDevfreq(std::shared_ptr<PowerStats> p);
void addDvfsStats(std::shared_ptr<PowerStats> p);
void addGNSS(std::shared_ptr<PowerStats> p);
void addGs201CommonDataProviders(std::shared_ptr<PowerStats> p);
void addGs201CommonDataProvidersBig(std::shared_ptr<PowerStats> p);
void addGs201CommonDataProvidersQc(std::shared_ptr<PowerStats> p);
void addMobileRadio(std::shared_ptr<PowerStats> p);
void addNFC(std::shared_ptr<PowerStats> p, const std::string& path);
void addPCIe(std::shared_ptr<PowerStats> p);
void addPixelStateResidencyDataProvider(std::shared_ptr<PowerStats> p);
void addPowerDomains(std::shared_ptr<PowerStats> p);
void addSoC(std::shared_ptr<PowerStats> p);
void addTPU(std::shared_ptr<PowerStats> p);
void addUfs(std::shared_ptr<PowerStats> p);
void addWifi(std::shared_ptr<PowerStats> p);
void addWlan(std::shared_ptr<PowerStats> p);
void setEnergyMeter(std::shared_ptr<PowerStats> p);