Commit graph

15878 commits

Author SHA1 Message Date
David Anderson
0473214d39 Add a default implementation and tests of IBootControl 1.1.
Bug: 138861550
Test: VtsHalBootV1_0TargetTest
      VtsHalBootV1_1TargetTest

Change-Id: I53ea2465612b03435c37c3b4edeaff72c368373b
2019-10-09 17:50:30 -07:00
David Gross
8c0a48bceb Replace sync_enums_to_hal.py with generate_api.{py,sh} and regenerate */types.hal
There are certain pieces of NeuralNetworks.h and of our various *.hal
files that ought to be kept in sync -- most notably the operand type
and operation type definitions and descriptions in our
NeuralNetworks.h and types.hal files.  To avoid having to do this
manually, a tool can be employed.

The old solution to this problem is sync_enums_to_hal.py, which parses
the existing NeuralNetworks.h and types.hal files, and then rewrites
the types.hal files: It identifies the operand type and operation type
portions of the files, and in the types.hal files replaces them with
transformed versions of the portions from NeuralNetworks.h.  This
approach is brittle -- it is very sensitive to the structure of the
files, as was recognized when this tool was created.  Changes to those
files since the script was last updated essentially broke the script,
as noted in http://b/140132458.

The new solution employs a new tool generate_api.py to combine a
single "specification file" with one "template file" per API file
(NeuralNetworks.h or types.hal) to produce that API file.  The script
generate_api.sh invokes generate_api.py once per API file, passing
appropriate arguments.  See frameworks/ml/nn/tools/api/README.md for
more details.

In the process of combining information from NeuralNetworks.h and
*/types.hal, some formatting, syntactic, and semantic changes have
been made to those files.  For example:
- types.hal files no longer refer to API levels or (similarly)
  to HAL versions other than earlier HAL versions

Bug: 130169064
Bug: 140132458

Test: cd neuralnetworks ; mma

Change-Id: Iceb38effc2c7e6c32344e49225b85256144c0945
Merged-In: Iceb38effc2c7e6c32344e49225b85256144c0945
(cherry picked from commit 2cae5c8b01)
2019-10-09 14:18:06 +01:00
Treehugger Robot
9b2431d02a Merge "Refine freeBuffer in Mapper 2.0" 2019-10-08 23:17:06 +00:00
Amy
058e343f8d Adding a Broadcast data flow test with a PES filter
Test: atest
Bug: 135708935
Change-Id: I64166ae5113a7c0bfd834a85c722a860c1d16694
(cherry picked from commit 4bad0f9840)
2019-10-08 13:45:03 -07:00
Amy
e258376b3c Adding the mocking frontend tuning functionality to take specific ts
file as source of a Demux.

Test: atest
Bug: 135709325
Change-Id: I69849db58d68a7496f929940a74a63e7a9e6c6be
(cherry picked from commit 5094ae172d)
2019-10-08 13:43:37 -07:00
Amy
1a26e69e98 Adding filter configuration and pes filter test based on PID test
Test: atest
Bug: 135708935
Change-Id: I61d6dab9124190b05a030f0ea36dcc15c00b7ac3
(cherry picked from commit 22cd1cbf8c)
2019-10-08 13:42:25 -07:00
Amy
c13371c650 Adding a TS filter functionality into the Demux default impl
Test: atest
Bug: 135709325
Change-Id: I149104fd4c7d1ce413036b147365a49973455e72
(cherry picked from commit 42a5b4b87f)
2019-10-08 13:41:51 -07:00
Henry Fang
292d7ecceb Tuner HAL : patch comments and ATSC3
bug: 135708935
Test: Manual
Change-Id: I2ccd19cba6e9a5fa6f9c61ca9a7ef13b7ab834e3
(cherry picked from commit 859ec12b8d)
2019-10-08 13:41:05 -07:00
David Anderson
968c4b53f4 Merge "Introduce IBootControl 1.1." 2019-10-08 19:03:05 +00:00
Treehugger Robot
57487311d5 Merge "light: Allow blank_screen utiltiy to get color from command line" 2019-10-08 01:57:48 +00:00
Treehugger Robot
9d71718e40 Merge "Update contexthub OWNERS" 2019-10-07 23:38:35 +00:00
Dmitry Shmidt
34ed38743e light: Allow blank_screen utiltiy to get color from command line
Bug: 142058809
Test: blank_screen 0xFFFFFFFF

Change-Id: I4efdaaa2397b076e5699a75852bb15bfb1f6c5f8
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2019-10-07 16:33:06 -07:00
David Anderson
e8f1a7fdc8 Introduce IBootControl 1.1.
libsnapshot needs to communicate to the bootloader that a merge is in
progress. This can be used to prevent factory data resets, prevent
flashing or wiping userdata/metadata, and warning when the active slot
changes.

