Commit Graph

224 Commits

Author SHA1 Message Date
Cosmin Tanislav
deca21a87d sensors: Make sensor batch function virtual
Change-Id: I2de1e919234c4893b0b70390c0189cae38dbbe6c
2024-08-29 19:20:47 +00:00
Cosmin Tanislav
649fca1354 Add dummy sensors sub HAL
Change-Id: Ie20ed775344990de3e16e2eefba1754d831027fb
2024-08-29 19:20:47 +00:00
Adithya R
9dc1dd4b7b vibrator: effect: Fallback to click if an effect is missing
On some device certain effects can be garbage to the point
where its just better to use the default click effect.

Change-Id: I047f72aaba2a1d56138a6431b5b96f0f626e2e83
2024-08-29 19:19:19 +00:00
Arian
b144a0aea4 vibrator: effect: Create double click effect from click if necessary
Unfortunately, xiaomi did not implement a proper double click effect
on many devices. If a device does not provide fifo data for this
effect, play the click effect twice with a pause in between instead.

Co-authored-by: Adithya R <gh0strider.2k18.reborn@gmail.com>
Change-Id: Iac1bc924d078b45684072ec64e992a38507e908b
2024-08-29 19:19:19 +00:00
Sebastiano Barezzi
a4fc6b4e5e
IFAAService: Add null checks
Change-Id: Ia26b799b29d0d3157253512497160c48c877e7f9
2024-08-19 00:27:17 +02:00
Sebastiano Barezzi
7f7694a3a2
IFAAService: Include all AIDL files
Change-Id: Ieff22d491efdc1f2800c33414a25832e2c2bb4bf
2024-08-19 00:27:17 +02:00
Sebastiano Barezzi
b0ee9ec430
IFAAService: Add missing license headers
Change-Id: I47f695ea5622b744ca1a19f2c6731c0c66e6ed69
2024-08-19 00:27:16 +02:00
Sebastiano Barezzi
9f3746758f
IFAAService: Don't use fqname to reference service class
Change-Id: Ibfae0d15a3c2c24c2c333dad0341c4296f04f135
2024-08-19 00:27:16 +02:00
Sebastiano Barezzi
a0c8131d20
IFAAService: Drop compile SDK and version code from manifest
This is a privileged app, build system will do this on its own

Change-Id: Icb8227dd75b0e066acefebcfbb2795d31445375d
2024-08-19 00:27:15 +02:00
Sebastiano Barezzi
a9847d67c5
IFAAService: Reformat manifest
Change-Id: Ia8c35f8c5516a0c52f89621316b3ed24c0bdc6eb
2024-08-19 00:27:15 +02:00
danielml
8b79748dbc Provide a Java library with required Xiaomi telephony methods
To make this jar available to all system APKs, load it as bootjar:

```
PRODUCT_PACKAGES += \
    xiaomi-telephony-stub

PRODUCT_BOOT_JARS += \
    xiaomi-telephony-stub
```

Change-Id: I69006732e6f915dc2a5cd1a3262b7ccf37372986
2024-08-06 19:02:46 +00:00
Andrey Sprynga
9617438fcc vintf: Add PixelWorks Iris interfaces to FCM
For vendor.pixelworks.hardware.display@1.0::IIris/default

Change-Id: I4c0e0dbe07d81913fd25419010b3a71eae9ed38e
2024-08-04 23:54:30 +07:00
HeroBuxx
4f83124642
vintf: Add focaltech and silead FP Interfaces to FCM
Change-Id: Ibbd692d4d646fdb19de6e02385dfc37641f01bab
Signed-off-by: HeroBuxx <me@herobuxx.me>
2024-07-21 08:29:45 +00:00
Bruno Martins
4a9e30940f vintf: Remove transports from FCM
Not applicable to a compatibility matrix.

Change-Id: I8bb823b6368b669a27bdd9cffe8297ccb19df0b7
2024-06-23 17:52:41 +01:00
Andrey Sprynga
8c3519957e vintf: Add synaptic interfaces to FCM
For vendor.synaptics.fingerprints.interfaces.extensions

Change-Id: If215f4e95633aa5f75a230f6a6cec56dd9de1a3d
2024-06-23 17:49:40 +01:00
LuK1337
de082b2b25
aidl: light: Add RGB sync support
Change-Id: I3b26dce753487c2e0a2f191a57ca7ceb4bd752e4
2024-06-22 19:37:03 +02:00
LuK1337
842e692081
aidl: light: Lower battery light priority
Prioritize notification and attention lights over battery.

Change-Id: I88fe39a90ea8fb12a48a1a2d2d36e5bf4dca5b94
2024-06-22 19:07:07 +02:00
danielml
435cd2659d aidl: light: Support the left LED
Used by pop-up camera devices like davinci.

Change-Id: Ie6b37987d9a93d905464ddae366ce976ae7aaf8d
Signed-off-by: danielml <daniel@danielml.dev>
2024-06-22 12:36:49 +02:00
LuK1337
f75adee245
aidl: light: Add support for button-backlight2 device
Needed on natrium.

