Commit Graph

11933 Commits

Author SHA1 Message Date
Xusong Wang
d22c5232f3 Test dynamic output shape in GeneratedTests.
Enable VTS unit test for dynamic output shape deduction.

Only test dynamic output shape for V1_2::IDevice with V1_2::Model.

Bug: 73506513
Test: VtsHalNeuralnetworksV1_xTargetTest with 1.2 sample driver
Change-Id: I4134e1ec54a15554eb8533134897279651b57da3
Merged-In: I4134e1ec54a15554eb8533134897279651b57da3
(cherry picked from commit a316581b21)
2019-01-24 19:11:36 -08:00
David Gross
55a3d328b7 Update neuralnetworks HAL to allow collecting execution duration.
Test: VtsHalNeuralnetworksV1_0TargetTest --hal_service_instance=android.hardware.neuralnetworks@1.0::IDevice/sample-all
Test: VtsHalNeuralnetworksV1_1TargetTest --hal_service_instance=android.hardware.neuralnetworks@1.1::IDevice/sample-all
Test: VtsHalNeuralnetworksV1_2TargetTest --hal_service_instance=android.hardware.neuralnetworks@1.2::IDevice/sample-all

Bug: 115390094

Change-Id: If67a5ffe39cfdd78498e01f26251734fdc8e66c7
Merged-In: If67a5ffe39cfdd78498e01f26251734fdc8e66c7
(cherry picked from commit e301349b05)
2019-01-24 16:07:03 -08:00
Xusong Wang
5d67a0bf05 Clean and reorder operation enums.
Four operation enums are removed:
- DETECTION_OUTPUT
- PRIOR_BOX
- SPARSE_TO_DENSE
- EMBEDDING_LOOKUP_SPARSE

Operation enums are reorder into alphabetic order.

Bug: 123253865
Bug: 122744669
Test: NeuralNetworksTest_static
Change-Id: Ie5d2bff6fac061bdca0a99e5b8c8ac05733fac4b
Merged-In: Ie5d2bff6fac061bdca0a99e5b8c8ac05733fac4b
(cherry picked from commit 28a33a9cb1)
2019-01-24 16:05:33 -08:00
Lev Proleev
2d98264026 mutateOperationOperandTypeSkip for new TRANSPOSE_CONV_2D variant
Bug: 119255406
Test: Vts NNAPI tests.
Change-Id: I63f7fc67cedcc2a9db8c359ff96be3c9403b9a20
Merged-In: I63f7fc67cedcc2a9db8c359ff96be3c9403b9a20
(cherry picked from commit 1509a2664c)
2019-01-24 16:05:08 -08:00
Xusong Wang
b50bc313d7 Add 1.2 NN HAL interface for dynamic output shape.
Let notify_1_2() notify output shapes.

Document unspecified dimensions and rank.

Bug: 73506513
Bug: 77234888
Test: NeuralNetworksTest_static
Test: VtsHalNeuralnetworksV1_xTargetTest with 1.2 sample driver
Change-Id: I01108913212d9f4aa47daf2f293ea19259925865
Merged-In: I01108913212d9f4aa47daf2f293ea19259925865
(cherry picked from commit 187c59715c)
2019-01-24 14:19:00 -08:00
Xusong Wang
1cc4ee8516 Modify operation enum.
Remove ROTATED_BBOX_TRANSFORM since it is no longer needed.
Add DETECTION_POSTPROCESS for SSD NMS postprocessing op.

Bug: 120983926
Test: NeuralNetworksTest_static
Change-Id: Id6b1021c8707734499feddddf0aac24a3fff90f8
Merged-In: Id6b1021c8707734499feddddf0aac24a3fff90f8
(cherry picked from commit 1f59bc3b24)
2019-01-24 14:16:56 -08:00
Miao Wang
e586a23815 Update NNAPI VTS test makefile after adding AHardwareBuffer support
Test: mm
Test: VTS
Change-Id: Ib98c08ce5cbbcd46f66ade80af28569f9cb14449
Merged-In: Ib98c08ce5cbbcd46f66ade80af28569f9cb14449
(cherry picked from commit 276b55b900)
2019-01-24 14:04:39 -08:00
Michael Butler
a06e261af9 NNAPI Burst -- HAL interface
FastMessageQueue is a Treble-compliant data structure that enables fast
communication between two processes. The FMQ object itself is an atomic
circular buffer that is optionally synchronized with a futex. However,
FMQ has no notion of ownership or lifetime across processes, so it must
be paired with higher-level constructs to manage the lifetime and
ownership.