Bug: 138861550
Test: builds
Change-Id: I577877696b5ec6920b9520d518374931ce9ddfaa
Merged-In: I577877696b5ec6920b9520d518374931ce9ddfaa
2019-10-07 12:41:46 -07:00
Yi Kong
69e8325e5d strtoul result shouldn't be narrowed to uint32_t before checking for ULONG_MAX
... otherwise this is always false.

Test: presubmit
Bug: 72331526
Change-Id: Ie1262ebf2eff4143bbef7b9d473c8ac5b7c9ffe4
2019-10-04 12:29:28 -07:00
Treehugger Robot
60d9b98423 Merge "dumpstate example: use new lazy hal mechanism" 2019-10-03 20:00:34 +00:00
Treehugger Robot
998c4cd02f Merge "Fix the name of the constant for device [dis]connect parameter" 2019-10-03 19:44:44 +00:00
Mikhail Naganov
36678b2b16 Fix the name of the constant for device [dis]connect parameter
During the transition to Treble, "device connect" / "disconnect"
parameter was erroneously attributed to audio streams. This
issue got fixed in Audio HAL V4.0, but AudioParameter file
was still using incorrect name for the constant.

Test: make
Change-Id: I18e1e3fccad3d41372f3c5c046af4f6ffd83328b
Merged-In: I18e1e3fccad3d41372f3c5c046af4f6ffd83328b
2019-10-03 09:46:13 -07:00
Alistair Delva
b756e23e5c Merge "Make gralloc0 pass-through mapper handle layers" 2019-10-03 13:02:13 +00:00
Brian Duddie
02de647c06 Update contexthub OWNERS
Test: n/a
Change-Id: I2d23999f1dccf91cfcb21e612740f67f7beb7e58
2019-10-03 01:26:00 +00:00
Steven Moreland
1f4d49f896 dumpstate example: use new lazy hal mechanism
hwservicemanager will now shutdown the service when it is not in use.
This puts less restrictions on clients.

Bug: N/A
Test: build only (this is an example implementation not used on any
    device)

Change-Id: I4641e727f6e4c3ca5d97d53a66b3cc0fee6f12f3
2019-10-02 17:01:40 -07:00
Jim Kaye
86331df20a Merge "Change AP_POWER_STATE_REPORT's access property." 2019-10-02 22:41:37 +00:00
Treehugger Robot
772fb53999 Merge "Add Keymaster VTS tests for some AES cases:" 2019-10-02 07:04:26 +00:00
Treehugger Robot
111a10c44e Merge "Clarify the start and end of scan intervals" 2019-10-01 20:33:25 +00:00
Rob Barnes
fd877b5479 Merge "Added VTS tests for clearing operation slots after service death." 2019-10-01 16:52:49 +00:00
Nathan Harold
3b685a8ac8 Clarify the start and end of scan intervals
Update the documentation of NetworkScanRequest to clarify
that the interval between scans is from the completion of
one scan to the start of another. This is the only possible
definition that doesn't possibly result in back-to-back
scans which never complete.

In the initial design of this API, the stated use case was
for scans where "interval" >> "scan duration". For that
use case, this clarification doesn't make a meaningful
difference; however, for the use case of long-duration
scans, the distinction prevents the issue stated above.

Bug: 139935383
Test: compilation (docstring-only change)
Change-Id: Ib8393110bfd3ea883045648ee7dac9c6e6a32d44
2019-09-30 16:11:22 -07:00
Min Yun
1a87dbca80 Change AP_POWER_STATE_REPORT's access property.
Change AP_POWER_STATE_REPORT's access property from WRITE to READ_WRITE.
In Vehicle environment some hals communicate with external ecu,
so they must know the boot reason.
(Not only on, but DEEP_SLEEPY_EXIT, ON, CANCELD)
To handle this, AOSP provide CarPowerManager, but it use AIDL.
But, in treble, vendor process must communicate with system process via hidl.
So, vendor processes(almost hal), can't use CarPowerManager.
(Beside, CarPowerManager use /dev/binder but vendor process use /dev/vndbinder).
If hals subscribe AP_POWER_STATE_REPORT via vehicle hal,
they can handle the power state.

bug: 140370318

Merged-In: Ic4c7f1d66a4fdee1cfb8b9da42cf76bc7aed5948
Change-Id: Ic4c7f1d66a4fdee1cfb8b9da42cf76bc7aed5948
2019-09-27 21:28:34 +00:00
Jason Macnak
8b5b9fb52c Make gralloc0 pass-through mapper handle layers
Gralloc0 does not support layers. This change is needed for Cuttlefish
to pass the GraphicsMapperHidlTest.ValidateBufferSizeBadValue VTS test