Change-Id: I345ff6039702c26a5c580a73290c4d19c4ae272b
2024-06-22 12:26:24 +02:00
Bruno Martins
7329fd774f
aidl: light: Add support for timed mode
Co-authored-by: Sebastiano Barezzi <seba@sebaubuntu.dev>
Change-Id: I23623c7527cf98230f890935a4742f86adc3b3ea
2024-06-18 03:19:00 +02:00
Sebastiano Barezzi
ee864f39ea
aidl: light: Refactor
Change-Id: Ib4ae8e9821dd0fb36e922e2c5f993aa6c0e28be1
2024-06-18 02:32:19 +02:00
Bruno Martins
d43b640a7b vintf: Add extra GoodixFingerprint interfaces
Change-Id: Icee7f0d7839f03951f14946379dc4b8586c77cd9
2024-06-17 19:48:52 +01:00
Arian
6677f1cfa9 vintf: Add {goodix 2.1, fingerprintextension, motor} to fcm
Change-Id: I35adade47e1e17c4ec8b1380542f53d7d3f4d217
2024-06-17 18:47:08 +00:00
Bruno Martins
ab7514301c aidl: Remove useless makefile
Change-Id: Iddb49786d632f0622b51cd9062baef9b1297e538
2024-05-19 17:33:05 +01:00
Michael Bestas
44cf4e0f85 Move to common power-libperfmgr
Change-Id: Icaa3b265fbc0fb71ae57a5cbde1654f62d07aef8
2024-05-18 13:18:30 +01:00
basamaryan
1bdeed2029
hidl: biometrics: Add support for the fortsense fingerprint hal
Change-Id: Ia311cf3f77290f33fc2dc0eb79de435d92d2c0f8
2024-05-16 16:30:25 +04:00
Matt Buckley
4453055456 power: Remove wakeup behavior from PowerHintSession and PowerSessionManager
Currently, all sessions get boosted any time DISPLAY_UPDATE_IMMINENT is
sent from SurfaceFlinger which can lead to large, unnecessary boosts.
This patch aims to change that by removing the wakeup behavior, relying
instead on sessions to boost themselves with new load change hints.

 * Remove wakeup() from PowerHintSession
 * Remove wakeSessions from PowerSessionManager
 * Remove related timers and message handlers
 * Remove DISPLAY_UPDATE_IMMINENT behavior entirely

Test: manual
Bug: b/260136431
Change-Id: I4610edfefe8fcbef7d4cdbf5768830a9392a54f7
2024-03-21 13:05:52 +00:00
Matt Buckley
035ad6c78d power: Add better tracing for sendHint and refactor existing tracing
Reset traced hint value to -1 on reportActualWorkDuration or stale
timeout, and rewrite existing tracing for readability.

Bug: b/243973548
Test: manual
Change-Id: I135ec5f8971a9902d880e4089b0df746f5b917e2
2024-03-21 13:05:52 +00:00
Jimmy Shiu
f2c8c33939 ADPF: refine StaleTimeHandler
Bug: 256515601
Test: build
Change-Id: Ia7f80c838961b837733c457b189f16c6433cf3c3
2024-03-21 13:05:52 +00:00
Jimmy Shiu
773630adc8 ADPF: remove unused EarlyBoostHandler
Bug: 256515601
Test: build
Change-Id: I9b63c6ee3decaa4c70f38bcc66a0e9e1de464ad6
2024-03-21 13:05:52 +00:00
Arian
e5a9512985 vintf: Add fpc and goodix 1.0 extensions to fcm
Change-Id: I6b678c39535cdf76c7fc5bef419bc9f1dd2281cf
2024-03-07 19:46:40 +01:00
Jens Reidel
c682da8098 vintf: Add fingerprint extension to common fcm
Change-Id: I7485d6424e6e840623e7a9b8a6131feb0b7c8501
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
2024-03-07 19:39:46 +01:00
Giovanni Ricca
5f0a38d22e interfaces: fingerprints: extension: 1.0: Reverse the remaining interfaces
Change-Id: I53175dc6125b485c6007685938181a169f4d3b87
2024-02-20 21:30:53 +00:00
Erfan Abdi
3a14026963 interfaces: fingerprints: Initial reverse engineered 1.0 extension
Change-Id: I19d4736a01604b354e43029ea77e54b698517954
2024-02-20 21:30:53 +00:00
bengris32
5ffacf20ed interfaces: goodix: Initial reserve engineered 1.0 fingerprintextension
Change-Id: Ie5dba919dd7dcd78030ac936649a97ac1b7854e3
2024-02-20 21:30:53 +00:00
Giovanni Ricca
e0d1ecf861
interfaces: goodix: Reverse the remaining calls
* Inline with curtana goodix impl