The NNAPI is introducing the notion of an "Execution Burst" object (or
more simply a "Burst" object), which is similar to an
ANeuralNetworksExecution, but is intended to be reused across multiple
executions and has lower IPC overheads. It achieves this low IPC
overhead by replacing HIDL HwBinder calls with FMQ messages.
Specifically, it replaces IPreparedModel::executeSynchronously's call
from the client into the service with fmq_sync<FmqRequestDatum> (an FMQ
channel used to pass a serialized Request object) and it replaces
the return from the service into the client with
fmq_sync<FmqResultDatum> (an FMQ channel used to return serialized
result status and OutputShapes information).

Each channel is a unidirectional flow of information with exactly one
producer and exactly one consumer. The channels are created by the NN
runtime and passed to the service via
IPreparedModel::configureExecutionBurst.

This CL defines the FmqRequestDatum and FmqResultDatum types in
types.hal. IBurstContext.hal defines IBurstContext, a HIDL object used
by the service to manage the resources of a Burst. IBurstCallback.hal
defines IBurstCallback, a HIDL callback object that can be used to
retrieve the handle to a resource the service has either not yet seen or
has evicted from its cache. Finally, IPreparedModel.hal is extended with
IPreparedModel::configureExecutionBurst to create the burst object.

Bug: 119570067
Test: mma
Change-Id: I333da70201531b1396efc714d096c277e8e1d47b
Merged-In: I333da70201531b1396efc714d096c277e8e1d47b
(cherry picked from commit 7e91e24fe1)
2019-01-24 14:04:35 -08:00
Lev Proleev
b35eb1eabc mutateOperationOperandTypeSkip for new GROUPED_CONV_2D variant
Bug: 119255406
Test: Vts NNAPI tests.
Change-Id: I234727f5abba546c1392f7096b7d411d36566bbf
Merged-In: I234727f5abba546c1392f7096b7d411d36566bbf
(cherry picked from commit b0762ccb2f)
2019-01-24 14:04:01 -08:00
Miao Wang
7176fe7a63 Add HAL entry to allow querying the device type
Bug: 111425781
Bug: 112661050
Test: mm
Test: NeuralNetworksTest_static
Change-Id: Iced35c24eb2905c10fbf86d55319fdb5c7488703
Merged-In: Iced35c24eb2905c10fbf86d55319fdb5c7488703
(cherry picked from commit e3b93534c0)
2019-01-24 14:03:59 -08:00
Ajay Panicker
7c2fd0b19a Merge "Add getCodecCapabilities as a supported function." 2019-01-24 21:32:24 +00:00
Peter Kalauskas
9f66559fd7 Merge "Add lazy service target to the light HAL" 2019-01-24 15:11:02 +00:00
Pierre Lee
085c990b30 [automerger skipped] The test failed when one of the three cameras was configured with a maximum android.scaler.availableStreamConfiguration size of 1600*1200
am: 6f6fe9a5e2 -s ours
am skip reason: change_id Ia4845d43871730e14b5ba1411ce72f8c4bb69042 with SHA1 f234e45b20 is in history

Change-Id: I0f59c7c14f2470b923ff4c6740ff93da23338841
2019-01-23 21:37:12 -08:00
Ajay Panicker
5f0e90ece7 Add getCodecCapabilities as a supported function.
Add the ability to get a list of supported codecs and their capabilites
through the HIDL interface.

Bug: 111519504
Test: Compile
Change-Id: I61dff240a98d59cb99b526d8988d0d0245140ee4
2019-01-23 15:33:59 -08:00
Peter Kalauskas
45c1dd8160 Add lazy service target to the light HAL
This change allows a device to include the lazy service implementation,
which will allow the HAL to exit when it is not in use.

