Commit graph

22 commits

Author SHA1 Message Date
Adithya R
cc6d0d7bca
sm6375-common: power-libperfmgr: Allow certain hints to be processed always
These don't affect performance, so we don't need to disable them
for battery saver or sustained performance mode.

Change-Id: I483d7fa6d0067f21d46b6811ba324793415218c7
2024-07-18 20:16:00 +05:30
Adithya R
431daebc40
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>
2024-07-18 20:16:00 +05:30
Adithya R
52a7d65121
sm6375-common: power-libperfmgr: Disable boosting when battery saver is on
* end all running boosts when battery saver is turned on,
   and block all boosts until its turned off

Change-Id: I6793d694747c27591e69594d9d46da3490673d63
Signed-off-by: Adithya R <gh0strider.2k18.reborn@gmail.com>
2024-07-18 20:16:00 +05:30
jimmyshiu
fbcc05b19b
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
2024-07-18 20:16:00 +05:30
jimmyshiu
0118a38571
sm6375-common: power-libperfmgr: ADPF: dump ADPF session info
Dump current ADPF profile and ADPF session list into bugreport.

Bug: 204444691
Test: adb root && adb shell dumpsys android.hardware.power.IPower/default
Test: gpaste/6469309887938560
Change-Id: I17c0d615051f5e51c2e1fe99d17c402f9a65679a
2024-07-18 20:16:00 +05:30
jimmyshiu
f032fe2747
sm6375-common: power-libperfmgr: ADPF: uclamp.min integration
Integrate the uclamp.min across sessions.
Add UClampMininit as the display update boost

Bug: 232313238
Test: Manual test
Change-Id: I601f407b0b5383a1e39eac448d45cbaaeb7788fb
2024-07-18 20:16:00 +05:30
Jimmy Shiu
362ddc9bd3
sm6375-common: power-libperfmgr: ADPF: Use Adpf Profile for PID tunnables
1. Use Adpf Profile to replace system-property-based PID tunnables.
2. Add a tunable for switch PID on/off
3. Switch Adpf Profile by hint name (ex: REFRESH_120FPS)

Bug: 202158746
Bug: 204444691
Bug: 206061061
Test: Build
Change-Id: Ia673a6bf64d40128ca1797d1e26fe564b3b35ff1
2024-07-18 20:16:00 +05:30
Jimmy Shiu
53f1fc4eee
sm6375-common: power-libperfmgr: Make HintManager a singleton class
HintManager is unique and widely used in many different components.
This is for making it easiler to be reloaded for debugging.

Bug: 172285365
Test: adb push \
      out/target/product/raven/data/nativetest64/libperfmgr_test/libperfmgr_test \
      /data/nativetest64/libperfmgr_test/libperfmgr_test && \
      adb shell /data/nativetest64/libperfmgr_test/libperfmgr_test
Change-Id: I3affdfe780073ebbc50fac7bfbdd1530ee9dc8c2
2024-07-18 20:16:00 +05:30
Wei Wang
98722b9831
sm6375-common: power-libperfmgr: move trace point to libperfmgr.
Test: systrace
Bug: 199776250
Change-Id: I9bb4d5a50faa93e7bc638ef723bdc2662fb63b24
2024-07-18 20:16:00 +05:30
Wei Wang
e5e88cf477
sm6375-common: power-libperfmgr: improve adpf logic
Cache active state and reduce log spam
Add value tracing into libperfmgr
Use adaptive stale timeout based on rate limit

