From dbd42fcb788fb940b8db9358df1aa48fe78a9e56 Mon Sep 17 00:00:00 2001 From: Darren Hsu Date: Fri, 26 Jan 2024 17:52:52 +0800 Subject: [PATCH 1/3] powerstats: use display MRR state residency data provider Bug: 322458289 Test: vts-tradefed run vts -m VtsHalPowerStatsTargetTest Change-Id: Icba2a7da9c9480ce609b3cd07bd79ff2533c9ba4 Signed-off-by: Darren Hsu --- powerstats/felix/service.cpp | 66 ++++++++++++++++++++++-------------- 1 file changed, 40 insertions(+), 26 deletions(-) diff --git a/powerstats/felix/service.cpp b/powerstats/felix/service.cpp index 2de3797..dd10ef1 100644 --- a/powerstats/felix/service.cpp +++ b/powerstats/felix/service.cpp @@ -38,36 +38,50 @@ using aidl::android::hardware::power::stats::PowerStatsEnergyConsumer; void addDisplay(std::shared_ptr p) { // Add display residency stats for inner display - std::vector inner_states = { - "Off", - "LP: 1840x2208@1", - "LP: 1840x2208@30", - "On: 1840x2208@1", - "On: 1840x2208@10", - "On: 1840x2208@60", - "On: 1840x2208@120", - "HBM: 1840x2208@60", - "HBM: 1840x2208@120"}; + struct stat primaryBuffer; + if (!stat("/sys/class/drm/card0/device/primary-panel/time_in_state", &primaryBuffer)) { + // time_in_state exists + addDisplayMrrByEntity(p, "Inner Display", "/sys/class/drm/card0/device/primary-panel/"); + } else { + // time_in_state doesn't exist + std::vector inner_states = { + "Off", + "LP: 1840x2208@1", + "LP: 1840x2208@30", + "On: 1840x2208@1", + "On: 1840x2208@10", + "On: 1840x2208@60", + "On: 1840x2208@120", + "HBM: 1840x2208@60", + "HBM: 1840x2208@120"}; - p->addStateResidencyDataProvider(std::make_unique( - "Inner Display", - "/sys/class/backlight/panel0-backlight/state", - inner_states)); + p->addStateResidencyDataProvider(std::make_unique( + "Inner Display", + "/sys/class/backlight/panel0-backlight/state", + inner_states)); + } // Add display residency stats for outer display - std::vector outer_states = { - "Off", - "LP: 1080x2092@30", - "On: 1080x2092@10", - "On: 1080x2092@60", - "On: 1080x2092@120", - "HBM: 1080x2092@60", - "HBM: 1080x2092@120"}; + struct stat secondaryBuffer; + if (!stat("/sys/class/drm/card0/device/secondary-panel/time_in_state", &secondaryBuffer)) { + // time_in_state exists + addDisplayMrrByEntity(p, "Outer Display", "/sys/class/drm/card0/device/secondary-panel/"); + } else { + // time_in_state doesn't exist + std::vector outer_states = { + "Off", + "LP: 1080x2092@30", + "On: 1080x2092@10", + "On: 1080x2092@60", + "On: 1080x2092@120", + "HBM: 1080x2092@60", + "HBM: 1080x2092@120"}; - p->addStateResidencyDataProvider(std::make_unique( - "Outer Display", - "/sys/class/backlight/panel1-backlight/state", - outer_states)); + p->addStateResidencyDataProvider(std::make_unique( + "Outer Display", + "/sys/class/backlight/panel1-backlight/state", + outer_states)); + } // Add display energy consumer p->addEnergyConsumer(PowerStatsEnergyConsumer::createMeterConsumer( From 65e09ef3772256a63102d930e732dde6f8ada72b Mon Sep 17 00:00:00 2001 From: Ankur Bakshi Date: Wed, 10 Jan 2024 05:58:37 +0000 Subject: [PATCH 2/3] Update felix SVN to 40 Bug: 313797924 Change-Id: Iadcea8bc65170edbc73b3f825f473d4b6bddb376 --- device-felix.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index a9e2f70..50b7beb 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -205,7 +205,7 @@ PRODUCT_SOONG_NAMESPACES += \ # Increment the SVN for any official public releases PRODUCT_VENDOR_PROPERTIES += \ - ro.vendor.build.svn=39 + ro.vendor.build.svn=40 # Vibrator HAL PRODUCT_VENDOR_PROPERTIES +=\ From 8ee4be5ce262b2ff2e3d4378ca2b7cf1a017740c Mon Sep 17 00:00:00 2001 From: Ankur Bakshi Date: Fri, 26 Jan 2024 22:40:53 +0000 Subject: [PATCH 3/3] Update felix SVN to 41 Bug: 313797924 Change-Id: Idc5c9995bde014e20ad6006d97c8b295d22be1b5 --- device-felix.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index 50b7beb..14c6c29 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -205,7 +205,7 @@ PRODUCT_SOONG_NAMESPACES += \ # Increment the SVN for any official public releases PRODUCT_VENDOR_PROPERTIES += \ - ro.vendor.build.svn=40 + ro.vendor.build.svn=41 # Vibrator HAL PRODUCT_VENDOR_PROPERTIES +=\