Test: Manually observe brightness slider behavior
Change-Id: I7f8f747ebe6e183e1aaf1406852e6e26a97aee35
2019-01-23 15:29:05 -08:00
Paul Hu
db4cc673f5 Merge "Refine error causes to make them more clear" 2019-01-23 01:25:02 +00:00
Socrates Li
9ada649246 Camera: Document 3.4 metadata selection logic.
Bug: 119575429
Test: Ensure everything still builds.
Change-Id: I6500ab06b8c392310009ecfa0570000742fd069c
Merged-In: I6500ab06b8c392310009ecfa0570000742fd069c
(cherry picked from commit a5cbabbee9)
2019-01-22 13:46:57 -08:00
Treehugger Robot
5acbc036b0 Merge "Add getModemEnabled HAL API" 2019-01-22 21:29:24 +00:00
Nazanin Bakhshi
da4e793b56 Add getModemEnabled HAL API
Bug: 121020566
Test: vts
Change-Id: I1ac193dd144b840e4f3e3a397c0c93327ac00186
Merged-In: I1ac193dd144b840e4f3e3a397c0c93327ac00186
2019-01-22 20:51:33 +00:00
Youming Ye
7224c5dc1c Clean up error codes and add error description for IRadioResponse 1.4.
Clean up some unneeded/confusing error codes in the 1.4 Radio HAL.
Quoting description from aosp/616923:

-Remove SYSTEM_ERROR. This is an ultra-generic error
 that also provides no meaningful distinction from
 INTERNAL_ERROR but is even less specified in scope.

-Remove NO_MEMORY. This is very implementation
 specific, and should be essentially impossible to
 hit in the generic sense. Today we don't have a
 generic EBUSY error code, which this would map to.
 Since it should be essentially impossible to hit,
 the preference is to assert that it shouldn't be.
 If an implementation really has memory pressure
 then it can return INTERNAL_ERROR, of which this
 is a class. INTERNAL_ERROR will be treated as a
 temporary failure anyway, making NO_MEMORY a
 distinction without a difference.

-Remove CANCELLED. We have no way to cancel an API
 call. If a persistent/ongoing request is cancelled
 by the caller using a separate API request, then
 that's a success case rather than an error case.

Bug: 73174777
Change-Id: I5bf268f86ed52e7294f7127f24beba04c9159fea
Test: Compilation
2019-01-22 17:49:40 +00:00
Pierre Lee
6f6fe9a5e2 The test failed when one of the three cameras was configured with a maximum android.scaler.availableStreamConfiguration size of 1600*1200
VTS gets the name of all the cameras in the machine and check each camera, When traversal to the configuration reference of 1600*1200 camera, the outputPreviewStreams variable does not clear, save the value of the Previous camera
The outputPreviewStreams variable needs to be cleared when check next camera

Bug: 122806546
Test: ConfigureStreamsWithSessionParameters can pass when one of the three cameras was configured with a maximum android.scaler.availableStreamConfiguration size of 1600*1200
Change-Id: Ia4845d43871730e14b5ba1411ce72f8c4bb69042
Merged-In: Ia4845d43871730e14b5ba1411ce72f8c4bb69042
2019-01-22 04:13:52 +00:00
Treehugger Robot
ac6175ee79 Merge "The test failed when one of the three cameras was configured with a maximum android.scaler.availableStreamConfiguration size of 1600*1200" 2019-01-22 04:12:43 +00:00
Tor Norbye
0074475ccf Update signature files to the new format
The new format is described in tools/metalava/FORMAT.md.

Fixes: 116589402 Switch signature files over to the v2 format
Fixes: 112626813 Drop "synchronized" modifier from the signature format
Fixes: 122358225 Omit overriding methods that only differ in final [...]
Fixes: 73088715 API Review: Need doclava to output nullability
Fixes: 79739773 API Review: Metalava enforcing constants are constant
Exempt-From-Owner-Approval: Large-scale tooling change
Test: make sdk, make update-api, make checkapi
Change-Id: I767f9fb2941789615c9513072a381e79a5654373
Merged-In: I2943d9a65c24e7ca8fb9ae9b69f7edf06173f467
2019-01-18 22:08:52 -08:00
paulhu
14e4d76502 Refine error causes to make them more clear
Many of error causes reason are using very esoteric
abbreviations and acronyms. Refine description for making more
clear to the developer.

Bug: 113505704
Test: Build pass and data call can setup normally.
Change-Id: Ifb9c256eef8354add46c76c322cd6a3bd126bd44
2019-01-19 03:17:35 +00:00
Michele Berionne
f6dbeefbc3 Merge "Carrier restriction enhancements for Android Q" 2019-01-19 00:13:57 +00:00
Benjamin Schwartz
bc93126d60 Merge "power.stats: Add more informative default implementation" 2019-01-18 23:48:18 +00:00
Michele Berionne
ef9ab4a065 Carrier restriction enhancements for Android Q
Add support for dual SIM to carrier restrictions.
Add support to exclude specific carriers in the list of carrier
restrictions.

