| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
This avoids some lagging scenarios
Change-Id: Ia588b983279fcd6ef2aca99e7aafa5cd8793205e
Signed-off-by: Corinna Vinschen <xda@vinschen.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
Furthmore, kMinInteractiveDuration has been lowered to 400 ms for some
platforms as it is more than sufficient to maintain fluidity (minimal
frames dropped) while scrolling.
Change-Id: I42edd07a67c7dca43a10ae2fa1b44b64b7794b43
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
* Fix compiler warnings by the way
This reverts commit 0a53ddc7f2683b2e2c7725f8d459814b3a01613b.
Change-Id: I21b39bfee79e347aa9375f7120b5a3027b8f4468
|
|
|
|
|
|
|
| |
* This restores the behavior in AOSP and CAF power HAL to avoid
confusion.
Change-Id: I72f5bb9286e2f57121e39eea82d2fe8854989393
|
|
|
|
|
|
| |
time.h isnt included by default when vndk is enabled.
Change-Id: I949ed271d7e7ed31e186019b0289299c1c8ff940
|
|
|
|
|
|
|
|
|
|
|
| |
* 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: I4c67d886c9dd74ae07094d32bdffc8ef403e04e7
|
|
|
|
|
|
| |
* msm8937 supports the MPCTL_V3 commands.
Change-Id: Ibeaaf3d4577a8378f1d9a495b87ac58f75b1da73
|
|
|
|
|
|
|
|
| |
* msm8937 is on the same CAF line along with msm8953 and msm8996 and also
supports the MPCTL_V3 commands, in contrast to msm8952. Separate it from
msm8952.
Change-Id: I58b0d7563cd3896ee4484ed0e0f38a6ef7eb01b2
|
|
|
|
|
|
| |
* Based on legacy HAL implementation
Change-Id: Id7d16f97c177a790427d848e8ccea3286cf37a4e
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* These boost resources were introduced years ago and are no longer
suitable for modern SoCs. Each SoC should implement its own boost
resource in either platform specific power HAL source file or perf
HAL.
* Starting from LineageOS 15.1, recent SoCs no longer handle
POWER_HINT_INTERACTION in the power HAL, so power_hint_override
returns HINT_NONE and the default routine is always executed. E.g, on
msm8996 little cluster is always boosted to max frequency on touch,
which causes a huge battery drain.
* As a bonus, the "Failed to apply optimization" errors are gone.
Change-Id: I322f23f40fc5da7485f2c7a6cf8ee952d0fb94c6
|
|
|
|
|
|
|
| |
Set hwbinder buffer size to 16KB for 32 bit architecture.
Change-Id: I4272a12853269dd6363f58a5bb81caa09cc47e9a
CRs-Fixed: 2315283
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, get_soc_id() is queried on every SOC ID check in the
SDM660, MSM8916, and MSM8974-family HALs. This results in
extraneous file operations on every SOC ID check.
Cache the result of get_soc_id() during the first query to
reduce the number of file operations being made.
This also brings back the behaviour in LineageOS 15.1 when the
HALs were still stored in device/qcom/common.
Change-Id: Ic17dbf12e7f9ecdb47b73a580f467df9ad630aa0
|
|
|
|
|
|
|
|
|
|
|
| |
This effectively reverts commit 0ef4cb429ff3d42e8f8bd27d749ecd80f2911dc5.
Users (including myself) noticed some laggy behaviour.
The patch reverts to some more oomph at launch time, trying for a
compromise between performance and power saving.
Change-Id: I2d07686a131dcb75c9e590d99764d2a650cae507
|
|
|
|
|
|
| |
* Missed in bd767ce687270079bf436373a292922b7424f60d
Change-Id: I78a1af2867f49687662d6961bccd777c7937cea2
|
|
|
|
| |
Change-Id: I54c92db62599d9bd48e685f770adc2ae72eec4cb
|
|
|
|
|
|
|
|
| |
* Group MPCTL v3 opcodes according to major type.
* Remove some unused/dead opcodes.
* Rename some misleading/inconsistency names.
Change-Id: I3a06930c8fff18a50f77cb230951dbd43d62fed3
|
|
|
|
|
|
|
|
|
| |
* Make sure current_power_profile reflects actual setting.
* Propagate error condition up to caller.
* Handle error from set_power_profile in power_hint_override.
Change-Id: I8518d921a94c912c75f59fbf993a8f44116bdca9
Signed-off-by: Corinna Vinschen <xda@vinschen.de>
|
|
|
|
|
|
|
|
|
|
|
| |
So far the caller never knows if setting the hint actually worked.
This leads to a potential disconnect between the actual setting and the
UI because set_power_profile simply assumes perform_hint_action worked.
Return an error code or 0, so the callers can check for success.
Change-Id: I180a367e9d8581a63dfa703046b37bc5cae8c6cb
Signed-off-by: Corinna Vinschen <xda@vinschen.de>
|
|
|
|
|
|
|
| |
Instead of supporting a 1.0 HAL, always build the 1.1 HAL and just return an empty
subsystems supported count for devices that do not have wifi power stats
Change-Id: I9b4e37fb657b07529136bf7880de0f9fe5115a1c
|
|
|
|
|
|
|
| |
* A PowerHAL can implement support for this hint to receive
power profile changes from the framework.
Change-Id: Ie1e9e3b827c731cf5a817a0491677e3451fe8678
|
|
|
|
|
|
|
|
|
| |
"vendor.lineage.power@1.0_vendor" no longer exists in the
regenerated Android.bp.
This reverts commit d3eb25f686ea4b4ee157fd63cae9fd023408657c.
Change-Id: If38c6533c784977e9e6e9c27db83a78c704db425
|
|
|
|
|
|
| |
* Fix a copy/paste bug using the wrong array size
Change-Id: I07172b8e857ad3e6ad7761b3e090b518005ba26b
|
|
|
|
|
| |
Change-Id: Ic6dbe8511d694be0c0883f3052c612aa0a30c581
Signed-off-by: Corinna Vinschen <xda@vinschen.de>
|
|
|
|
|
|
|
| |
* kernel governor is doing well by itself, but thanks all the same
Change-Id: I64fa61a1d8ff0f20bac9e5c32c56b031570a564f
Signed-off-by: Corinna Vinschen <xda@vinschen.de>
|
|
|
|
|
|
|
|
|
|
| |
* 1,1 GHz min freq is more than enough for interactive boost on apq8084
* default duration is unnecessarily long, reduce to 200 ms
* 1,5 GHz min freq on 2 CPUs for 1 sec is entirely sufficient for
launch action
Change-Id: I5e51267ed32a3e50899627e4281321820fac237f
Signed-off-by: Corinna Vinschen <xda@vinschen.de>
|
|
|
|
|
|
|
|
|
|
| |
* express interactive boost frequencies as descriptive symbolic values
rather than arbitrary hex numbers
* express durations as descriptive symbolic values rather than just
numbers in the code
Change-Id: I47a92bd4c9b0b86ae0444d87345daf4e94d56126
Signed-off-by: Corinna Vinschen <xda@vinschen.de>
|
|
|
|
| |
Change-Id: I8302d41a902a037548ab52dc68ab8a0d7ca47861
|
|
|
|
|
|
|
|
|
|
|
|
| |
profile_power_save: 2 cores max freq 1,2GHz
profile_bias_power: 2 cores max freq 2,4GHz
profile_bias_performance: 4 cores min freq 1,2GHz (2 active)
profile_high_performance: 4 cores min freq 1,5GHz (4 active)
- rearranged profiles in ascending order
- fixed typo in profile_bias_performance
Change-Id: I6f5d34e797c4f1f7ce9f7344f7f489c40debd094
|
|
|
|
|
|
|
|
|
|
| |
* On some devices even attempting to read the stats nodes results
in kernel lockup and reboot from watchdog bite.
This has been noticed on a lot of msm8916 devices, so add a way
to disable stats completely in order to allow using the binderized
power HAL and get rid of the old one from device/qcom/common
Change-Id: I134c40548dd883aaf72cf0c212be978305366521
|
|
|
|
| |
Change-Id: Iea94c895d7e04dc666ef4fc90f8bd5758f2a206a
|
|
|
|
|
|
| |
Reduce boost frequency to 1.3Ghz
Change-Id: I21804fe5c6c3e89d298a2576daf865b46c153368
|
|
|
|
|
|
|
| |
Porting hint implementation for video encode, sustained performance and
VR to SDM845
Change-Id: If90b8070fea33b37043cb5abb331e641f2dd695d
|
|
|
|
| |
Change-Id: I4067ab71f4cf7e00074ae0b1f52a7bd7e9170039
|
|
|
|
|
|
|
| |
* They were added in 6ec1206b246a164acfb0aa7b43af9b04c759063e
but never used
Change-Id: I0f0d0336cd91715eb8aa4dcb42ae1e449da8603b
|
|
|
|
|
|
|
| |
* The usage of this code was removed in commit
0c226b7921b421dd24363f15aefef1236aa25287
Change-Id: Idf55eb17ae02929b9518c2a81e9de3d022ec0ff9
|
|
|
|
|
|
| |
* They were removed in commit fe93c1d21cb9c2802e9abe037b04c2d6cf395fda
Change-Id: I0ae4aa60912be1eb0e1b6235d8e842d5d1f39afa
|
|
|
|
|
|
|
| |
* This is not used by any recent qcom SoC
and not used by any SoC using this HAL.
Change-Id: If9b2997104bcd5e3ff27fc39c75590d07e813f85
|
|
|
|
|
|
|
|
| |
* The usage of this code was removed in commit
0c226b7921b421dd24363f15aefef1236aa25287
* powerhint.xml is now read by libqti-perfd
Change-Id: I498ad19d0bb43124e4518c5a4f20191a2c122997
|
|
|
|
|
|
| |
time.h isnt included by default when vndk is enabled.
Change-Id: I7ca6ca601a8d25557bd1bb0484766121a9ae5633
|
|
|
|
| |
Change-Id: I4a4466720d02b64cbb454b0b679600796e258835
|
|
|
|
|
|
| |
Using the PerfHAL API to comply with Treble
Change-Id: I8640f3b58ced3b8fb4c05704932e4b515cc24d1e
|
|
|
|
|
|
|
|
| |
* Based on legacy HAL implementation
* We no longer handle POWER_HINT_INTERACTION and POWER_HINT_LAUNCH,
they're now supported directly by Qualcomm mp-ctl.
Change-Id: If5b239a6fa1880e2e650f0e5c50c1357e8e3ac1a
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Cleanup SoC specific files:
- Fix code spacing and indentation
- Remove dead code
- Remove useless comments
- Remove useless logs
- Make code uniform between the files so it's easier to diff
- Use declared enums when possible for power hints
Change-Id: Ie1378c94c53b33299927c5eb1bfc19f1a42b8743
|
|
|
|
|
|
|
|
| |
* These were part of the commit that added mutex locks
for camera hints. We have now removed the locks so
this is no longer necessary
Change-Id: I38b91ce4e8fc811b8d9a04e6ec20521adde1b264
|
|
|
|
| |
Change-Id: I9129de9046df7b922af7b32eac94167776f820cf
|
|
|
|
|
|
| |
* And fix the build errors
Change-Id: I183203edfd92d4672893d74aa7428bc9f5e17772
|
|
|
|
|
|
| |
* Based on legacy HAL implementation
Change-Id: I5aa0b75b493825f2d87ce6eea0f3c3b1c3bba135
|
|
|
|
|
|
| |
* Based on legacy HAL implementation
Change-Id: I9ebb44c1e215a76a95180a6188e80cb24f0b03ba
|
|
|
|
|
|
| |
* Based on legacy HAL implementation
Change-Id: If778938b9703fd01185c2448bc83a09f04348333
|