sm6375-common: power-libperfmgr: ADPF: Fix updateHintBoost blocks the binder thread

post the task into a looper thread.

Bug: 232992641
Test: Manually playing UIBench -> Transitions -> ActivityTransition
Change-Id: Ibd241834f904b4c87a51363e766e110d2818d496
This commit is contained in:
jimmyshiu 2024-07-18 20:16:00 +05:30 committed by Anand S
commit fbcc05b19b
No known key found for this signature in database
GPG key ID: 3B2983FA448B3D61
6 changed files with 43 additions and 16 deletions

View file

@ -97,7 +97,7 @@ void PowerSessionManager::updateHintBoost(const std::string &boost, int32_t dura
ALOGV("PowerSessionManager::updateHintBoost: boost: %s, durationMs: %d", boost.c_str(),
durationMs);
if (boost.compare("DISPLAY_UPDATE_IMMINENT") == 0) {
wakeSessions();
PowerHintMonitor::getInstance()->getLooper()->sendMessage(mWakeupHandler, NULL);
}
}
@ -201,6 +201,10 @@ void PowerSessionManager::handleMessage(const Message &) {
}
}
void PowerSessionManager::WakeupHandler::handleMessage(const Message &) {
PowerSessionManager::getInstance()->wakeSessions();
}
void PowerSessionManager::dumpToFd(int fd) {
std::ostringstream dump_buf;
std::lock_guard<std::mutex> guard(mLock);