diff --git a/device-lynx.mk b/device-lynx.mk index 222cf6c..357d3b4 100644 --- a/device-lynx.mk +++ b/device-lynx.mk @@ -15,13 +15,6 @@ DEVICE_PACKAGE_OVERLAYS += device/google/lynx/overlay-lineage include device/google/gs201/device-shipping-common.mk -# Touch -PRODUCT_PACKAGES += \ - dump_touch.sh \ - predump_gti0.sh \ - predump_touch.sh \ - touch_gti_ical - # Recovery files PRODUCT_COPY_FILES += \ device/google/lynx/recovery/init.recovery.device.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.lynx.rc @@ -64,11 +57,6 @@ PRODUCT_COPY_FILES += \ DEVICE_MANIFEST_FILE += \ device/google/lynx/nfc/manifest_se.xml -# PowerStats HAL -PRODUCT_SOONG_NAMESPACES += \ - device/google/lynx/powerstats \ - device/google/lynx - # Bluetooth HAL and Pixel extension include device/google/lynx/bluetooth/qti_default.mk @@ -203,10 +191,6 @@ PRODUCT_PACKAGES += \ libGLESv1_CM_angle \ libGLESv2_angle -# Dumpstate -PRODUCT_PACKAGES += \ - dump_gsc.sh - # EUICC PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.telephony.euicc.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/android.hardware.telephony.euicc.xml diff --git a/lynx/extract-files.py b/lynx/extract-files.py index 44fdc39..57d1f06 100755 --- a/lynx/extract-files.py +++ b/lynx/extract-files.py @@ -93,6 +93,13 @@ def fix_vendor_file_list(file_list: FileList): for file_path in module_suffix_file_paths: file_list.get_file(file_path).set_arg(FileArgs.MODULE_SUFFIX, '_vendor') + powerstats_service_file_path = ( + 'vendor/bin/hw/android.hardware.power.stats-service.pixel' + ) + file_list.get_file(powerstats_service_file_path).set_arg( + FileArgs.REQUIRED, 'pixel_powerstats_xml' + ) + module.add_generated_proprietary_file( 'proprietary-files-vendor.txt', diff --git a/lynx/proprietary-files-vendor.txt b/lynx/proprietary-files-vendor.txt index 7f7b1e9..73c33e6 100644 --- a/lynx/proprietary-files-vendor.txt +++ b/lynx/proprietary-files-vendor.txt @@ -10,11 +10,29 @@ vendor/bin/bipchmgr vendor/bin/cbd vendor/bin/cnss-daemon vendor/bin/dmd +vendor/bin/dump/dump_aoc +vendor/bin/dump/dump_devfreq +vendor/bin/dump/dump_exynos_display +vendor/bin/dump/dump_fingerprint +vendor/bin/dump/dump_gsc.sh +vendor/bin/dump/dump_modemlog +vendor/bin/dump/dump_perf +vendor/bin/dump/dump_pixel_metrics +vendor/bin/dump/dump_power +vendor/bin/dump/dump_sensors +vendor/bin/dump/dump_soc +vendor/bin/dump/dump_storage +vendor/bin/dump/dump_thermal.sh +vendor/bin/dump/dump_touch.sh +vendor/bin/dump/dump_trusty.sh +vendor/bin/dump/dump_umfw_stat +vendor/bin/dump_touch/predump_gti0.sh vendor/bin/hw/android.hardware.authsecret-service.citadel vendor/bin/hw/android.hardware.biometrics.fingerprint-service.goodix vendor/bin/hw/android.hardware.bluetooth@1.0-service-qti vendor/bin/hw/android.hardware.composer.hwc3-service.pixel vendor/bin/hw/android.hardware.contexthub-service.generic +vendor/bin/hw/android.hardware.dumpstate-service vendor/bin/hw/android.hardware.edgetpu.logging@service-edgetpu-logging vendor/bin/hw/android.hardware.gnss@2.1-service-brcm vendor/bin/hw/android.hardware.graphics.allocator-V2-service @@ -23,6 +41,7 @@ vendor/bin/hw/android.hardware.input.processor-service vendor/bin/hw/android.hardware.memtrack-service.pixel vendor/bin/hw/android.hardware.neuralnetworks@service-darwinn-aidl vendor/bin/hw/android.hardware.oemlock-service.citadel +vendor/bin/hw/android.hardware.power.stats-service.pixel;REQUIRED=pixel_powerstats_xml vendor/bin/hw/android.hardware.secure_element@1.2-uicc-service vendor/bin/hw/android.hardware.security.keymint-service.citadel vendor/bin/hw/android.hardware.vibrator-service.cs40l26 @@ -48,14 +67,17 @@ vendor/bin/hw/vendor.google.wireless_charger.service-default vendor/bin/init.camera.set-interrupts-ownership vendor/bin/init.display.sh vendor/bin/init.radio.sh +vendor/bin/insmod.sh vendor/bin/loc_launcher vendor/bin/lowi-server vendor/bin/modem_logging_control vendor/bin/pixelstats-vendor +vendor/bin/predump_touch.sh vendor/bin/rfsd vendor/bin/shamp vendor/bin/shared_modem_platform vendor/bin/sscoredump +vendor/bin/touch_gti_ical vendor/bin/trusty_metricsd vendor/bin/twoshay vendor/bin/ufs_firmware_update.sh @@ -206,17 +228,20 @@ vendor/etc/gnss/gps.cer vendor/etc/gnss/gps.xml vendor/etc/gnss/lhd.conf vendor/etc/gnss/scd.conf +vendor/etc/init.common.cfg vendor/etc/init/Exynos_C2.rc vendor/etc/init/android.hardware.authsecret-service.citadel.rc vendor/etc/init/android.hardware.bluetooth@1.0-service-qti.rc vendor/etc/init/android.hardware.camera.provider@2.7-service-google-apex.rc vendor/etc/init/android.hardware.contexthub-service.generic.rc +vendor/etc/init/android.hardware.dumpstate-service.rc vendor/etc/init/android.hardware.edgetpu.logging@service-edgetpu-logging.rc vendor/etc/init/android.hardware.graphics.allocator2-aidl-service.rc vendor/etc/init/android.hardware.gxp.logging@service-gxp-logging.rc vendor/etc/init/android.hardware.input.processor-service.rc vendor/etc/init/android.hardware.neuralnetworks@service-darwinn-aidl.rc vendor/etc/init/android.hardware.oemlock-service.citadel.rc +vendor/etc/init/android.hardware.power.stats-service.pixel.rc vendor/etc/init/android.hardware.rlsservice-service-google-apex.rc vendor/etc/init/android.hardware.secure_element@1.2-uicc-service.rc vendor/etc/init/android.hardware.security.keymint-service.citadel.rc @@ -236,15 +261,26 @@ vendor/etc/init/hw/init.gs201.storage.rc vendor/etc/init/hw/init.gs201.usb.rc vendor/etc/init/hw/init.lynx.rc vendor/etc/init/hwc3-pixel.rc +vendor/etc/init/init.aoc.rc vendor/etc/init/init.camera.set-interrupts-ownership.rc +vendor/etc/init/init.fingerprint.dump.rc vendor/etc/init/init.gps.rc vendor/etc/init/init.modem.rc vendor/etc/init/init.modem_logging_control.rc +vendor/etc/init/init.module.rc +vendor/etc/init/init.pixel-mm-gs.rc +vendor/etc/init/init.pixel-perf.rc vendor/etc/init/init.shared_modem_platform_l.rc vendor/etc/init/init.sscoredump.rc +vendor/etc/init/init.storage.rc +vendor/etc/init/init.touch.gti0.rc +vendor/etc/init/init.touch.predump.rc vendor/etc/init/init.usf.rc vendor/etc/init/init.vendor_telephony.rc vendor/etc/init/init_dauntless.rc +vendor/etc/init/libg3a_gabc.rc +vendor/etc/init/libg3a_gaf.rc +vendor/etc/init/libg3a_ghawb.rc vendor/etc/init/memtrack.rc vendor/etc/init/pixelstats-vendor.gs201.rc vendor/etc/init/pktrouter.rc @@ -263,6 +299,9 @@ vendor/etc/init/vendor.google.wireless_charger-default.rc vendor/etc/init/vendor.google.wireless_charger.service-default.rc vendor/etc/input_classifier_model.pb vendor/etc/izat.conf +vendor/etc/libg3a_standalone_gabc_rc +vendor/etc/libg3a_standalone_gaf_rc +vendor/etc/libg3a_standalone_ghawb_rc vendor/etc/libnfc-hal-st.conf vendor/etc/libse-gto-hal.conf vendor/etc/libse-gto-hal2.conf @@ -289,6 +328,7 @@ vendor/etc/permissions/android.hardware.telephony.gsm.xml vendor/etc/permissions/android.hardware.telephony.ims.singlereg.xml vendor/etc/permissions/android.hardware.telephony.ims.xml vendor/etc/permissions/com.google.android.camera.experimental2022.xml +vendor/etc/permissions/vendor.android.hardware.camera.preview-dis.xml vendor/etc/pixelstats_config.json vendor/etc/powerhint.json vendor/etc/public.libraries.txt @@ -314,6 +354,7 @@ vendor/etc/ueventd.rc vendor/etc/vintf/manifest/android.hardware.authsecret-service.citadel.xml vendor/etc/vintf/manifest/android.hardware.camera.provider@2.7-service-google-apex.xml vendor/etc/vintf/manifest/android.hardware.contexthub-service.generic.xml +vendor/etc/vintf/manifest/android.hardware.dumpstate-service.xml vendor/etc/vintf/manifest/android.hardware.gnss@2.1-service-brcm.xml vendor/etc/vintf/manifest/android.hardware.neuralnetworks@service-darwinn-aidl.xml vendor/etc/vintf/manifest/android.hardware.oemlock-service.citadel.xml @@ -1851,6 +1892,11 @@ vendor/lib/libstreset21.so vendor/lib/libsueznanoappclients.so vendor/lib/libusf.so vendor/lib/libvendorgraphicbuffer.so +vendor/lib/modem_android_property_manager.so +vendor/lib/modem_android_property_manager_impl.so +vendor/lib/modem_clock_manager.so +vendor/lib/modem_clock_manager_impl.so +vendor/lib/modem_log_constants.so vendor/lib/sensors.usf.so vendor/lib/soundfx/liboffloadeffect.so vendor/lib/vendor.google.battery_mitigation-V1-ndk.so @@ -1868,6 +1914,8 @@ vendor/lib/vendor.samsung_slsi.telephony.hardware.radioExternal@1.1.so vendor/lib64/PixelVibratorFlagsL26.so vendor/lib64/android.hardware.authsecret-impl.nos.so vendor/lib64/android.hardware.oemlock-impl.nos.so +vendor/lib64/android.hardware.power.stats-impl.gs-common.so +vendor/lib64/android.hardware.power.stats-impl.gs201.so vendor/lib64/android.hardware.security.keymint-impl.nos.so vendor/lib64/android.hardware.weaver-bridge.nos.so vendor/lib64/android.hardware.weaver-impl.nos.so @@ -1947,6 +1995,7 @@ vendor/lib64/libdarwinn_hal.so vendor/lib64/libdeeptouch.so vendor/lib64/libdisplaycolor.so vendor/lib64/libdrmresource.so +vendor/lib64/libdump.so vendor/lib64/libedgetpu_client.google.so vendor/lib64/libedgetpu_tachyon.google.so vendor/lib64/libedgetpu_tflite_compiler.so @@ -2012,6 +2061,12 @@ vendor/lib64/libutils-default.so vendor/lib64/libvendor.goodix.hardware.biometrics.fingerprint@2.1.so vendor/lib64/libvendorgraphicbuffer.so vendor/lib64/libwlcproto_aidl-default.so +vendor/lib64/modem_android_property_manager.so +vendor/lib64/modem_android_property_manager_impl.so +vendor/lib64/modem_clock_manager.so +vendor/lib64/modem_clock_manager_impl.so +vendor/lib64/modem_log_constants.so +vendor/lib64/modem_log_dumper.so vendor/lib64/sensors.usf.so vendor/lib64/soundfx/liboffloadeffect.so vendor/lib64/vendor.google.audiometricext@1.0.so diff --git a/lynx/proprietary-files.txt b/lynx/proprietary-files.txt index 6ef903d..6b89f69 100644 --- a/lynx/proprietary-files.txt +++ b/lynx/proprietary-files.txt @@ -177,3 +177,7 @@ system_ext/priv-app/OemRilService/OemRilService.apk;PRESIGNED # VZW system_ext/etc/permissions/vzw_mvs_permissions.xml system_ext/priv-app/MyVerizonServices/MyVerizonServices.apk;PRESIGNED + +# Watchdog +system_ext/bin/gs_watchdogd +system_ext/etc/init/init.gs_watchdogd.rc diff --git a/lynx/skip-files-vendor.txt b/lynx/skip-files-vendor.txt index 700a2a8..de17ad3 100644 --- a/lynx/skip-files-vendor.txt +++ b/lynx/skip-files-vendor.txt @@ -35,23 +35,7 @@ bin/dirname bin/dmesg bin/dos2unix bin/du -bin/dump/dump_aoc -bin/dump/dump_devfreq -bin/dump/dump_exynos_display -bin/dump/dump_fingerprint bin/dump/dump_modem -bin/dump/dump_modemlog -bin/dump/dump_perf -bin/dump/dump_pixel_metrics -bin/dump/dump_power -bin/dump/dump_sensors -bin/dump/dump_soc -bin/dump/dump_storage -bin/dump/dump_thermal.sh -bin/dump/dump_touch.sh -bin/dump/dump_trusty.sh -bin/dump/dump_umfw_stat -bin/dump_touch/predump_gti0.sh bin/dumpsys bin/echo bin/egrep @@ -89,13 +73,11 @@ bin/hw/android.hardware.audio.service bin/hw/android.hardware.boot-service.default-pixel bin/hw/android.hardware.cas@1.2-service bin/hw/android.hardware.drm-service.clearkey -bin/hw/android.hardware.dumpstate-service bin/hw/android.hardware.gatekeeper-service.trusty bin/hw/android.hardware.health-service.gs201 bin/hw/android.hardware.health.storage-service.default bin/hw/android.hardware.nfc-service.st bin/hw/android.hardware.power-service.pixel-libperfmgr -bin/hw/android.hardware.power.stats-service.pixel bin/hw/android.hardware.secure_element@1.2-service-gto bin/hw/android.hardware.secure_element@1.2-service-gto-ese2 bin/hw/android.hardware.security.keymint-service.trusty @@ -118,7 +100,6 @@ bin/id bin/ifconfig bin/inotifyd bin/insmod -bin/insmod.sh bin/install bin/ionice bin/iorenice @@ -167,7 +148,6 @@ bin/pgrep bin/pidof bin/pkill bin/pmap -bin/predump_touch.sh bin/printenv bin/printf bin/ps @@ -222,7 +202,6 @@ bin/timeout bin/toolbox bin/top bin/touch -bin/touch_gti_ical bin/toybox_vendor bin/tr bin/true @@ -293,16 +272,13 @@ etc/fstab.zram.60p etc/fstab.zram.6g etc/group etc/hearing_aid_audio_policy_configuration_7_0.xml -etc/init.common.cfg etc/init/android.hardware.audio.service.rc etc/init/android.hardware.boot-service.default-pixel.rc etc/init/android.hardware.cas@1.2-service.rc etc/init/android.hardware.drm-service.clearkey.rc -etc/init/android.hardware.dumpstate-service.rc etc/init/android.hardware.gatekeeper-service.trusty.rc etc/init/android.hardware.health-service.gs201.rc etc/init/android.hardware.power-service.pixel-libperfmgr.rc -etc/init/android.hardware.power.stats-service.pixel.rc etc/init/android.hardware.secure_element@1.2-service-gto-ese2.rc etc/init/android.hardware.secure_element@1.2-service-gto.rc etc/init/android.hardware.security.keymint-service.trusty.rc @@ -318,26 +294,12 @@ etc/init/boringssl_self_test.rc etc/init/gpu_probe.rc etc/init/health-storage-default.rc etc/init/hostapd.android.rc -etc/init/init.aoc.rc -etc/init/init.fingerprint.dump.rc -etc/init/init.module.rc -etc/init/init.pixel-mm-gs.rc -etc/init/init.pixel-perf.rc etc/init/init.pixel.rc -etc/init/init.storage.rc -etc/init/init.touch.gti0.rc -etc/init/init.touch.predump.rc -etc/init/libg3a_gabc.rc -etc/init/libg3a_gaf.rc -etc/init/libg3a_ghawb.rc etc/init/nfc-service-default.rc etc/init/pixel-mm-gki.rc etc/init/pixel-thermal-symlinks.rc etc/init/rebalance_interrupts-vendor.gs101.rc etc/init/vndservicemanager.rc -etc/libg3a_standalone_gabc_rc -etc/libg3a_standalone_gaf_rc -etc/libg3a_standalone_ghawb_rc etc/linker.config.pb etc/mkshrc etc/passwd @@ -395,7 +357,6 @@ etc/permissions/aosp_excluded_hardware.xml etc/permissions/com.nxp.mifare.xml etc/permissions/features_com.android.virt.xml etc/permissions/handheld_core_hardware.xml -etc/permissions/vendor.android.hardware.camera.preview-dis.xml etc/r_submix_audio_policy_configuration.xml etc/selinux/genfs_labels_version.txt etc/selinux/plat_pub_versioned.cil @@ -421,11 +382,9 @@ etc/vintf/compatibility_matrix.xml etc/vintf/manifest.xml etc/vintf/manifest/android.hardware.cas@1.2-service.xml etc/vintf/manifest/android.hardware.drm-service.clearkey.xml -etc/vintf/manifest/android.hardware.dumpstate-service.xml etc/vintf/manifest/android.hardware.gatekeeper-service.trusty.xml etc/vintf/manifest/android.hardware.health-service.gs201.xml etc/vintf/manifest/android.hardware.power-service.pixel.xml -etc/vintf/manifest/android.hardware.power.stats-service.pixel.xml etc/vintf/manifest/android.hardware.security.keymint-service.trusty.xml etc/vintf/manifest/android.hardware.security.secretkeeper.trusty.xml etc/vintf/manifest/android.hardware.sensors-multihal.xml @@ -898,7 +857,6 @@ lib64/android.hardware.common-V2-ndk.so lib64/android.hardware.common.fmq-V1-ndk.so lib64/android.hardware.drm-V1-ndk.so lib64/android.hardware.drm.common-V1-ndk.so -lib64/android.hardware.dumpstate-V1-ndk.so lib64/android.hardware.gatekeeper-V1-ndk.so lib64/android.hardware.health-V4-ndk.so lib64/android.hardware.health.storage-V1-ndk.so @@ -906,8 +864,6 @@ lib64/android.hardware.nfc-V1-ndk.so lib64/android.hardware.power-V1-ndk.so lib64/android.hardware.power-V6-ndk.so lib64/android.hardware.power.stats-V2-ndk.so -lib64/android.hardware.power.stats-impl.gs-common.so -lib64/android.hardware.power.stats-impl.gs201.so lib64/android.hardware.power.stats-impl.pixel.so lib64/android.hardware.radio@1.0.so lib64/android.hardware.radio@1.1.so @@ -983,8 +939,6 @@ lib64/libcrypto.so lib64/libcutils.so lib64/libdisppower-pixel.so lib64/libdmabufheap.so -lib64/libdump.so -lib64/libdumpstateutil.so lib64/libeffects.so lib64/libeffectsconfig.so lib64/libenv_filter.dylib.so @@ -1039,10 +993,6 @@ lib64/libxml2.so lib64/libz.so lib64/mediacas/libclearkeycasplugin.so lib64/mediadrm/libdrmclearkeyplugin.so -lib64/modem_android_property_manager.so -lib64/modem_android_property_manager_impl.so -lib64/modem_log_constants.so -lib64/modem_log_dumper.so lib64/nfc_nci.st21nfc.default.so lib64/pixel-power-ext-V1-ndk.so lib64/pixel_stateresidency_provider_aidl_interface-ndk.so @@ -1189,6 +1139,10 @@ lib64/android.hardware.contexthub-V4-ndk.so lib64/chre_atoms_log.so lib64/chremetrics-cpp.so +# Dumpstate +lib64/android.hardware.dumpstate-V1-ndk.so +lib64/libdumpstateutil.so + # Fingerprint etc/permissions/android.hardware.fingerprint.xml @@ -1226,20 +1180,16 @@ lib64/nos_app_keymaster.so lib64/nos_app_weaver.so lib64/pixelpowerstats_provider_aidl_interface-cpp.so +# Powerstats +etc/vintf/manifest/android.hardware.power.stats-service.pixel.xml + # Radio lib/libnetutils.so lib/libsqlite.so lib/libziparchive.so -lib/modem_android_property_manager.so -lib/modem_android_property_manager_impl.so -lib/modem_clock_manager.so -lib/modem_clock_manager_impl.so -lib/modem_log_constants.so lib64/libnetutils.so lib64/libsqlite.so lib64/libziparchive.so -lib64/modem_clock_manager.so -lib64/modem_clock_manager_impl.so # Sensors lib/android.frameworks.sensorservice-V1-ndk.so @@ -1372,7 +1322,6 @@ lib64/com.google.hardware.pixel.display-V15-ndk.so lib64/com.google.hardware.pixel.display-V16-ndk.so # Misc -bin/dump/dump_gsc.sh lib/libbinder.so lib/libdmabufheap.so lib/libevent.so diff --git a/powerstats/Android.bp b/powerstats/Android.bp deleted file mode 100644 index ac04aab..0000000 --- a/powerstats/Android.bp +++ /dev/null @@ -1,35 +0,0 @@ -// -// SPDX-FileCopyrightText: 2021 The Android Open Source Project -// SPDX-License-Identifier: Apache-2.0 -// - -soong_namespace { - imports: [ - "hardware/google/pixel", - "device/google/gs201/powerstats", - "device/google/gs-common/powerstats", - ] -} - -package { - // See: http://go/android-license-faq - // A large-scale-change added 'default_applicable_licenses' to import - // all of the 'license_kinds' from "device_google_lynx_license" - // to get the below license kinds: - // SPDX-license-identifier-Apache-2.0 - default_applicable_licenses: ["device_google_lynx_license"], -} - -cc_binary { - name: "android.hardware.power.stats-service.pixel", - defaults: ["powerstats_pixel_binary_defaults"], - - srcs: [ - "*.cpp", - ], - - shared_libs: [ - "android.hardware.power.stats-impl.gs201", - "android.hardware.power.stats-impl.gs-common", - ], -} diff --git a/powerstats/service.cpp b/powerstats/service.cpp deleted file mode 100644 index 312e4f4..0000000 --- a/powerstats/service.cpp +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Copyright (C) 2021 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#define LOG_TAG "android.hardware.power.stats-service.pixel" - -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -using aidl::android::hardware::power::stats::DevfreqStateResidencyDataProvider; -using aidl::android::hardware::power::stats::DisplayStateResidencyDataProvider; -using aidl::android::hardware::power::stats::EnergyConsumerType; -using aidl::android::hardware::power::stats::PowerStatsEnergyConsumer; - -void addDisplay(std::shared_ptr p) { - // Add display residency stats - struct stat buffer; - if (!stat("/sys/class/drm/card0/device/primary-panel/time_in_state", &buffer)) { - // time_in_state exists - addDisplayMrr(p); - } else { - // time_in_state doesn't exist - std::vector states = { - "Off", - "LP: 1080x2400@30", - "On: 1080x2400@60", - "On: 1080x2400@90", - "HBM: 1080x2400@60", - "HBM: 1080x2400@90"}; - - p->addStateResidencyDataProvider(std::make_unique("Display", - "/sys/class/backlight/panel0-backlight/state", - states)); - } - - // Add display energy consumer - p->addEnergyConsumer(PowerStatsEnergyConsumer::createMeterAndEntityConsumer(p, - EnergyConsumerType::DISPLAY, "display", {"VSYS_PWR_DISPLAY"}, "Display", - {{"LP: 1080x2400@30", 1}, - {"On: 1080x2400@60", 2}, - {"On: 1080x2400@90", 3}})); -} - -void addGPUGs202(std::shared_ptr p) { - std::map stateCoeffs; - - // Add GPU state residency - p->addStateResidencyDataProvider(std::make_unique( - "GPU", - "/sys/devices/platform/28000000.mali")); - - // Add GPU energy consumer - stateCoeffs = { - {"202000", 890}, - {"251000", 1102}, - {"302000", 1308}, - {"351000", 1522}, - {"400000", 1772}, - {"434000", 1931}, - {"471000", 2105}, - {"510000", 2292}, - {"572000", 2528}, - {"633000", 2811}, - {"701000", 3127}, - {"762000", 3452}, - {"848000", 4044}}; - - p->addEnergyConsumer(PowerStatsEnergyConsumer::createMeterAndAttrConsumer( - p, - EnergyConsumerType::OTHER, - "GPU", - {"S2S_VDD_G3D", "S8S_VDD_G3D_L2"}, - {{UID_TIME_IN_STATE, "/sys/devices/platform/28000000.mali/uid_time_in_state"}}, - stateCoeffs)); -} - -int main() { - struct stat buffer; - - LOG(INFO) << "Pixel PowerStats HAL AIDL Service is starting."; - - // single thread - ABinderProcess_setThreadPoolMaxThreadCount(0); - - std::shared_ptr p = ndk::SharedRefBase::make(); - - setEnergyMeter(p); - addAoC(p); - addCPUclusters(p); - addDisplay(p); - addSoC(p); - addGNSS(p); - addMobileRadio(p); - addPCIe(p); - addWlan(p); - addTPU(p); - addUfs(p); - if (!stat("/sys/devices/platform/10970000.hsi2c/i2c-8/8-0008/power_stats", &buffer)) { - addNFC(p, "/sys/devices/platform/10970000.hsi2c/i2c-8/8-0008/power_stats"); - } - addPowerDomains(p); - addDevfreq(p); - addGPUGs202(p); - addDvfsStats(p); - - const std::string instance = std::string() + PowerStats::descriptor + "/default"; - binder_status_t status = AServiceManager_addService(p->asBinder().get(), instance.c_str()); - LOG_ALWAYS_FATAL_IF(status != STATUS_OK); - - ABinderProcess_joinThreadPool(); - return EXIT_FAILURE; // should not reach -}