Commit Graph

25 Commits

Author SHA1 Message Date
1nfrag
abd641e8a4 sdm845-common: power: Correct DT2W on/off logic
Change-Id: I7b38427dedc4c07ddb5aa49197bbb61b3562563a
2020-10-21 14:34:48 +02:00
Bruno Martins
8af17a83d4 sdm845-common: power: Adapt extension to new aidl power HAL
Change-Id: I58ac49957d8d28ad904912986d89ac8db4820ff9
2020-10-17 21:18:53 +01:00
Bruno Martins
d628f0b4c6 sdm845-common: Switch to common QTI power HAL
There's nothing really that different here when compared to the
common HAL except for the specific DT2W handling, which can simply
be supported as a power feature lib.

Change-Id: I4c9c2530c8090e05dab38ed829d59ece5e00e1fb
2020-07-17 01:09:19 +02:00
Henrique Pereira
9178dad152 sdm845-common: power: Bring back fts definition
Some variants of dipper have fts instead of fts_ts.

Test: DT2W works again with this touchscreen type on dipper.

Signed-off-by: Henrique Pereira <hlcpereira@pixelexperience.org>
Change-Id: I75ab85e1badbb4bc22fec073c4382e4da1634593
2020-02-11 16:33:18 +01:00
Bruno Martins
a7af6d2712 sdm845-common: power: Fix FTS touchscreen device input name
Test: D2TW works with this touchscreen type.

Change-Id: Ic15d9622d213a947702e3706db174936a4ee3a3d
2020-02-06 19:34:57 +02:00
Bruno Martins
17726ddac6 sdm845-common: power: Scan input devices for eligible DT2W node
It is no longer a surprise for anyone to see Xiaomi shipping the same
device with different displays and different displays usually mean
different touchscreen drivers.

The current double tap handling in the power HAL only takes into
account one specific node, meant to be set in the device tree.
However, if the touchscreen was registered as a different input device
it would cause the feature to be broken. Address the issue by iterating
through the input devices in order to find one supported touchscreen
input to be used.

Co-authored-by: LuK1337 <priv.luk@gmail.com>
Change-Id: I2f7fb4a8b0c9cd1a16d6c2b93602d285a191f170
2020-02-01 11:37:23 +01:00
Ananth Raghavan Subramanian
ea7fea3fad sdm845-common: power: Modify definitions of Perf client calls
Now conforms to the exact definition in the shared perf library

Change-Id: I6f92140b42800072283c2f3a52e6814fc0f1d5d2
2019-09-30 14:40:00 +01:00
Anirudh Radhakrishnan
86e6a446e7 sdm845-common: Added timeout values to all power hints
Added timeout=0 for the power hints for video, vr
and qvr hints

Change-Id: I6fb82c1048bda7551035cf1c9b96bbaa292d06aa
2019-08-23 15:20:07 +01:00
Rajashekar Adi
4d9603437c sdm845-common: power: Adding timeout value to camera hints
Added timeout as 0 in powerhint.xml

Change-Id: I6f446bccabb8880cab726f679710a80e9030df7f
2019-08-23 15:20:07 +01:00
Ananth Raghavan Subramanian
0a2ea83a38 sdm845-common: powerhint: Camera hints for sdm845
Adding resource value pairs for camera hints

Change-Id: I22895d9cca1282f61fb1b5d5a46c9627a881ef6e
2019-08-23 15:20:07 +01:00
Rohit Bandi
86e10dde13 sdm845-common: Adding VR related hints to powerhint.xml
Adding VR related hints to powerhint.xml for sdm845.

Change-Id: I9bca11c9a9cb6ca32097eb6f28a5fdf30407a7af
2019-08-23 15:20:07 +01:00
Ananth Raghavan Subramanian
afc04afa84 sdm845-common: powerhint: Added powerhint.xml
Added powerhint.xml for SDM845. Is parsed by PerfHAL, contains hint
resources.

Change-Id: Idb30ea26b3a987794348c4a69330571bd8dbc218
2019-08-23 15:20:07 +01:00
Ananth Raghavan Subramanian
ac82ace2a3 sdm845-common: power: Introducing PowerHAL binderized service
Moving from the default implementation to a binderized service with no
wrapping.
Now using 1.2 implementation of the IPower interface.

Change-Id: Ibefd916544f51545e6889684a051b2ecc5867fe2
2019-08-02 00:15:04 +02:00
Bruno Martins
438104a656 sdm845-common: Switch to vendor variants of the custom HALs
Change-Id: I599ef8b3d143641821b6e42ec41050aedd3f2b37
2019-08-01 00:28:53 +01:00
tomascus
5a704c4ac3 sdm845-common: power: Don't use SCROLL_PREFILING
The current use of the SCROLL_PREFILING hint hurts scroll performance
and results in a lot of dropped frames.

