lynx: Relocate even more things to vendor

Change-Id: Ic7872d3a7cbac2f0c2e01162697567972027389a
This commit is contained in:
Michael Bestas
2025-11-28 20:28:54 +02:00
parent e7d7a34e02
commit 87100bc343
7 changed files with 73 additions and 243 deletions

View File

@@ -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

View File

@@ -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',

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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",
],
}

View File

@@ -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 <dataproviders/DisplayStateResidencyDataProvider.h>
#include <dataproviders/PowerStatsEnergyConsumer.h>
#include <DevfreqStateResidencyDataProvider.h>
#include <Gs201CommonDataProviders.h>
#include <PowerStatsAidl.h>
#include <android-base/logging.h>
#include <android-base/properties.h>
#include <android/binder_manager.h>
#include <android/binder_process.h>
#include <log/log.h>
#include <sys/stat.h>
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<PowerStats> 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<std::string> states = {
"Off",
"LP: 1080x2400@30",
"On: 1080x2400@60",
"On: 1080x2400@90",
"HBM: 1080x2400@60",
"HBM: 1080x2400@90"};
p->addStateResidencyDataProvider(std::make_unique<DisplayStateResidencyDataProvider>("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<PowerStats> p) {
std::map<std::string, int32_t> stateCoeffs;
// Add GPU state residency
p->addStateResidencyDataProvider(std::make_unique<DevfreqStateResidencyDataProvider>(
"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<PowerStats> p = ndk::SharedRefBase::make<PowerStats>();
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
}