Bug: 120313541
Test: Created test application to verify correct functionality.
Change-Id: Ib05267fda5f2fd0b8821a5812fcf47d460e60a2b
Merged-In: Ib05267fda5f2fd0b8821a5812fcf47d460e60a2b
2019-01-18 22:37:21 +00:00
Nazanin Bakhshi
dd7937b705 Add HAL API for enabling DSDS
setModemsConfig and getModemsConfig APIs will allow the framework
to set the number of live modems to switch to single/multi sim state

Bug: 122073700
Test: vts
Change-Id: Ib200ffa5f2aebe21caf2b761407c79828730e6f1
Merged-In: Ib200ffa5f2aebe21caf2b761407c79828730e6f1
2019-01-18 18:42:35 +00:00
Pierre Lee
f234e45b20 The test failed when one of the three cameras was configured with a maximum android.scaler.availableStreamConfiguration size of 1600*1200
VTS gets the name of all the cameras in the machine and check each camera, When traversal to the configuration reference of 1600*1200 camera, the outputPreviewStreams variable does not clear, save the value of the Previous camera
The outputPreviewStreams variable needs to be cleared when check next camera

Bug: 122806546
Test: ConfigureStreamsWithSessionParameters can pass when one of the three cameras was configured with a maximum android.scaler.availableStreamConfiguration size of 1600*1200
Change-Id: Ia4845d43871730e14b5ba1411ce72f8c4bb69042
2019-01-18 11:12:37 +08:00
Treehugger Robot
312dce0ec0 Merge "Add startNetworkScan 1.4 API." 2019-01-18 00:15:52 +00:00
Treehugger Robot
9a9b8e2bd8 Merge "dump_hals_for_release: account for numbers in file name" 2019-01-18 00:12:20 +00:00
Youming Ye
9f94a1532f Add startNetworkScan 1.4 API.
add APIs startNetworkScan_1_4 and startNetworkScanResponse_1_4,
disallowing error codes OPERATION_NOT_ALLOWED and
REQUEST_NOT_SUPPORTED for network scan.

Test: Compilation
Bug: 73784494
Change-Id: If42e61fb30c4b482d4552f04f1934bd3c8d1a525
Merged-In: If42e61fb30c4b482d4552f04f1934bd3c8d1a525
2019-01-17 21:41:58 +00:00
Yifan Hong
089322e515 dump_hals_for_release: account for numbers in file name
It did not recognize ISupplicantP2pIface.hal and media.c2 package.
Test: run it, check ISupplicantP2pIface and media.c2
Bug: 121546794

Change-Id: Ib386608f407a961c7a041c20cbf92c305f27cc5c
2019-01-17 13:40:05 -08:00
Treehugger Robot
2f6a9949a7 Merge "mutateOperationOperandTypeSkip for new DEPTHWISE_CONV_2D variant." 2019-01-17 19:52:50 +00:00
sqian
6142408071 Add Emergency Call Routing in HAL
Some countries or carriers require some emergency numbers that must
be handled with normal call routing or emergency routing.

In multi-sim senario, this radio request will be sent through the IRadio
service that serves the subscription the emergency number belongs to,
no matter of the PUK/PIN state of the subscription and the service state.

Test: Treehugger
Bug: 112657134
Change-Id: Iaa9768226dc2d7d2d66a9678823ba7d0047a1988
Merged-In: Iaa9768226dc2d7d2d66a9678823ba7d0047a1988
(cherry picked from commit dd49ad675e)
2019-01-17 00:31:23 +00:00
Pengquan Meng
5a71637a04 Merge "Add ConnectionStatus to CellInfo v1_4" 2019-01-16 23:48:41 +00:00
Benjamin Schwartz
a51d9b91ee power.stats: Add more informative default implementation
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
2019-01-16 11:33:51 -08:00
Pengquan Meng
1355303547 Add ConnectionStatus to CellInfo v1_4
Bug: 117805040
Test: build
Change-Id: Ic0343671000c320ec8f62f84bcefc18c84ee323a
2019-01-15 13:48:14 -08:00
Treehugger Robot
94acf41dcc Merge "Camera: Clarify the FMQ read order for request/result" 2019-01-15 21:46:58 +00:00
Steven Moreland
c696782032 Merge "clang-format: ContinuationIndentWidth: 8" 2019-01-15 00:47:12 +00:00
Treehugger Robot
27a3c84ebd Merge "Bluetooth Audio HAL interface v2" 2019-01-15 00:35:25 +00:00
Shuzhen Wang
eaab6169b1 Camera: Clarify the FMQ read order for request/result
If there are more than one metadata entities being passed
via FMQ, specify the framework read order.

