summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* apq8084: revert interactive boost to msm8974 settingsHEADlineage-16.0Corinna Vinschen2019-10-301-14/+14
| | | | | | | This avoids some lagging scenarios Change-Id: Ia588b983279fcd6ef2aca99e7aafa5cd8793205e Signed-off-by: Corinna Vinschen <xda@vinschen.de>
* power: don't use SCROLL_PREFILINGtomascus2019-02-286-41/+9
| | | | | | | | | | | | | | | | | | | | | | | | 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
* power: Release launch boost perflock when launch is completedtomascus2019-02-2812-45/+286
| | | | | | | | | | | | | | | | | | | | | 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
* Revert "power: Remove interaction_with_handle"dianlujitao2019-02-282-1/+23
| | | | | | | | * Fix compiler warnings by the way This reverts commit 0a53ddc7f2683b2e2c7725f8d459814b3a01613b. Change-Id: I21b39bfee79e347aa9375f7120b5a3027b8f4468
* power: Pass NULL parameter in powerHint if data is zerodianlujitao2019-02-2816-33/+47
| | | | | | | * This restores the behavior in AOSP and CAF power HAL to avoid confusion. Change-Id: I72f5bb9286e2f57121e39eea82d2fe8854989393
* power: Build with with BOARD_VNDK_VERSIONCraig Tatlor2019-01-136-0/+7
| | | | | | time.h isnt included by default when vndk is enabled. Change-Id: I949ed271d7e7ed31e186019b0289299c1c8ff940
* power: Handle launch and interaction hints for perf HAL platformsBeYkeRYkt2019-01-129-11/+378
| | | | | | | | | | | * 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
* power: msm8937: Update power profile settingsBeYkeRYkt2019-01-021-10/+16
| | | | | | * msm8937 supports the MPCTL_V3 commands. Change-Id: Ibeaaf3d4577a8378f1d9a495b87ac58f75b1da73
* power: Add specific powerhal for msm8937BeYkeRYkt2019-01-022-1/+246
| | | | | | | | * 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
* power: msm8960: Implement performance profilesZhao Wei Liew2018-12-122-0/+157
| | | | | | * Based on legacy HAL implementation Change-Id: Id7d16f97c177a790427d848e8ccea3286cf37a4e
* power: Drop default POWER_HINT_INTERACTION routinedianlujitao2018-11-301-8/+0
| | | | | | | | | | | | | | | * 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
* Reduce hwbinder buffer size for power HALVinay Verma2018-11-072-0/+12
| | | | | | | Set hwbinder buffer size to 16KB for 32 bit architecture. Change-Id: I4272a12853269dd6363f58a5bb81caa09cc47e9a CRs-Fixed: 2315283
* Cache SOC ID checks for future queriesZhao Wei Liew2018-11-073-21/+18
| | | | | | | | | | | | | | 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
* power-8084: Revert POWER_HINT_LAUNCH handlingCorinna Vinschen2018-10-211-0/+15
| | | | | | | | | | | 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
* power: Remove 1.0 HAL remnantsMichael Bestas2018-10-022-16/+0
| | | | | | * Missed in bd767ce687270079bf436373a292922b7424f60d Change-Id: I78a1af2867f49687662d6961bccd777c7937cea2
* power: sdm660: Support power profilesdianlujitao2018-10-021-0/+98
| | | | Change-Id: I54c92db62599d9bd48e685f770adc2ae72eec4cb
* power: Clean up hint IDsdianlujitao2018-10-025-88/+83
| | | | | | | | * Group MPCTL v3 opcodes according to major type. * Remove some unused/dead opcodes. * Rename some misleading/inconsistency names. Change-Id: I3a06930c8fff18a50f77cb230951dbd43d62fed3
* power: set_power_profile: handle errorsCorinna Vinschen2018-10-0211-150/+281
| | | | | | | | | * 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>
* power: perform_hint_action: return an error codeCorinna Vinschen2018-10-022-41/+40
| | | | | | | | | | | 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>
* power: Return empty subsystems power stats and always use Power@1.1Rashed Abdel-Tawab2018-09-175-47/+21
| | | | | | | 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
* power: Add power hint to set profileSteve Kondik2018-09-061-0/+6
| | | | | | | * A PowerHAL can implement support for this hint to receive power profile changes from the framework. Change-Id: Ie1e9e3b827c731cf5a817a0491677e3451fe8678
* power: Drop dependency of vendor lineage power HALdianlujitao2018-09-061-1/+1
| | | | | | | | | "vendor.lineage.power@1.0_vendor" no longer exists in the regenerated Android.bp. This reverts commit d3eb25f686ea4b4ee157fd63cae9fd023408657c. Change-Id: If38c6533c784977e9e6e9c27db83a78c704db425
* power-8916: fix using wrong array size in perform_hint_actionCorinna Vinschen2018-08-291-2/+2
| | | | | | * Fix a copy/paste bug using the wrong array size Change-Id: I07172b8e857ad3e6ad7761b3e090b518005ba26b
* power-8084: document performance settingsCorinna Vinschen2018-08-091-0/+6
| | | | | Change-Id: Ic6dbe8511d694be0c0883f3052c612aa0a30c581 Signed-off-by: Corinna Vinschen <xda@vinschen.de>
* power-8084: drop POWER_HINT_LAUNCH handlingCorinna Vinschen2018-08-091-14/+0
| | | | | | | * kernel governor is doing well by itself, but thanks all the same Change-Id: I64fa61a1d8ff0f20bac9e5c32c56b031570a564f Signed-off-by: Corinna Vinschen <xda@vinschen.de>
* power-8084: reduce interactive boostCorinna Vinschen2018-08-091-14/+14
| | | | | | | | | | * 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>
* power-8084: clean up codeCorinna Vinschen2018-08-091-12/+18
| | | | | | | | | | * 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>
* power: Fix several typos in power profilesHan Wang2018-08-063-5/+5
| | | | Change-Id: I8302d41a902a037548ab52dc68ab8a0d7ca47861
* power-8084: rework power profilesStefan Assmann2018-07-241-18/+20
| | | | | | | | | | | | 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
* power: Allow devices disabling power stats completelyMichael Bestas2018-07-142-0/+10
| | | | | | | | | | * 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
* power-845: Fix compilation errorsBruno Martins2018-07-071-1/+3
| | | | Change-Id: Iea94c895d7e04dc666ef4fc90f8bd5758f2a206a
* Fix interaction boost higher cpu freq perflockBhargav Upperla2018-07-071-1/+1
| | | | | | Reduce boost frequency to 1.3Ghz Change-Id: I21804fe5c6c3e89d298a2576daf865b46c153368
* power: Adding hints for SDM845Ananth Raghavan Subramanian2018-07-071-0/+143
| | | | | | | Porting hint implementation for video encode, sustained performance and VR to SDM845 Change-Id: If90b8070fea33b37043cb5abb331e641f2dd695d
* power: Support msm8917/msm8937/msm8953/msm8998 RPM statsMichael Bestas2018-06-092-0/+8
| | | | Change-Id: I4067ab71f4cf7e00074ae0b1f52a7bd7e9170039
* power: Remove unused list utilsMichael Bestas2018-06-092-33/+0
| | | | | | | * They were added in 6ec1206b246a164acfb0aa7b43af9b04c759063e but never used Change-Id: I0f0d0336cd91715eb8aa4dcb42ae1e449da8603b
* power: Remove interaction_with_handleMichael Bestas2018-06-092-17/+1
| | | | | | | * The usage of this code was removed in commit 0c226b7921b421dd24363f15aefef1236aa25287 Change-Id: Idf55eb17ae02929b9518c2a81e9de3d022ec0ff9
* power: Remove unused ondemand related functionsMichael Bestas2018-06-091-4/+0
| | | | | | * They were removed in commit fe93c1d21cb9c2802e9abe037b04c2d6cf395fda Change-Id: I0ae4aa60912be1eb0e1b6235d8e842d5d1f39afa
* power: Remove support for msm-dcvs governorMichael Bestas2018-06-094-162/+0
| | | | | | | * This is not used by any recent qcom SoC and not used by any SoC using this HAL. Change-Id: If9b2997104bcd5e3ff27fc39c75590d07e813f85
* power: Remove powerhintparserMichael Bestas2018-06-093-227/+1
| | | | | | | | * The usage of this code was removed in commit 0c226b7921b421dd24363f15aefef1236aa25287 * powerhint.xml is now read by libqti-perfd Change-Id: I498ad19d0bb43124e4518c5a4f20191a2c122997
* power: msm8974: Build with with BOARD_VNDK_VERSIONCraig Tatlor2018-06-091-0/+1
| | | | | | time.h isnt included by default when vndk is enabled. Change-Id: I7ca6ca601a8d25557bd1bb0484766121a9ae5633
* power: msm8953: Support VR + Sustained performance modedianlujitao2018-05-251-0/+101
| | | | Change-Id: I4a4466720d02b64cbb454b0b679600796e258835
* power: msm8953: Using PerfHAL APIdianlujitao2018-05-251-28/+21
| | | | | | Using the PerfHAL API to comply with Treble Change-Id: I8640f3b58ced3b8fb4c05704932e4b515cc24d1e
* power: msm8953: Add support for power profilesMichael Bestas2018-05-251-0/+85
| | | | | | | | * 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
* power: Spring cleanupMichael Bestas2018-05-2514-461/+383
| | | | | | | | | | | | * 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
* power: Remove unused camera_hint_ref_countMichael Bestas2018-05-252-31/+14
| | | | | | | | * 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
* power: Consistent skipping of non perf profile hintsMichael Bestas2018-04-162-6/+10
| | | | Change-Id: I9129de9046df7b922af7b32eac94167776f820cf
* power: Compile with -Wall -Wextra -WerrorMichael Bestas2018-04-167-49/+46
| | | | | | * And fix the build errors Change-Id: I183203edfd92d4672893d74aa7428bc9f5e17772
* power: msm8994: Add support for power profile & boostMichael Bestas2018-04-161-6/+167
| | | | | | * Based on legacy HAL implementation Change-Id: I5aa0b75b493825f2d87ce6eea0f3c3b1c3bba135
* power: msm8992: Add support for power profile & boostMichael Bestas2018-04-161-6/+159
| | | | | | * Based on legacy HAL implementation Change-Id: I9ebb44c1e215a76a95180a6188e80cb24f0b03ba
* power: msm8610: Add support for power profile & boostMichael Bestas2018-04-161-4/+93
| | | | | | * Based on legacy HAL implementation Change-Id: If778938b9703fd01185c2448bc83a09f04348333