From f1820dbcbd50dabf53b9075ffb4e8cf15f1e873f Mon Sep 17 00:00:00 2001 From: samou Date: Thu, 29 Jul 2021 07:38:05 +0000 Subject: [PATCH] powerstats: correct display odpm rail name Bug: 194651088 Test: dumpsys android.hardware.power.stats.IPowerStats/default Change-Id: I40b1ab79c64a26008746933fd293064ff69eeebd --- powerstats/oriole/service.cpp | 18 +++++++++++++++++- powerstats/raven/service.cpp | 18 +++++++++++++++++- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/powerstats/oriole/service.cpp b/powerstats/oriole/service.cpp index ee9d57e..8331997 100644 --- a/powerstats/oriole/service.cpp +++ b/powerstats/oriole/service.cpp @@ -31,6 +31,13 @@ using aidl::android::hardware::power::stats::DisplayStateResidencyDataProvider; using aidl::android::hardware::power::stats::EnergyConsumerType; using aidl::android::hardware::power::stats::PowerStatsEnergyConsumer; +const char kBootRevision[] = "ro.boot.revision"; +std::map displayChannelNames = { + {"PROTO1.0", "PPVAR_VSYS_PWR_DISP"}, + {"EVT1.0", "PPVAR_VSYS_PWR_DISP"}, + {"EVT1.1", "VSYS_PWR_DISPLAY"}, +}; + void addDisplay(std::shared_ptr p) { // Add display residency stats std::vector states = { @@ -45,13 +52,22 @@ void addDisplay(std::shared_ptr p) { "/sys/class/backlight/panel0-backlight/state", states)); + std::string rev = android::base::GetProperty(kBootRevision, ""); + + std::string channelName; + if (displayChannelNames.find(rev) == displayChannelNames.end()) { + channelName = displayChannelNames["EVT1.1"]; + } else { + channelName = displayChannelNames[rev]; + } + // Add display energy consumer /* * TODO(b/167216667): Add correct display power model here. Must read from display rail * and include proper coefficients for display states. */ p->addEnergyConsumer(PowerStatsEnergyConsumer::createMeterAndEntityConsumer(p, - EnergyConsumerType::DISPLAY, "display", {"PPVAR_VSYS_PWR_DISP"}, "Display", + EnergyConsumerType::DISPLAY, "display", {channelName}, "Display", {{"LP: 1080x2400@30", 1}, {"On: 1080x2400@60", 2}, {"On: 1080x2400@90", 3}, diff --git a/powerstats/raven/service.cpp b/powerstats/raven/service.cpp index 6ee27d8..579efa1 100644 --- a/powerstats/raven/service.cpp +++ b/powerstats/raven/service.cpp @@ -33,6 +33,13 @@ using aidl::android::hardware::power::stats::EnergyConsumerType; using aidl::android::hardware::power::stats::GenericStateResidencyDataProvider; using aidl::android::hardware::power::stats::PowerStatsEnergyConsumer; +const char kBootRevision[] = "ro.boot.revision"; +std::map displayChannelNames = { + {"PROTO1.0", "PPVAR_VSYS_PWR_DISP"}, + {"EVT1.0", "PPVAR_VSYS_PWR_DISP"}, + {"EVT1.1", "VSYS_PWR_DISPLAY"}, +}; + void addDisplay(std::shared_ptr p) { // Add display residency stats std::vector states = { @@ -51,13 +58,22 @@ void addDisplay(std::shared_ptr p) { "/sys/class/backlight/panel0-backlight/state", states)); + std::string rev = android::base::GetProperty(kBootRevision, ""); + + std::string channelName; + if (displayChannelNames.find(rev) == displayChannelNames.end()) { + channelName = displayChannelNames["EVT1.1"]; + } else { + channelName = displayChannelNames[rev]; + } + // Add display energy consumer /* * TODO(b/167216667): Add correct display power model here. Must read from display rail * and include proper coefficients for display states. */ p->addEnergyConsumer(PowerStatsEnergyConsumer::createMeterAndEntityConsumer(p, - EnergyConsumerType::DISPLAY, "display", {"PPVAR_VSYS_PWR_DISP"}, "Display", + EnergyConsumerType::DISPLAY, "display", {channelName}, "Display", {{"LP: 1440x3120@10", 1}, {"LP: 1440x3120@30", 2}, {"On: 1440x3120@10", 3},