Co-authored-by: bengris32 <bengris32@protonmail.ch>
Change-Id: I05972ba7c023a000c853c96c518aaf82e3c25a92
2024-02-15 12:55:55 +01:00
Arian
cf41643853 vintf: Add common xiaomi framework compatibility matrix
Change-Id: I532563e4f427bfe58b4b07e34afce6a7d264ac0c
2024-01-20 12:02:36 +01:00
Arian
2f5513decb vibrator: effect: Read vibration fifo data from vendor
Change-Id: I58c74f01d75e8616fdb03c27e3dc4c4df6838faa
2023-12-19 17:27:07 +01:00
Arian
b9f555e557 Import qti vibrator effect and rename
Change-Id: I27052df302674122ba90d665875b384ea0cfa7be
2023-12-14 17:22:27 +01:00
Jimmy Shiu
d2c0e46e16 power-libperfmgr: ADPF: send ADPF_FIRST_FRAME hint
To send ADPF_FIRST_FRAME hint when reportWorkDurations was called first
time after stale state.

Bug: 243025173
Test: PtsUiBench & CUJ
Change-Id: I4377b1f549646bcf44bdf26b2657b7bc0646f9a4
Merged-In: I4377b1f549646bcf44bdf26b2657b7bc0646f9a4
2023-11-24 16:37:12 +00:00
Jimmy Shiu
cec3b97eda power-libperfmgr: ADPF: support sending power hint
Send a hint only when the system can support the hint.

Bug: 243025173
Test: PtsUiBench & CUJ
Change-Id: If56d0c22f8dd61f5fe27ba79f08f2963269abe41
Merged-In: If56d0c22f8dd61f5fe27ba79f08f2963269abe41
2023-11-24 16:36:58 +00:00
Jimmy Shiu
e69da0c258 power-libperfmgr: ADPF: fix use-after-free crash
The main problem is the timer thread could be woken after the session
was destroyed. We did have a closed flag which was set in destructor and the flag would be checked before handleMessage accessing the session
instance. To fix the problem, the operations of flag checking and session instance accessing should be guarded by the lock.

Bug: 236674672
Test: manual test
Change-Id: I49a18efbc135b1bc070b101038a8a0bcc6e19fec
(cherry picked from commit 5c75978f530b27bd976d8695ed79acd336c24776)
Merged-In: I49a18efbc135b1bc070b101038a8a0bcc6e19fec
2023-11-24 16:31:32 +00:00
jimmyshiu
6ab718385b power-libperfmgr: ADPF: optimize the wakeup performance and fix unstable boost.
Optimize boost:
A more efficient way is to trigger the wakeup boost through mTidSessionListMap, so the time
   complexity reduce from O(n^3) to O(n^2).

The original code path:
  PSM:wakeSessions() contains a loop that is O(n),
  inside the loop, it calls to PHS::wakeup() which call to
  PSM::setUclampMinLocked(), and
  PSM::setUclampMinLocked() contains two loops O(n^2)

The new code path:
  PSM::wakeSessions() directly checks all the ADPF tasks O(n) and
  get the wakeup boost value O(n), then directly set the uclamp.min
  The time complexity lower to O(n^2).

Fix unstable boost:
The original flow is to find max boost and wake it up from stale state
one by one. But the previous woken ones would not be counted when the later ones finding their max boost value.
The new flow boost all the tasks first, then wake up all those sessions.

Bug: 235510337
Test: Manually playing UIBench -> Transitions -> ActivityTransition
Change-Id: I995673b74401e198eb72188134ba1ebc134f971c
2023-11-24 16:31:32 +00:00
Wei Wang
dada1040af power-libperfmgr: ADPF: extend non-stale session timer in wakeup
For DISPLAY_UPDATE_IMMINENT wakeup signal, non-stale
session's timer should be also extended. This resolves
the performance issue caused those sessions to go stale    
prematurely.

Bug: 241621485
Test: Build
Signed-off-by: Wei Wang <wvw@google.com>
Change-Id: I06330e064060248bb556ae35e0cb8fd302cef231
2023-11-24 16:31:32 +00:00
Sebastiano Barezzi
9cbf7b03e3
aidl: light: Implement attention light type
Change-Id: Ia7fff2a4374ad4d05718909000dc2fd99b9264f0
2023-11-13 15:36:27 +01:00
Luca Stefani
69f546cc9b
aidl: light: Make rgb a normal struct
No need to typedef in C++

Change-Id: I949c4319eb8f116d6cd2903a294757bacc7751a7
2023-11-13 01:39:53 +01:00
Sebastiano Barezzi
2154cee0ec
aidl: light: Reformat with clang-format
Change-Id: Iee8f2dc3777a95df827f33ad1f4e37f7d0f48eed
2023-11-13 01:39:53 +01:00
Luca Stefani
5981d19419
aidl: light: Construct HwLight in place
They aren't used outside the ctor, let's
inline their construction.

Change-Id: Ic4f2afb24caabc42a95f94c8c150fa028975c8a5
2023-11-13 01:39:53 +01:00
Sebastiano Barezzi
ad315044e4
aidl: light: Use const on getLights' foreach loop
Change-Id: I00570c7315ef31e20c8265650025b4969e2d98af
2023-11-13 01:39:53 +01:00
Sebastiano Barezzi
481f209d2a
aidl: light: Fix a bug where breath wouldn't be disabled when not needed
Change-Id: I65c84c845fe8fb514d6b8345013077e3d0946972
2023-11-13 01:39:53 +01:00