forked from donjohanliebert/hardware_xiaomi
power: 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:
parent
3978399d16
commit
1fbcb7d62e
@ -7,18 +7,13 @@ service vendor.power-hal-aidl /vendor/bin/hw/android.hardware.power-service.xiao
|
||||
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}
|
||||
|
||||
|
@ -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) << "Xiaomi Power HAL AIDL Service is using debug config from: " << config_path;
|
||||
}
|
||||
config_path.append(
|
||||
android::base::GetProperty(kConfigProperty.data(), kConfigDefaultFileName.data()));
|
||||
|
||||
LOG(INFO) << "Xiaomi Power HAL AIDL Service with Extension is starting with config: "
|
||||
<< config_path;
|
||||
|
||||
@ -69,23 +74,14 @@ int main() {
|
||||
CHECK(status == STATUS_OK);
|
||||
LOG(INFO) << "Xiaomi Power HAL AIDL Service with Extension 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();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user