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
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
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
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
AIDL interfaces which are vintf-stable have to be frozen in release.
But these interfaces have been never frozen, so freeze them.
- android.hardware.power
- android.hardware.identity
- android.hardware.keymaster
- android.hardware.vibrator
- android.hardware.light
- android.hardware.tests.extension.vibrator
Bug: 153500421
Bug: 153500550
Bug: 153511407
Bug: 153500549
Bug: 153501107
Bug: 153501202
Test: m
Change-Id: I643c25fc695f9d1e874dcceb327d465c49e9cab6
All aidl_interface modules should by default considered as stable, in
case it is used across system and vendor partitions, or across modules.
Like other API surfaces, we need to have a dump for the current
(yet-to-be-released) version and update it when there is an API change.
This is done via .
Then the owner of the interface can freeze the current version as a
numbered version via .
This change shal be rejected only when the owner is certain that the
interface is not used across the updatable boundaries.
Bug: 152655547
Test: m
Change-Id: Idb1c34df81674321911e4a85f9e862b539a3f30c
Merged-In: Idb1c34df81674321911e4a85f9e862b539a3f30c