The hint ID corresponding to SCROLL_PREFILING only takes into effect for
a default timeout value of 80 ms (as found in perfboostsconfig.xml),
while the duration value in the process_interaction_hint function runs
for a much longer time, from 1500 ms up to 5000 ms (bounds of
kMinFlingDuration and kMaxInteractiveDuration). During the period
of time, when the timeout value has elapsed and current time is less
than duration, another interaction hint cannot be processed. Therefore,
if the user decides to scroll during this period, high frame drops can be
experienced as the CPU freq isn't raised by processing another hint to
account for this additional scrolling.
By only using SCROLL_VERTICAL, fluidity can be maintained, improving user
experience.

Change-Id: I2fbde8b2db6710d262e9a058e0bc9c02e524648c
2019-03-06 23:45:23 +00:00
tomascus
607158687a sdm845-common: power: Release launch boost perflock when launch is completed
Currently, the launch boost perflock is held for a fixed duration, either
specified in perfboostsconfig.xml for perf HAL platforms or hardcoded in the
powerHAL for non-perf HAL platforms.

Using a fixed duration for this perflock has two shortcomings:
* perflock can be held for too long, causing the CPU freq and other resources
  to be boosted for too long even if the application has finished launching,
  resulting in excessive battery drainage
* perflock can be held not long enough if it takes more than the timeout
  time to finish launch

The framework sends out a powerhint for both when launch starts and when
launch ends. The launch finish hint can be used to signal when to release the
perflock.

Reference: Wahoo power-libperfmgr

Change-Id: I405cc453c5f58d9fb2583b9c6017f3964a0ce024
2019-03-06 23:45:23 +00:00
Giuseppe Barillari
d5b042464f sdm845-common: Override stock power HAL service definition
The service must be made part of the input group,
so that the power HAL can access the input nodes present
in the different targets.

Change-Id: I30a7bde8aebac4b76cbf59f5f795ea245aba1014
Signed-off-by: Giuseppe Barillari <joe2k01dev@gmail.com>
2019-03-06 11:14:23 +01:00
Ananth Raghavan Subramanian
d1a289d2fb sdm845-common: power: Clean up code and add generic hint handling
Removed unused code and added generic hint handling to power.c file,
does not need to be device specific anymore.

Change-Id: I0d4e2a73de0ce4d3735314d2e49ba58c23eb313c
2019-02-26 19:33:51 +00:00
Rajashekar Adi
69bcde86de sdm845-common: power: Fix for VNDK compliance issue
VNDK flag enablement for P upgrade

Change-Id: I033c3d9c8a1ee1e7f52a6398ae989becd66d161e
2019-02-26 19:33:51 +00:00
Vinay Verma
9b946f5c95 sdm845-common: power: Fix VNDK compilation errors
VNDK restrictions doesn't includes standard headers by
default, add them explicitly.

Change-Id: I4c72a28ffa141ecadcfe47cc7c1f62f2a0c8576e
2019-02-26 19:33:51 +00:00
TheScarastic
cdd2d459d5 sdm845-common: Switch to more generic dt2w node
Change-Id: I08c874f3ca50fad1db820ddd85ef0f5d7ccf0ed2
2019-01-31 00:38:14 +01:00
Wei Wang
7690a1c964 sdm845-common: power: Use monotonic time for interaction boost
Using the wall clock will cause boosts to be disabled
when/if the clock is adjusted backward.

Bug: 29191415
Bug: 29208304
Change-Id: I8af5f40b46d996ce7bccb8324fc186e2f3a5b267
2019-01-05 20:01:37 +00:00
BeYkeRYkt
cbf9d771a4 sdm845-common: power: Handle launch and interaction hints
* MP-CTL does not handle POWER_HINT_INTERACTION and POWER_HINT_LAUNCH
   directly. Requests for processing are sent by Qualcomm BoostFramework
   (QPerformance) at the framework service level. Since we do not have
   BoostFramework, process POWER_HINT_INTERACTION and POWER_HINT_LAUNCH
   in PowerHAL to ensure a sufficient level of performance.
 * For proper operation, perfboostsconfig.xml file is required.

Change-Id: I9fedcbaa189147c91d932711c831c2ce038a7ec7
2019-01-05 20:01:37 +00:00
Steve Kondik
d0544a616a sdm845-common: power: Add support for tap-to-wake feature control
Change-Id: I545902b29f4828c127bc32def6e30b67ce4a3aa7
2018-09-09 01:01:01 +01:00
Bruno Martins
d09238f8a2 sdm845-common: Import QCOM power HAL
* Plain QCOM power HAL based on tag LA.UM.6.3.r4-05000-sdm845.0.

Change-Id: Ia4fe5dd8e0240955b7d2199e3e1d6743138b511d
2018-09-09 01:01:01 +01:00