While PowerHal version >= 5 but devices didn't support HintSession. We should skip the test. Otherwise, it would fail.
Change-Id: I0f757ab825020ded02c31231969e13f3375e47f3
Test: atest VTSHalPowerTarget
Bug: 328330332
While FMQAidl Setup() was skipped, some uninitialized objects would be
used in FMQAidl Teardown() which caused the test failed.
Add some condition check to prevent from using uninitialized objects.
Test: atest VTSHalPowerTarget
Bug: 328330332
Change-Id: I83081cbef66da1d74d87e191f266cb16fb559b85
Ensure FMQ is supported through VTS, actually running, and can process
a variety of inputs.
Bug: 327047057
Test: atest VtsHalPowerTargetTest
Change-Id: I70edaf41fca544bfd48e1ce2a99f48e4a6a835b8
Figuring out relative message ordering is harder with FMQ because
messages on different channels without timestamps do not have a
guaranteed ordering. This CL adds timestamps to all channel messages
to ensure relative ordering is always known precisely, and to make
timing more accurate.
Bug: 321810554
Test: atest VtsHalPowerTargetTest
Change-Id: Iac341dec2526ac46ae9db57aadbd267224a77989
Add a SessionTag enum APP to distinguish hint sessions created by apps.
Bug: b/274929700
Test: atest VtsHalPowerTargetTest
Change-Id: I85263dc6b1b89f73f79f1a7696d37bf7fa2556ad
This patch adds a set of APIs to PowerHAL to enable hint session
communication via FMQ, to reduce both binder overhead and call latency
moving forward.
Bug: 315894228
Test: atest VtsHalPowerTargetTest
Change-Id: I56f89322c7706ab68e640542caf5b70eef36c451
Adds the ability for V5 ADPF clients to clue the power hal in as to how
much of the work duration is attributable to the CPU vs how much of the
work duration is attributable to the GPU.
Bug: b/284324521
Test: atest VtsHalPowerTargetTest
Change-Id: I81360fdaa21a87c2f2c7fc28702e625185a9a2d3
Adds the ability for V5 ADPF clients to clue the power hal in as to how
much of the work duration is attributable to the CPU vs how much of the
work duration is attributable to the GPU.
Bug: b/284324521
Test: atest VtsHalPowerTargetTest
Change-Id: Ie64ba146c9a416ced6336971b6136561a525042c
VINTF fragments for Power VAPEX were installed in /vendor/etc as a
workaround when VINTF fragments in VAPEX were not supported.
Bug: n/a
Test: m && launch_cvd
# power/power-stat services are running
Change-Id: I0243a0bd2f2dd597260f73a3994cf81db213daf7
These patches introduce a new power efficiency mode for hint sessions
to the public API, and internally expose a new setMode API for hint
sessions that resembles the setMode API for iPower, to control
different session operating modes.
This set of patches:
- Updates the PowerHAL AIDL to version 5, and updates relevant bp files
- Exposes new setPreferPowerEfficiency(bool enabled) method from the
SDK and NDK
- Exposes new setMode(int mode, bool enabled) method from PowerHAL AIDL
and HintManagerService
- Adds support for new setMode call in PowerHAL
Bug: b/288117936
Test: manual
Change-Id: Id006341b5ab0ae6fadd975d740d2fcf89f0636e4
Rewrite Power VTS check support using AIDL versions instead of
API versions, and change hint session tests to use a common test
fixture.
Bug: 294917526
Test: atest VtsHalPowerTargetTest
Change-Id: I3cef31fa8dc6341a47d173a13d07521bafe4a1e5
Previously the test will be skipped regardless whether setThreads is
supported, this patch moves the check below and check the returned
status code to determine whether the test should be skipped.
Bug: b/287282833
Test: atest VtsHalPowerTargetTest
Change-Id: I9ce6b4ead5e245478247903a75922ece74f38ee7
Otherwise gtest will inherit the one from libgtest_main which
will not start thread pool to handle binder call for callbacks
Bug: b/205762943
Test: atest VtsHalThermalTargetTest VtsHalPowerTargetTest VtsHalTetheroffloadTargetTest
Change-Id: Ib9e5d265b8f5081dd20568a98d01e9190177440a
Previously the list of threads of a PowerHintSession was only determined
when the PowerHintSession was created. This means newly forked threads
from existing threads of the PowerHintSession will not get the benefit
and the clients have to create new PowerHintSession for that.
This patch adds a new method to allow clients to update the threads of
the PowerHintSession.
Additionally, this patch also removes the oneway annotation at the
interface level of IPowerHintSession, all existing methods are converted
to oneway methods and setThreads is a bidirectional method. This also
allows to do meaningful VTS validation.
Bug: b/244216750
Test: atest VtsHalPowerTargetTest
Change-Id: If499d6dad20c9d7f6fbda1b5dc9d528396f1f6c1
VSR requires to support power HAL V2 and beyond, this patch changes the
default implementation to reflect that.
Bug: b/253516147
Test: atest VtsHalPowerTargetTest
Change-Id: I56f6f847f4c47775db6350b8a3fcd7ee9c9cdf17
Per [VSR-3.2-013] DEVICEs launching with Android 13 MUST meet the
requirements for the target-level=7 compatibility_matrix file. Update
the VTS to reflect that.
Bug: b/253516147
Test: atest VtsHalPowerTargetTest
Change-Id: Ie6178ed2caea6a70b728dfcded9fa900ee099f2f
Background threads sometimes can be very CPU intensive but not critical
from a user's perspective or senstive to a target deadline. Such
workload often time consumes some extra power with no user benefit. This
newly added power efficiency hint allows client to express threads
within the power hint session should be applied with a
power-effiecient-first scheduling strategy, and hence allows the power
implementation to apply such strategy confidently.
Bug: b/244216750
Test: atest VtsHalPowerTargetTest
Change-Id: Iac10b090b208b37f0b7b18a34a45f2da8ecc419b
Add a new sendHint(SessionHint hint) method to the PowerHintSession to
allow clients to inform the session about upcoming changes in load ahead
of time.
Bug: b/243973548
Test: atest VtsHalPowerTargetTest
Change-Id: I0a8af42d3b0ccd3bbb72287a9b91ffb13fccaf9c
Some are still in VNDK because they are used in other VNDK libs.
Ignore-AOSP-First: some libs are still in internal master only.
Bug: 234181591
Test: m
Merged-In: If999df9c78a20df931177da11742b1c5de19bc08
Change-Id: If999df9c78a20df931177da11742b1c5de19bc08
(cherry picked from commit 5527adfd7f)
Some are still in VNDK because they are used in other VNDK libs.
Ignore-AOSP-First: some libs are still in internal master only.
Bug: 234181591
Test: m
Change-Id: If999df9c78a20df931177da11742b1c5de19bc08
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: I0652f1efe920111d79dd8c2ecd52e55dda54538f
Change-Id: Ib58c9f1cb80d083a3c62d03415610be855b80f03
(cherry picked from commit c426c6dbdc)