Bug: 191331719
Bug: 191296994
Bug: 177493042
Test: boot
Signed-off-by: Wei Wang <wvw@google.com>
Change-Id: I1c1484c9277209bf68bd287ceae83e2b37684c62
2024-07-18 20:16:00 +05:30
Wei Wang
7bfee27a4b
sm6375-common: power-libperfmgr: Fix objects that are derived from refbase
Fixes: ag/14313466
Bug: 177493042
Bug: 191163855
Test: Build
Change-Id: I94812997a8214b77a2e1d0bcf90ef62205c5adf6
Signed-off-by: Wei Wang <wvw@google.com>
2024-07-18 20:16:00 +05:30
Jimmy Shiu
d01fb0826f
sm6375-common: power-libperfmgr: ADPF: use PID algorithm to control cpu resource
The patch includes:
1. Move from folder adpf to aidl.
2. Add PowerSessionManager class to maintain hint status.
   And PowerHintMointor looper thread for monitoring or updating
   PowerHintSession status.
3. Use PID algorithm to replace the step-wise alogrithm for cpu resource
   control.

Test: build, boot to home, trace analysis
Bug: 177493042
Change-Id: Ib7d3f414225b18954350341ca22b7be87a6202e7
2024-07-18 20:16:00 +05:30
Wei Wang
de42f91c95
sm6375-common: power-libperfmgr: reduce log spam and refine trace title
Add bunch of TODO for team as well.

Test: build
Bug: 177492680
Bug: 185368789
Signed-off-by: Wei Wang <wvw@google.com>
Change-Id: Ic1d5ecea10a60b23343866cd62519fda37bd6ec5
2024-07-18 20:16:00 +05:30
Jimmy Shiu
8ac355cf49
sm6375-common: power-libperfmgr: add PowerHintSession for ADPF implementation
Adapted from PoC from ag/13100800

Added more ATRACE for further tuning and debug

Test: APPPID=$(adb shell pidof com.prefabulated.touchlatency); watch -n
      1 adb shell grep uclamp /proc/${APPPID}/sched
Test: atest VtsHalPowerTargetTest
Bug: 177492680
Change-Id: I6bfd61b21dc1cde04f6ba9ae8d3533cd263ad814
Signed-off-by: Wei Wang <wvw@google.com>
2024-07-18 20:16:00 +05:30
Stefanie Kondik
3223436585
sm6375-common: power-libperfmgr: Add support for tap-to-wake feature control
Change-Id: Ib6e1e010834b1b16668d52db79b26804fe0e1671
2024-07-18 20:16:00 +05:30
Jesse Chan
250e9ff625
sm6375-common: power-libperfmgr: remove Google-specific VR and camera hints
Change-Id: Iac0e65a16f660583d3400a35622113d35d8d1d27
2024-07-18 20:16:00 +05:30
Wei Wang
adf7076162
sm6375-common: power-libperfmgr: rename namespace for Pixel power HAL
Bug: 152811907
Test: Build
Change-Id: I6848e929d8a26b540fcee9145376b896c3cd9799
2024-07-18 20:16:00 +05:30
Wei Wang
3a0fabd235
sm6375-common: power-libperfmgr: allow powerhint calls as soon as service starts
Bug: 147840817
Test: boot
Change-Id: Ic1d6e04109683b999bb99484930e95dc9813fc59
2024-07-18 20:16:00 +05:30
Wei Wang
a1435fd888
sm6375-common: power-libperfmgr: add aidl extension server
Bug: 151896829
Test: boot flame
Change-Id: Ie951008cabe2a5680fbc546a21bdc9a428864ef9
2024-07-18 20:16:00 +05:30
Wei Wang
07e98fde3f
sm6375-common: power-libperfmgr: Hook with display handler
Bug: 147840817
Test: boot and check power hint
Change-Id: I9c0c98e76ef4b5f4756f63ed5122efc366737869
2024-07-18 20:16:00 +05:30
Anand S
544a50cef7
sm6375-common: power-libperfmgr: Adapt and rebrand to moto_sm6375
Change-Id: I6732e0076564ada7078c9334b62fb865d473accd
2024-07-18 20:16:00 +05:30
Anand S
c40ef4df34
sm6375-common: Import Pixel libperfmgr AIDL Power HAL
Change-Id: Ibec82206ac2b070bdcb88213d98f6cc35109ea4f
2024-07-18 20:16:00 +05:30