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 <wvw@google.com>
Change-Id: Ib55897f65709a963016b729f213718aae5af8e8c
This commit is contained in:
Wei Wang 2024-07-18 12:56:42 +05:30 committed by Anand S
parent 8079fefcb6
commit 037b6bebbb
No known key found for this signature in database
GPG key ID: 3B2983FA448B3D61
2 changed files with 22 additions and 23 deletions

View file

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

View file

@ -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();