Bug: b/132087346
Test: vts-tradefed run commandAndExit vts -m VtsHalGraphicsMapperV2_1Target
Change-Id: I2ed7dae209629d401ccaf2fc0fd992d766b0fa9b
2019-09-27 09:58:45 -07:00
Colin Cross
c048c187be Merge "Use libcrypto_static instead of libcrypto" 2019-09-26 14:32:33 +00:00
Michael Butler
b287873b73 Merge "Change NNAPI VTS to use TEST_P to iterate across all service instances" 2019-09-25 20:02:20 +00:00
Amy Zhang
6494b4c9a6 Merge changes from topic "frontend"
* changes:
  Playback VTS modulization
  Add DVBC/DVBS/ISDBT/ISDBS/ISDBS3/ATSC3 support default implementation
  Add DVBC/DVBS/ISDBT/ISDBS/ISDBS3/ATSC3 support
2019-09-25 19:56:03 +00:00
Amy
df3746daeb Playback VTS modulization
Test: manual
Bug: 135708935
Change-Id: I07c03223703290196a20b0b3f689637063bac202
(cherry picked from commit fda9224f14)
2019-09-24 18:29:24 -07:00
Amy
b9d0c8b33f Add DVBC/DVBS/ISDBT/ISDBS/ISDBS3/ATSC3 support default implementation
Test: manual
Bug: 135709325
Change-Id: I846c8d1f50ad636e9718cf792a29c8b076246c54
(cherry picked from commit 016b73119c)
2019-09-24 18:28:21 -07:00
Henry Fang
eca50336c3 Add DVBC/DVBS/ISDBT/ISDBS/ISDBS3/ATSC3 support
bug: 135708935
Test: Manual
Change-Id: I667afbe8f4455ba1c70ae3113a2cd6819aa28156
(cherry picked from commit 0d5c8da338)
2019-09-24 18:26:19 -07:00
Max Zhang
59b31c9b90 yukawa: adapt different YCC orders
The order of the planes doesn't matter, therefore enable mapper
adapter to support YCbCr and YCrCb both.

test: manual
bug: 141006723
Change-Id: Iad0d5159c1b38b12bc90a07f937db002471aad1e
2019-09-24 11:38:07 -07:00
Yi Kong
4321dfea63 Ignore format-pedantic compiler warning
This warning was turned off globally but it is only needed for few
projects. Move the flag to the individual project blueprint files.

Test: presubmit
Change-Id: I55163067ac5038f1650ad12300bf72a48f179b8e
2019-09-20 13:25:25 -07:00
Michael Butler
0763328464 Change NNAPI VTS to use TEST_P to iterate across all service instances
This CL removes a dependency on the VTS test runner by dynamically
discovering all NN HAL service instances in the gtest binary itself,
and runs through all service instances with parameterized tests.

This CL converts TEST_F cases to TEST_P cases, where the test parameter
is the name of the service instance. For existing TEST_P cases (such as
the generated test cases), the service instance name is made to be the
first test parameter.

This CL enables the NN VTS tests to be more portable, e.g., they can
run directly as a presubmit test.

Fixes: 124540002
Test: mma
Test: VtsHalNeuralnetworksV1_*TargetTest (with sample-all)
Test: cd $ANDROID_BUILD_TOP/hardware/interfaces/neuralnetworks && atest
Change-Id: I1e301d7c9f9342bb8f35a267bef180f510944b19
Merged-In: I1e301d7c9f9342bb8f35a267bef180f510944b19
(cherry picked from commit 7076f629b7)
2019-09-20 11:20:48 -07:00
Michael Butler
64fdda5def Merge "Specify NNAPI Burst FMQ read/write requirements" 2019-09-20 18:01:51 +00:00
Amy Zhang
297193ceed Merge changes from topic "play"
* changes:
  Tuner HAL Demux Playback interface VTS
  Tuner HAL Demux Playback interface implementation
  Add record and playback to Tuner HAL
2019-09-20 17:29:24 +00:00
Nathan Harold
9f50a49681 Merge "Use IncrementalResults in InvalidPeriodicity" 2019-09-19 21:40:47 +00:00
Michael Butler
b3c8032b12 Specify NNAPI Burst FMQ read/write requirements
This CL additionally adds missing documentation for timing
information when returning results on the resultChannel.

Bug: 133773876
Test: mma
Change-Id: I1eb1affbb4a912d5fdeab012e2be7e7005deb04d
Merged-In: I1eb1affbb4a912d5fdeab012e2be7e7005deb04d
(cherry picked from commit f99bffd08a)
2019-09-19 13:31:01 -07:00
Rob Barnes
8ddc1c700d Add Keymaster VTS tests for some AES cases:
1.  AES operation attempted with unauthorized purpose.
2.  AES-GCM encryption performed with different nonces, should
generate different ciphertexts.
3.  AES-GCM encryption decryption round trip with delays between
begin and update and finish.

