From 4bdcfc21e12b548f23c7fd8b715fb97952ace610 Mon Sep 17 00:00:00 2001 From: Wei Wang Date: Thu, 18 Jul 2024 20:16:00 +0530 Subject: [PATCH] sm6375-common: power-libperfmgr: Add global debug property for override config path properly An init trigger would restart powerhal as early as the property was loaded and it is hopefully early than any clients would try to connect. Also remove the obsolete restart hook with audio. Bug: 218872105 Test: boot Signed-off-by: Wei Wang Change-Id: Ib55897f65709a963016b729f213718aae5af8e8c --- ...re.power-service.moto_sm6375-libperfmgr.rc | 15 ++++++---- power-libperfmgr/service.cpp | 30 ++++++++----------- 2 files changed, 22 insertions(+), 23 deletions(-) diff --git a/power-libperfmgr/android.hardware.power-service.moto_sm6375-libperfmgr.rc b/power-libperfmgr/android.hardware.power-service.moto_sm6375-libperfmgr.rc index 5e7ef2a..22b3fae 100644 --- a/power-libperfmgr/android.hardware.power-service.moto_sm6375-libperfmgr.rc +++ b/power-libperfmgr/android.hardware.power-service.moto_sm6375-libperfmgr.rc @@ -7,18 +7,13 @@ service vendor.power-hal-aidl /vendor/bin/hw/android.hardware.power-service.moto on late-fs start vendor.power-hal-aidl -# restart powerHAL when framework died +# Restart powerHAL when framework died on property:init.svc.zygote=restarting && property:vendor.powerhal.state=* setprop vendor.powerhal.state "" setprop vendor.powerhal.audio "" setprop vendor.powerhal.rendering "" restart vendor.power-hal-aidl -# restart powerHAL when audioHAL died -on property:init.svc.vendor.audio-hal-2-0=restarting && property:vendor.powerhal.audio=AUDIO_STREAMING_LOW_LATENCY - setprop vendor.powerhal.audio "" - restart vendor.power-hal-aidl - # Clean up after b/163539793 resolved on property:vendor.powerhal.dalvik.vm.dex2oat-threads=* setprop dalvik.vm.dex2oat-threads ${vendor.powerhal.dalvik.vm.dex2oat-threads} @@ -27,3 +22,11 @@ on property:vendor.powerhal.dalvik.vm.dex2oat-threads=* on property:vendor.powerhal.dalvik.vm.dex2oat-cpu-set=* setprop dalvik.vm.dex2oat-cpu-set ${vendor.powerhal.dalvik.vm.dex2oat-cpu-set} setprop dalvik.vm.restore-dex2oat-cpu-set ${vendor.powerhal.dalvik.vm.dex2oat-cpu-set} + +# Restart powerHAL when debug property set +on property:ro.debuggable=1 && property:vendor.powerhal.config.debug=* + restart vendor.power-hal-aidl + +on property:persist.vendor.powerhal.config.debug=* + setprop vendor.powerhal.config.debug ${persist.vendor.powerhal.config.debug} + diff --git a/power-libperfmgr/service.cpp b/power-libperfmgr/service.cpp index 6068b16..b144b43 100644 --- a/power-libperfmgr/service.cpp +++ b/power-libperfmgr/service.cpp @@ -39,9 +39,14 @@ constexpr std::string_view kConfigProperty("vendor.powerhal.config"); constexpr std::string_view kConfigDefaultFileName("powerhint.json"); int main() { - const std::string config_path = - "/vendor/etc/" + - android::base::GetProperty(kConfigProperty.data(), kConfigDefaultFileName.data()); + std::string config_path = "/vendor/etc/"; + if (android::base::GetBoolProperty(kConfigDebugPathProperty.data(), false)) { + config_path = "/data/vendor/etc/"; + LOG(WARNING) << "Power HAL AIDL Service for moto_sm6375 is using debug config from: " << config_path; + } + config_path.append( + android::base::GetProperty(kConfigProperty.data(), kConfigDefaultFileName.data())); + LOG(INFO) << "Power HAL AIDL Service for moto_sm6375 with Extension is starting with config: " << config_path; @@ -69,23 +74,14 @@ int main() { CHECK(status == STATUS_OK); LOG(INFO) << "Power HAL AIDL Service for moto_sm6375 is started."; + if (::android::base::GetIntProperty("vendor.powerhal.adpf.rate", -1) != -1) { + PowerHintMonitor::getInstance()->start(); + PowerSessionManager::getInstance()->setHintManager(hm); + } + std::thread initThread([&]() { ::android::base::WaitForProperty(kPowerHalInitProp.data(), "1"); hm->Start(); - - // use debug config for ADPF tuning. - if (android::base::GetBoolProperty(kConfigDebugPathProperty.data(), false)) { - const std::string debug_config_path = - "/data/vendor/etc/" + android::base::GetProperty(kConfigProperty.data(), - kConfigDefaultFileName.data()); - hm = HintManager::GetFromJSON(debug_config_path, false); - LOG(WARNING) << "Xiaomi Power HAL AIDL Service with Extension is reloading with config: " - << debug_config_path; - } - if (::android::base::GetIntProperty("vendor.powerhal.adpf.rate", -1) != -1) { - PowerHintMonitor::getInstance()->start(); - PowerSessionManager::getInstance()->setHintManager(hm); - } }); initThread.detach();