powerstats: include WLAN data provider in PowerStatsHAL
The specific device uses QC solution on wifi. Include WLAN state
residency data provider in PowerStatsHAL for the device.
Bug: 231397821
Test: dumpsys android.hardware.power.stats.IPowerStats/default
Change-Id: I268dd007c9998c9453107a7ff9507203aee0f87c
Signed-off-by: Darren Hsu <darrenhsu@google.com>
diff --git a/powerstats/Gs201CommonDataProviders.cpp b/powerstats/Gs201CommonDataProviders.cpp
index 35e405d..aca40b1 100644
--- a/powerstats/Gs201CommonDataProviders.cpp
+++ b/powerstats/Gs201CommonDataProviders.cpp
@@ -25,6 +25,7 @@
#include <dataproviders/PowerStatsEnergyConsumer.h>
#include <dataproviders/PowerStatsEnergyAttribution.h>
#include <dataproviders/PixelStateResidencyDataProvider.h>
+#include <dataproviders/WlanStateResidencyDataProvider.h>
#include <android-base/logging.h>
#include <android-base/properties.h>
@@ -41,6 +42,7 @@
using aidl::android::hardware::power::stats::IioEnergyMeterDataProvider;
using aidl::android::hardware::power::stats::PixelStateResidencyDataProvider;
using aidl::android::hardware::power::stats::PowerStatsEnergyConsumer;
+using aidl::android::hardware::power::stats::WlanStateResidencyDataProvider;
// TODO (b/181070764) (b/182941084):
// Remove this when Wifi/BT energy consumption models are available or revert before ship
@@ -528,6 +530,12 @@
cfgs));
}
+void addWlan(std::shared_ptr<PowerStats> p) {
+ p->addStateResidencyDataProvider(std::make_unique<WlanStateResidencyDataProvider>(
+ "WLAN",
+ "/sys/kernel/wifi/power_stats"));
+}
+
void addUfs(std::shared_ptr<PowerStats> p) {
p->addStateResidencyDataProvider(std::make_unique<UfsStateResidencyDataProvider>("/sys/bus/platform/devices/14700000.ufs/ufs_stats/"));
}
@@ -643,7 +651,6 @@
addMobileRadio(p);
addGNSS(p);
addPCIe(p);
- addWifi(p);
addUfs(p);
addPowerDomains(p);
addDevfreq(p);
@@ -657,10 +664,12 @@
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 addNFC(std::shared_ptr<PowerStats> p, const std::string& path) {