diff --git a/powerstats/Gs201CommonDataProviders.cpp b/powerstats/Gs201CommonDataProviders.cpp index d6f1af58..2b1f5618 100644 --- a/powerstats/Gs201CommonDataProviders.cpp +++ b/powerstats/Gs201CommonDataProviders.cpp @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include @@ -37,6 +38,7 @@ using aidl::android::hardware::power::stats::AdaptiveDvfsStateResidencyDataProvider; using aidl::android::hardware::power::stats::AocTimedStateResidencyDataProvider; using aidl::android::hardware::power::stats::DevfreqStateResidencyDataProvider; +using aidl::android::hardware::power::stats::DisplayMrrStateResidencyDataProvider; using aidl::android::hardware::power::stats::DvfsStateResidencyDataProvider; using aidl::android::hardware::power::stats::UfsStateResidencyDataProvider; using aidl::android::hardware::power::stats::EnergyConsumerType; @@ -608,6 +610,15 @@ void addCamera(std::shared_ptr p) { {"VSYS_PWR_CAM"})); } +void addDisplayMrrByEntity(std::shared_ptr p, std::string name, std::string path) { + p->addStateResidencyDataProvider(std::make_unique( + name, path)); +} + +void addDisplayMrr(std::shared_ptr p) { + addDisplayMrrByEntity(p, "Display", "/sys/class/drm/card0/device/primary-panel/"); +} + void addGs201CommonDataProviders(std::shared_ptr p) { setEnergyMeter(p); diff --git a/powerstats/include/Gs201CommonDataProviders.h b/powerstats/include/Gs201CommonDataProviders.h index 97a70668..6cc81361 100644 --- a/powerstats/include/Gs201CommonDataProviders.h +++ b/powerstats/include/Gs201CommonDataProviders.h @@ -24,6 +24,8 @@ void addAoC(std::shared_ptr p); void addCPUclusters(std::shared_ptr p); void addCamera(std::shared_ptr p); void addDevfreq(std::shared_ptr p); +void addDisplayMrr(std::shared_ptr p); +void addDisplayMrrByEntity(std::shared_ptr p, std::string name, std::string path); void addDvfsStats(std::shared_ptr p); void addGNSS(std::shared_ptr p); void addGs201CommonDataProviders(std::shared_ptr p);