Bug: 133258003
Test: VtsHalKeymasterV4_0TargetTest
Change-Id: Ia8b4b4b317ecff51b18e64dfa3b84bf77475812d
2019-09-19 10:03:35 -06:00
Amy
8f08c5fb51 Tuner HAL Demux Playback interface VTS
Test: manual
Bug: 135708935
Change-Id: Ifb93bbd5920f7998d9716a55cba983f8a5ace425
2019-09-18 18:36:43 -07:00
Amy
e223baab13 Tuner HAL Demux Playback interface implementation
Test: manual
Bug: 135709325
Change-Id: I0b673159b667c5bde47e9ed285cfa1bdc6c668c6
2019-09-18 18:36:18 -07:00
Henry Fang
00c63bb59c Add record and playback to Tuner HAL
bug: 135708935
Test: Manual
Change-Id: Ibe8a51be31f455cc15b380748a0810e2706e5c1e
2019-09-18 18:35:52 -07:00
Nathan Harold
0fc724e299 Use IncrementalResults in InvalidPeriodicity
Currently tests that check for incremental scan interval
range-checking have incremental scans disabled.
This CL turns on incremental scans for tests where the
invalid interval range checks are being validated.

Set Incremental Results to true for InvalidPeriodicity
Tests in Radio 1.4. This is a spiritual cherry-pick of
the exact same test copied from HAL 1.2.

Related Change-Id: I94874f538d2df70a72913b489d9298f8d1cf9b56
Related Sha: 81c811b895

Bug: 138317383
Test: atest RadioHidlTest_v1_4#startNetworkScan_InvalidPeriodicity1
Test: atest RadioHidlTest_v1_4#startNetworkScan_InvalidPeriodicity2
Change-Id: I20d6423c01dfc1c708514e798589c36666f2c0d4
2019-09-19 00:07:21 +00:00
Colin Cross
263d2df2c7 Use libcrypto_static instead of libcrypto
Replace libcrypto with libcrypto_static, which can be protected through
visibility to ensure only modules that don't affect FIPS certification
can use it.

Bug: 141248879
Test: m checkbuild
Change-Id: I8685cb06d15f3425eeb96d998ffda54c82dcd387
2019-09-18 11:07:09 -07:00
Ytai Ben-Tsvi
c861055316 HIDL test: update for java bitfields in lists
Bug: 141187928
Test: HIDL's run_all_host_tests.sh

Change-Id: Ib282ed03b85c798b724ed4c44ac2d59ea8dbf420
2019-09-17 14:25:35 -07:00
Eric Chung
a15f697353 Refine freeBuffer in Mapper 2.0
When users call Mapper:freeBuffer, Mapper will erase buffer handle from mBufferHandles.
No matter the result of free buffer handle returned from gralloc, buffer handle is removed from mBufferHandles.
This means that a buffer handle can not be freed twice, even if it fail to be freed at the first time.
Because users will receive nullptr when they call freeBuffer to free the same bufferHandle at the second time.

When freeBuffer is called, Mapper only looks for input buffer in mBufferHandles instead of erasing it from mBufferHandles.
If the result of freeBuffer returned by gralloc is NONE, then remove the buffer handle from mBufferHandles.

Test: Manual
Bug: 141145482

Change-Id: I4e27f54eb219f23a5844d6b440d7160b296c31e2
2019-09-17 01:12:06 +00:00
David Gross
29d90d1455 "successful preparation means successful execution" guarantee neglects bad operation inputs
Under certain circumstances, we guarantee that a prepared model can be
executed successfully.  In describing those circumstances, we
neglected to specify that operation input operands must have legal
values for the guarantee to hold.  For example, the guarantee doesn't
hold if an ADD operation has an activation input that is not one of
the defined values; or if a RESHAPE operation has a shape input in
which two or more components are -1.

This change modifies the guarantee to apply only when operation input
operands have legal values.  It also documents this guarantee for
burst execution.

Note that if an operation has an input operand that can be proven to
have an illegal value at preparation time (e.g., a constant value that
is illegal), model preparation might (but is not required to) fail for
that reason.

Bug: 135933040

Test: $ cd neuralnetworks ; mma
Change-Id: I8b421550dd89e4bbbdae899e7cb5e9e88a46d2fb
(cherry picked from commit 48544cc38a)
2019-09-12 14:27:35 -07:00
Michael Butler
71cb010ba3 Merge "Consolidate NNAPI VTS utility code" 2019-09-11 19:03:06 +00:00