sm6375-common: power-libperfmgr: Properly handle sustained performance mode
* when tested with [1], even after exiting the app, spm was still active in powerhal thereby keeping max freqs limited and blocking boosts * enable/disable it properly and end all other hints before enabling, to fix this issue * while we're at it, don't handle max freq for anything other than spm in powerhint [1] https://android.googlesource.com/platform/cts/+/refs/heads/master/hostsidetests/sustainedperf Change-Id: I6e37dfa7ffab0137d70cb5ba5d1b156133416062 Signed-off-by: Adithya R <gh0strider.2k18.reborn@gmail.com>
This commit is contained in:
parent
52a7d65121
commit
431daebc40
1 changed files with 7 additions and 5 deletions
|
@ -97,9 +97,12 @@ ndk::ScopedAStatus Power::setMode(Mode type, bool enabled) {
|
|||
#endif
|
||||
case Mode::SUSTAINED_PERFORMANCE:
|
||||
if (enabled) {
|
||||
endAllHints();
|
||||
HintManager::GetInstance()->DoHint("SUSTAINED_PERFORMANCE");
|
||||
} else {
|
||||
HintManager::GetInstance()->EndHint("SUSTAINED_PERFORMANCE");
|
||||
}
|
||||
mSustainedPerfModeOn = true;
|
||||
mSustainedPerfModeOn = enabled;
|
||||
break;
|
||||
case Mode::LOW_POWER:
|
||||
if (enabled) {
|
||||
|
@ -111,9 +114,6 @@ ndk::ScopedAStatus Power::setMode(Mode type, bool enabled) {
|
|||
mBatterySaverOn = enabled;
|
||||
break;
|
||||
case Mode::LAUNCH:
|
||||
if (mSustainedPerfModeOn) {
|
||||
break;
|
||||
}
|
||||
[[fallthrough]];
|
||||
#ifndef TAP_TO_WAKE_NODE
|
||||
case Mode::DOUBLE_TAP_TO_WAKE:
|
||||
|
@ -132,7 +132,9 @@ ndk::ScopedAStatus Power::setMode(Mode type, bool enabled) {
|
|||
case Mode::AUDIO_STREAMING_LOW_LATENCY:
|
||||
[[fallthrough]];
|
||||
default:
|
||||
if (mBatterySaverOn) break;
|
||||
if (mBatterySaverOn || mSustainedPerfModeOn) {
|
||||
break;
|
||||
}
|
||||
if (enabled) {
|
||||
HintManager::GetInstance()->DoHint(toString(type));
|
||||
} else {
|
||||
|
|
Loading…
Reference in a new issue