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>( p->addStateResidencyDataProvider(std::make_unique<GenericStateResidencyDataProvider>(
"/sys/devices/platform/acpm_stats/core_stats", cfgs)); "/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, p->addEnergyConsumer(PowerStatsEnergyConsumer::createMeterConsumer(p,
EnergyConsumerType::CPU_CLUSTER, "CPUCL0", {"S4M_VDD_CPUCL0"})); EnergyConsumerType::CPU_CLUSTER, "CPUCL0", {"S4M_VDD_CPUCL0"}));
p->addEnergyConsumer(PowerStatsEnergyConsumer::createMeterConsumer(p, p->addEnergyConsumer(PowerStatsEnergyConsumer::createMeterConsumer(p,
@ -532,6 +523,18 @@ void addPowerDomains(std::shared_ptr<PowerStats> p) {
} }
void addDevfreq(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>( p->addStateResidencyDataProvider(std::make_unique<DevfreqStateResidencyDataProvider>(
"MIF", "MIF",
"/sys/devices/platform/17000010.devfreq_mif/devfreq/17000010.devfreq_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)); p->addStateResidencyDataProvider(std::move(pixelSdp));
} }
void addCommonDataProviders(std::shared_ptr<PowerStats> p) { void addGs201CommonDataProviders(std::shared_ptr<PowerStats> p) {
setEnergyMeter(p); setEnergyMeter(p);
addPixelStateResidencyDataProvider(p);
addAoC(p); addAoC(p);
addDvfsStats(p); addDvfsStats(p);
addSoC(p); addSoC(p);
@ -609,39 +613,13 @@ void addCommonDataProviders(std::shared_ptr<PowerStats> p) {
addMobileRadio(p); addMobileRadio(p);
addGNSS(p); addGNSS(p);
addPCIe(p); addPCIe(p);
addWifi(p);
addUfs(p); addUfs(p);
addPowerDomains(p); addPowerDomains(p);
addDevfreq(p); addDevfreq(p);
addTPU(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) { void addNFC(std::shared_ptr<PowerStats> p, const std::string& path) {
const GenericStateResidencyDataProvider::StateResidencyConfig nfcStateConfig = { const GenericStateResidencyDataProvider::StateResidencyConfig nfcStateConfig = {
.entryCountSupported = true, .entryCountSupported = true,

View file

@ -20,7 +20,20 @@
using aidl::android::hardware::power::stats::PowerStats; 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 addGs201CommonDataProviders(std::shared_ptr<PowerStats> p);
void addGs201CommonDataProvidersBig(std::shared_ptr<PowerStats> p); void addMobileRadio(std::shared_ptr<PowerStats> p);
void addGs201CommonDataProvidersQc(std::shared_ptr<PowerStats> p);
void addNFC(std::shared_ptr<PowerStats> p, const std::string& path); 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);