Integrate the uclamp.min across sessions.
Add UClampMininit as the display update boost
Bug: 232313238
Test: Manual test
Change-Id: I601f407b0b5383a1e39eac448d45cbaaeb7788fb
This is causing session update skipped and stuck.
Bug: 232336917
Test: /data/nativetest64/libperfmgr_test/libperfmgr_test
Signed-off-by: Wei Wang <wvw@google.com>
Change-Id: I8928b6f6a60dcf8d21e60228a74d3aa0ab792eff
Currently PowerHAL does not distinguish between system processes and
apps when deciding whether to apply universal boost. This patch
distinguishes system sessions and app sessions and ignores system ones,
making the disabling of universal boost dependent on the presence of app
hint sessions.
Bug: b/230511824
Test: manual
Change-Id: I08dea29b3a45f2ba69ed99a9f188fa83ba143423
Considering the previous uclamp.min value is the base of PID output.
Instead of:
`next_min = std::min(sUclampMinHighLimit, output);`
We should use:
`next_min = std::min(sUclampMinHighLimit, current_min + output);`
When session status entered stale state, set the uclamp to 0, but keep
the current_min. That would be helpful for boosting the heavy workload
of the first few frames.
Bug: 204444691
Test: build && manual test
Change-Id: Idb19e2bfd8e9522fae5fd452b1fcc58786e96e65
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
There is no history kept in powerhint session, so let us just keep what
we have in the PID controller and let new samples settle.
Bug: 227003278
Test: Build
Change-Id: Ia8b9a0be288389ec36ac35c668aca013d470c257
1. Clean all messages before add new.
2. Insteading of using `this`, use the unique mStaleHandler sp so Looper
can hold the sp to keep the instance alive until the last message
done.
Test: Manual Test
Bug: 219965773
Change-Id: Ic039146f0b966c1f27d86b121d4b72b75ff360e5
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
1. set uclamp.min high to 384 (from 512)
2. set uclamp.min low to 2 (from 0)
3. set kPo to 2 (from 5)
4. set kPu to 1 (from 3)
5. instead of the previous boost value, use I Error-Integral as the base
of boost value.
6. add more traces (wakeup, overtime)
Bug: 198708191
Bug: 197586898
Bug: 197540375
Test: build and check trace
adb shell perfetto -o \
/data/misc/perfetto-traces/trace_file.perfetto-trace -t 20s sched \
freq idle am wm gfx view power hal
Change-Id: I35484322a84c2ab19f3024cf6634c1818ba570b0
* Implement minimalistic UDFPS sensors sub-HAL for Xiaomi devices
that implement Sensors HAL 1.
* It uses sysfs attribute /sys/touchpanel/fp_state exported by
touchscreen drivers but list of supported paths can be extended.
Change-Id: I5c7653bfbbed20b2f3e00fd8a32cb1277b753b4b
The ndk_platform backend will soon be deprecated because the ndk backend
can serve the same purpose. This is to eliminate the confusion about
having two variants (ndk and ndk_platform) for the same ndk backend.
Bug: 161456198
Test: m
Merged-In: I14a1c57bd06f1f2aa52491f779c7030d4de03547
Change-Id: I7b9055909b901843631314b9577a9e578a739d00
These methods can be used to handle vendor acquired messages and disable
fod listening on cancelled and successful unlocks.
Change-Id: Ie6a8d24840b0b6c34527f863a6052f789200a79f
`mg_facepp[3]` and `mg_facepp[4]` seem to return version strings, which
occasionally get logged if the return value is non-zero.
Return a dummy string for those functions to avoid crashing in strlen.
Change-Id: Icc5d2ab2f72c480f03e652e3849aceaf4cfb498b
* We can't provide the original libs anymore, thus making the duplicated targets not an issue anymore
This reverts commit c6a4249c37.
Change-Id: Id987607b73ca0d8e9fd944518442f8cdffd0ce2a
This is more like a hack, also observed in the stock HAL, for pre-P shipped devices
because those have fpdata store path set to /data/system/users/ by the FingerprintService.
Force treble compliant path and thus avoid using data_between_core_and_vendor_violators
attribute:
> typeattribute hal_fingerprint_default data_between_core_and_vendor_violators;
> # access to /data/system/users/[0-9]+/fpdata
> allow hal_fingerprint_default fingerprintd_data_file:dir rw_dir_perms;
> allow hal_fingerprint_default fingerprintd_data_file:file create_file_perms;
Change-Id: I388f993de7f95fc68007d945f5a9cc975afde120
* Xiaomi extends fingerprint_device_t by adding a new method called extCmd used to send vendor specific commands
Change-Id: Ic94f7b3fd28f7db81695e47f54ce6fa89248bde9
While Google found that fingerprint HAL is insensitive to
increased CPU throughput, we have not found that to be the
case. Allowing more CPUs makes fingerprint unlock up to
2x faster in some tests.
SM8250 device with fingerprint on display:
- Before: 3128ms
- After: 944ms
SDM845 device with fingerprint on the power button:
- Before: 1146ms
- After: 688ms
This reverts commit d0fdb4431d26e4f257b8867f67ffd9b4a9818d9e.
Change-Id: I7a28d82caee2b8503b974a8226b29240eb072ceb
* This can be used by any Xiaomi device that has a touch display that supports multiple sample rates and Xiaomi touch.
* Most newer Xiaomi phones with high screen refresh rates fit this category:
* e.g. Mi 10/Pro/Ultra/T/T Pro, Xiaomi SM8350 platform phones & Xiaomi SM6375 phones
Change-Id: Iaf956420157bbc978690fac9053d507ccaea847a
Some variants don't support wireless charging, thus this file is
missing. Ideally we wouldn't run powershare at all on them, but this is
still an improvement.
Change-Id: Ie58aaac2a73055d8d2cfe7a73b9b479493eb2bcf
* This feature is present in Xiaomi Mi 10/Pro/Ultra and for the Xiaomi
family of SM8350, LAHAINA devices.
Change-Id: Icabcee87980611d97a837f86a52d94033de337ef