The original default implementation for power.stats HAL did not have a
good example implementation of the power statistics related APIs. Adding
a new default implementation that gives a more informative example
Bug: 122267057
Test: run vts -m VtsHalPowerStatsV1_0Target
Test: adb shell "lshal debug android.hardware.power.stats@1.0::IPowerStats/default"
Observed the following output
========== PowerStats HAL 1.0 state residencies ==========
Entity State Total time Total entries Last entry timestamp
DefaultEntity Active 1 ms 2 3 ms
DefaultEntity Sleep 4 ms 5 6 ms
========== End of PowerStats HAL 1.0 state residencies ==========
Change-Id: Ida0951c267f609b16bb6406da150ed2e504ced9a
Adding VTS test cases for power.stats HAL functions
getPowerEntityInfo, getPowerEntityStateInfo, and getPowerEntityStateResidencyData
Bug: 118365266
Test: run vts -m VtsHalPowerStatsV1_0Target
Change-Id: Ib60ac0b37bd30663c5e7434546cdcfbf64915538
(cherry picked from commit a630f84814)
Merged-In: Ib60ac0b37bd30663c5e7434546cdcfbf64915538
Adding new power.stats HAL api for subsystem low power stats collection that will eventually replace legacy power stats api.
BUG: 117887759
BUG: 111185513
Test: build successfully
Change-Id: I0da4de378ba0b5daeeb5c2b15435a0c22eff08b4
(cherry picked from commit f836c07bda)
Merged-In: I0da4de378ba0b5daeeb5c2b15435a0c22eff08b4
Unsynchronous queue do not help solve the problem of
supporting multiple clients of power.stats. Since, there
is no current requirement to support multiple clients so
using synchronous queues instead.
BUG: 117424656
BUG: 111185513
Test: run vts -m VtsHalPowerStatsV1_0Target
Change-Id: Iab73de5a460e2a0ec5e949f8b021a87aefed58c8
(cherry picked from commit 84a48b8325)
Merged-In: Iab73de5a460e2a0ec5e949f8b021a87aefed58c8
This was missing. Now update-makefiles is consistent w/ it.
Bug: 110112323
Test: (sanity) build + boot walleye
Change-Id: I29d4535b906d475c3b09e5f0c732c960986d1e38
Adds new EXPENSIVE_RENDERING power hint.
This adds a new library which does not affect any pre-existing
targets unless they create and add a new binary which uses this.
BUG: 110112323
Test: adb shell /data/nativetest/VtsHalPowerV1_3TargetTest/VtsHalPowerV1_3TargetTest
Change-Id: I5fb33abbbe4c4958882a106dfa400ad74013e40d
Motivation:
1) Support running the test against each hal service instance for the
registered hal.
2) Support testability checker to determine whether we should run the
test on the taget device.
3) Help to determine the process we want to profile for coverage data
if running on coverage build.
Bug: 64203181
Test: make vts
vts-tradefed run vts -m VtsHalBootV1_0Target
vts-tradefed run vts -m VtsHalMemtrackV1_0Target
vts-tradefed run vts -m VtsHalPowerV1_0Target
vts-tradefed run vts -m VtsHalPowerV1_1Target
Change-Id: Ie0bbd9ef9d9fbe11de5aee70fad9028fa0ae897c
Extend more powerHint types
Test result: #./VtsHalPowerV1_2TargetTest
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from PowerHidlTest
[ RUN ] PowerHidlTest.PowerHintAsync_1_2
[ OK ] PowerHidlTest.PowerHintAsync_1_2 (9 ms)
[----------] 1 test from PowerHidlTest (9 ms total)
[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (10 ms total)
[ PASSED ] 1 test.
Bug: 62041945
Test: run VTS
Change-Id: If6c9d19962907bcb96ea83e9297f74e80a743b9e
Removing whenever I see these in code reviews.
Test: none
Merged-In: I4322f533a837d55618ec2ed2125e8966ace9d61d
Change-Id: I4322f533a837d55618ec2ed2125e8966ace9d61d
Removing whenever I see these in code reviews.
Test: none
Merged-In: I4322f533a837d55618ec2ed2125e8966ace9d61d
Change-Id: I4322f533a837d55618ec2ed2125e8966ace9d61d
Removing whenever I see these in code reviews.
Test: none
Merged-In: I4322f533a837d55618ec2ed2125e8966ace9d61d
Change-Id: I4322f533a837d55618ec2ed2125e8966ace9d61d
Default implementation in powerHAL 1.1 is not used by any device
Devices using powerHal 1.1 have their own implementation in their
device/<vendor>/<devicename> while older devices don't use 1.1 at all.
This CL removes the default implementation for the PowerHAL 1.1
Bug: 65453628
Test: Build successfully (code not used anyway)
Merged-In: I695348683c6e2e504a523897082543274dc239aa
Change-Id: I695348683c6e2e504a523897082543274dc239aa
Signed-off-by: Ahmed ElArabawy <arabawy@google.com>
To prevent property name collisions between properties of system and
vendor, 'vendor.' prefix must be added to a vendor HAL service name.
You can see the details in http://go/treble-sysprop-compatibility.
Test: succeeded building and tested on a walleye device
Bug: 36796459
Change-Id: I4e8fbee791ec917a8f627a1366f4d44ec7e6febc
Default implementation in powerHAL 1.1 is not used by any device
Devices using powerHal 1.1 have their own implementation in their
device/<vendor>/<devicename> while older devices don't use 1.1 at all.
This CL removes the default implementation for the PowerHAL 1.1
Bug: 65453628
Test: Build successfully (code not used anyway)
Change-Id: I695348683c6e2e504a523897082543274dc239aa
Signed-off-by: Ahmed ElArabawy <arabawy@google.com>
And use VtsHalTargetTestDefaults.
This is a partial cherry-pick of ag/2657080.
Bug: 64040096
Test: compiles, works fine in internal master
Merged-In: I8f6995e9536a9aefe283ee3effec9f5a7f03b620
Change-Id: I76d47d8546416b57055841851a9d343026cd3210
This reverts commit 8ac1971678.
Reason for revert: Didn't remove automotive changes from this CL.
Merged-In: I8608c8f636c35f21e4246a805a9eff6d14124e0a
Change-Id: I1c660cffc8817ad0b33da9f6eceb3d88e7c48416
And use VtsHalTargetTestDefaults.
Bug: 64040096
Test: crop out all non-affected tests from vts-hal-hidl.xml and run
vts-tradefed run commandAndExit vts-hal-hidl --skip-all-system-status-check
--skip-preconditions
2 failures, same as without this change:
GatekeeperHidlTest.DeleteAllUsersTest
GatekeeperHidlTest.DeleteUserTest
Change-Id: I8f6995e9536a9aefe283ee3effec9f5a7f03b620
Update the Android.bp generated with hidl-gen.
Test: build with and without BOARD_VNDK_VERSION=current
Bug: 63866913
Change-Id: I1a9db1df49e0f13c5790da2b118ae9ec63ba34a7
Allow HAL definition libs to be static.
Bug: 32920003
Bug: 64040096
Test: update-all-google-makefiles.sh
Change-Id: I1483d572bea6799717d1614fb7d52fe225e31104
Add an async version of powerHint called powerHintAsync.
Bug: 62377008
Test: Take systrace, confirm powerHint is now an async HIDL transaction
Change-Id: I7c4d850ef17c909977675771d6c2b8a3fa1609d2
The test should return when it cannot open cpu governor files
BUG: 62138092
Test: build sdk_gphone_x86-userdebug, launch emulator,
run test: run vts -m VtsHalPowerV1_0Target
The test should all pass.
Change-Id: I3b47261e9525b6a04e995dac1ad63d9cc088b004
These makefiles are not in dev topic branches
or AOSP currently so they were not updated. This
update adds hidl-generated-module defaults.
Test: pass
Change-Id: Ie52c54877d795bf5358aa600e6d1a13a4f166d25
Note cleanspec required because of b/38205169 (genrule
doesn't delete output files before building, so when
removing some, they get stale).
Test: power vts test compiles
Change-Id: Ie7ef0fc3d943a75fe898238cf861fb7f99f4146b
Fixes: 35813011
Some branch is complaining:
error: undefined reference to 'android::hardware::power::V1_0::IPower::unlinkToDeath(android::sp<android::hardware::hidl_death_recipient> const&)'
Test: N/A
Test: works on master branch
Change-Id: Ifbd47fd47312e02e25eb326f374c71c7dceb2944
Extend APIs to collect subsystem low power statistics.
Many subsystems (e.g.wifi) could be living on an
independent power island (sourced from VBatt directly)
and might even have their own dedicated XTAL to source
their clocks. Since these SOCs are capable of
autonomously operating (while the platform is in one
of the sleep states), they are still drawing power
from the VBatt. Hence it is critical to understand
the (SOC) level low power statistics as well when
the battery level changes and be able to find any
correlation in event of unexpected battery drain.
Bug: 29339696
Test: VTS
Change-Id: I1b6ea557dbdf1aa06e9560635fcba8d54afabda7
Signed-off-by: Ahmed ElArabawy <arabawy@google.com>
android.hidl.base@1.0 and android.hidl.manager@1.0 are built into libhidltransport.
Test: links
Bug: 33276472
Merged-In: I08aaad80f7e2fc262aa3a8b66fe932e8133a928d
Change-Id: I08aaad80f7e2fc262aa3a8b66fe932e8133a928d
android.hidl.base@1.0 and android.hidl.manager@1.0 are built into libhidltransport.
Test: links
Bug: 33276472
Change-Id: I08aaad80f7e2fc262aa3a8b66fe932e8133a928d
Some working implementations of the libhardware power HAL do not
implement an open method. Change the HIDL implementation to not rely
on that method being available.
Test: Flashed marlin with modified power.marlin that omits an open()
implementation; power HAL loads successfully and passes VTS
Bug: 37245218
Signed-off-by: Connor O'Brien <connoro@google.com>
Change-Id: Icc77b3011a0e44330062aa51ae49e39ad349a2a5
Files relying on transitive include of utils/Log.h (and things that it
includes) from MQDescriptor.h
Test: pass
Merged-In: Iff316b21bef556bb026378b7f89e97ded3febef4
Change-Id: Iff316b21bef556bb026378b7f89e97ded3febef4
Ensure CPU governor list is null-terminated; stop treating newline
char as a governor name; stop leaking file descriptors on failure.
Bug: 35753237
Test: Test runs and passes on marlin and bullhead
Change-Id: I8a6409a50e5daac36770dc577d0628fec8148847
Signed-off-by: Connor O'Brien <connoro@google.com>
Bug: 32022775
Test: Run tests on bullhead and marlin
Change-Id: I4928d5ac951d02152a3f491bff1c28de3f95c16c
Signed-off-by: Connor O'Brien <connoro@google.com>
We need google shims on the vendor partition because they are providing
an implementation of a vendor defined interface. They were written by
google just as a courtesy/to make the transition easier. They're
basically a set for vendors to assemble their hal implementations
from.
Bug: 34135607
Test: marlin persist.hal.binderization on/off
Change-Id: I2e2af5af39264cf290259755bb9b2eb9827a21f5
Java intermediates are now created in the common rather than the device-
specific generated sources subdirectory.
Bug: 33842609
Test: make
Change-Id: I16af4cd19bf0b24baa0ad9ebfdb86b4d959c8672
The getService() and registerAsService() methods of interface objects
now have default parameters of "default" for the service name. HALs
will not have to use any service name unless they want to register
more than one service.
Test: builds; verify HAL still works
Bug: 33844934
Change-Id: I7a5d9e848efabf624299ee81ee42aa046b61c660
Bug: http://b/31532493
The latest clang will trigger an error diagnostic "ordered comparison
between pointer and zero ..." when you do something like "p > 0". This
change replaces the ordered comparisons with proper checks instead.
Test: Validated with latest toolchain.
Change-Id: I4a127fe2551688c8176bdd31210cf7f2f40baeba
This isn't really a power hint and doesn't given the opportunity for the
input system to clean up any on going input streams or input fusion, so
shouldn't be part of the power HAL.
Test: run vts, play with device
Bug: 30143923
Change-Id: I7b63a2f07a7851739d90099af45773acead58548
* Remove test-configure-path as no configure file is available.
Test: run vts -m HalPowerHidlTargetProfilingTest
Change-Id: I49f10b5c82a4e0cef3bb58d16741ca850a79e677
Remove converage from test configs or entire config if not used
to define other test params. Tested each one individually to ensure
coverage still works.
Test: run vts -m (each test affected)
Change-Id: Ic1495a38ae9d1b32e851bc646f9c8e778eee2df1
number_platform_modes variable is from another module (e.g.,
eModule->get_number_of_platform_modes(mModule)) and thus can be
a big number. If a big number is used as the size of new operation,
it can cause an exception as is.
Test: mma
Change-Id: I6cf6027804be980ad39c80a1571b284efabce7e8
* Using update-makefiles.sh to add make rule for profiler in Android.bp
* Remove make rule for profiler in vts/Android.mk.
Bug:31930023
Test: mma
Change-Id: Iea834d8610501c2fce63f65742db31bafb85c0b8
Add missing Android.mk files and the option to test either binderized
or pass-through implementation.
Bug: 32022775
Test: Built and ran tests.
Change-Id: Ie28a53c92b3512c946416e43e8410ca5bef1274f
Signed-off-by: Connor O'Brien <connoro@google.com>
find . -name "*.h" -exec sed -i 's/HIDL_GENERATED_\(.*\)_H_/\U\1_H/g' {}
+
They now match what would be generated by -Lc++-impl. This prevents
confusion over whether or not the files are autogenerated.
Change-Id: I4aa89a39907024aa9525df71ff3715979f431357
Similar commit: https://android-review.googlesource.com/#/c/305996/
Test: pass