Test: Build
Bug: 119575429
Change-Id: Ia34ac69ce670b1ebeda12d92af490c347f33c15b
Merged-In: Ia34ac69ce670b1ebeda12d92af490c347f33c15b
2019-01-14 16:29:25 -08:00
Steven Moreland
0169ce4e36 clang-format: ContinuationIndentWidth: 8
More normal, matches system/core.

Bug: 122835115
Test: manual
Change-Id: I41d92756ce9ddfa27b24215f5e92017756a82a25
2019-01-14 10:46:41 -08:00
Yin-Chia Yeh
dbb2211d32 Merge "Camera: fill in bufferSize correctly" into pie-vts-dev
am: d04f64ef24

Change-Id: I33583bbfda0b8f1a480df6a2fe7c88bdf504d493
2019-01-14 04:06:37 -08:00
Treehugger Robot
d04f64ef24 Merge "Camera: fill in bufferSize correctly" into pie-vts-dev 2019-01-14 11:53:27 +00:00
Yin-Chia Yeh
9d4ff706e1 Camera: fill in bufferSize correctly
Test: partner testing
Bug: 118724188
Change-Id: If21762467e6458f923d7f9b7eeef41d987c196a1
2019-01-14 10:54:11 +00:00
Pavlin Radoslavov
1ea96a3802 Bluetooth Audio HAL interface v2
Generalized Bluetooth Audio HAL interface.
It is similar to the original android.hardware.bluetooth.a2dp@1.0
interface with the following modifications:

* The session type can be one of the following:
  - A2DP Software Encoding Datapath
  - A2DP Hardware Encoding Datapath
  - Hearing Aid Software Encoding Datapath
* For Hardware Offload Datapath (A2DP), the HAL interface is used only
  for the control path
* For Software Encoding Datapath (A2DP or Hearing Aid), the HAL
  interface is used for both the control and data paths
* Added Delay Report support: IBluetoothAudioHost.getPresentationPosition()
  that was missing in the original android.hardware.bluetooth.a2dp@1.0
  HAL interface.
* Removed "oneway" calls to avoid potential reordering of HAL calls:
  b/111244402
* Updated SBC-specific codec configuration
* Added AAC-specific and LDAC-specific codec configuration
* Reorganized the original CodecConfiguration into two sections:
  - PcmDataConfiguration: Audio PCM data configuration
  - EncodedDataConfiguration: Encoded audio data codec configuration.
    It is used only if the HAL is responsible for encoding the PCM audio
    data.
* Added new HAL IBluetoothAudioProvidersFactory.
  It is used to open an audio provider for an audio session as specified by
  the session type and the codec configuration as negotiated with the
  remote device.

Bug: 111519504
Test: manual
Change-Id: I2ee4cf50b177baee077cf0b5143dbeadda57c8fb
Merged-In: I2ee4cf50b177baee077cf0b5143dbeadda57c8fb
(cherry picked from commit fcc0732db4)
2019-01-14 03:55:18 +08:00
Dan Albert
a6a529236e Fix comparator operator() definition.
Comparators should be const. The libc++ update checks for this and
rejects non-const comparators.

Test: m
Bug: None
Change-Id: If2f76c020943b5bcb55803f0742990c9965afd6e
2019-01-11 14:48:55 -08:00
Nathan Harold
15213e4175 Merge "Require IRadio 1.4 for Devices Launching Q" 2019-01-11 20:12:01 +00:00
Nathan Harold
0bc890da0c Require IRadio 1.4 for Devices Launching Q
In order to continue providing the best Telephony
experience possible, Android devices that ship
with Q should implement the IRadio 1.4 HAL.

Likewise, new devices should ship with IRadioConfig
version 1.2.

Bug: 112764647
Test: compilation; boots with Pixel 2
Change-Id: I7ce1a7e81dc54d6e4e13b4bdaad8228465bf1570
2019-01-11 00:36:50 +00:00