Commit Graph

8302 Commits

Author SHA1 Message Date
Tomasz Wasilczyk
06100b39db Implement broadcast radio HAL 2.0 default implementation.
Also, split internal common utils library to 1.x and 2.x.

Test: VTS
Bug: 69958777
Change-Id: I21244c74270a07cc350e8a2b974dafcdae02a0e8
2017-12-12 10:22:11 -08:00
TreeHugger Robot
5bbf35ffef Merge "camera.metadata@3.2: Auto-generate metadata enums" 2017-12-09 00:10:35 +00:00
Tomasz Wasilczyk
4f37a08bfb Merge "Define broadcast radio HAL 2.0." 2017-12-08 22:06:22 +00:00
Steven Moreland
4379c03560 Merge "Revert "Remove conditional vndbinder usage in CAS."" 2017-12-08 19:35:31 +00:00
Steven Moreland
e9fb979b1e Revert "Remove conditional vndbinder usage in CAS."
This reverts commit 5884a6f0f3.
Bug: 70393284

Reason for revert: Fugu doesn't have vndbinder yet.
Exempt-from-owner-approval: Device doesn't boot.

Change-Id: Ib23691c102fd8aca63a4a6755eb7fd1f9e852a4d
2017-12-08 19:34:26 +00:00
Stephen Li
7cdfa0441e Manually merge changes from giant AOSP topic
Change-Id: Ieeb510eef4932dd38218c8e4f14cfeabc9436339
2017-12-07 23:28:06 +00:00
Xin Li
9ffbd54511 DO NOT MERGE: Merge Oreo MR1 into master am: 7c9d4b1384 -s ours
am: 63c9be2736

Change-Id: I3d6f8e8d1659d5af367a65623afdd52e4f68a64f
2017-12-07 06:45:39 +00:00
Kevin Rocard
30944c7a73 Merge changes from topic "b/69811500" into oc-dev am: 61ae0a1fc7 am: d7d5d7a22d am: abec925f05
am: d7042bba2b

Change-Id: I7265aa584b13ddc16e690b94f1976f6aaf5b91fa
2017-12-07 05:54:12 +00:00
Kevin Rocard
27dfaa0941 Audio policy config: remove cross-module device port name uniqueness am: 503c3e0a4e am: c5ce355c24 am: e8e9cdcf5e
am: a0e6bbe78b

Change-Id: I7291fcf545bea544cafb81c47339de78ae9518db
2017-12-07 05:53:16 +00:00
Kevin Rocard
c66afe5dad Audio policy config: Device port (type,address) must be unique am: fa1f597442 am: d4112727b7 am: 7c7fc0c69a
am: ead5a3bed3

Change-Id: Ia7edf22a48118eb062f83ba355b948a8e5c4ab5b
2017-12-07 05:53:05 +00:00
Kevin Rocard
db6cdc5282 Audio policy config: allow vendor to extend module name am: 7558e8c6e4 am: ec55b2f024 am: 540748bc80
am: c8ef2e0e44

Change-Id: Iaceb3864f283f22e85c5f4332256b43ed709f82f
2017-12-07 05:52:55 +00:00
Xin Li
63c9be2736 DO NOT MERGE: Merge Oreo MR1 into master
am: 7c9d4b1384  -s ours

Change-Id: Ib2d9175c76ba02d8f0699cbcf58a927ce6837825
2017-12-07 04:17:54 +00:00
Xin Li
7c9d4b1384 DO NOT MERGE: Merge Oreo MR1 into master
Exempt-From-Owner-Approval: Changes already landed internally
Change-Id: I8318c8bcc6ce5e750326b3315710c96a37838f22
2017-12-06 14:24:51 -08:00
Kevin Rocard
d7042bba2b Merge changes from topic "b/69811500" into oc-dev am: 61ae0a1fc7 am: d7d5d7a22d
am: abec925f05

Change-Id: If1f7ce2a3bf45bfa5b147fe8f21eac21b5516f0b
2017-12-06 20:33:38 +00:00
Kevin Rocard
abec925f05 Merge changes from topic "b/69811500" into oc-dev am: 61ae0a1fc7
am: d7d5d7a22d

Change-Id: Id4c64ec8339a7a4112b482a3cef33095c3dabc79
2017-12-06 20:31:08 +00:00
Kevin Rocard
d7d5d7a22d Merge changes from topic "b/69811500" into oc-dev
am: 61ae0a1fc7

Change-Id: I8d3e90d9695330b87f8e93dff84b752ec18e5254
2017-12-06 20:28:07 +00:00
TreeHugger Robot
61ae0a1fc7 Merge changes from topic "b/69811500" into oc-dev
* changes:
  Audio HAL: Allow setters to not be implemented
  Audio VTS: HAL can support more than the native sampling rates
2017-12-06 20:18:12 +00:00
Kevin Rocard
a0e6bbe78b Audio policy config: remove cross-module device port name uniqueness am: 503c3e0a4e am: c5ce355c24
am: e8e9cdcf5e

Change-Id: Ieec5791e1864d87ea26a1743f4543d0ff07c2825
2017-12-06 19:51:18 +00:00
Kevin Rocard
ead5a3bed3 Audio policy config: Device port (type,address) must be unique am: fa1f597442 am: d4112727b7
am: 7c7fc0c69a

Change-Id: I669ff1e8e32b7e539d33d8f1a05ee06962836e60
2017-12-06 19:51:05 +00:00
Kevin Rocard
c8ef2e0e44 Audio policy config: allow vendor to extend module name am: 7558e8c6e4 am: ec55b2f024
am: 540748bc80

Change-Id: I7f0627e930fc7a8fe13ac13f708d0972c5747b23
2017-12-06 19:50:51 +00:00
Kevin Rocard
e8e9cdcf5e Audio policy config: remove cross-module device port name uniqueness am: 503c3e0a4e
am: c5ce355c24

Change-Id: I1e9225d0acd5515890fec9bc259b39f26b3c8e5e
2017-12-06 19:36:16 +00:00
Kevin Rocard
7c7fc0c69a Audio policy config: Device port (type,address) must be unique am: fa1f597442
am: d4112727b7

Change-Id: I4d24d58034d3a39fee66308b44620c956ad5c345
2017-12-06 19:36:08 +00:00
Kevin Rocard
540748bc80 Audio policy config: allow vendor to extend module name am: 7558e8c6e4
am: ec55b2f024

Change-Id: Ic7c5de5e7c215c43f2ea044a38bbf52ee71984ca
2017-12-06 19:36:03 +00:00
Kevin Rocard
c5ce355c24 Audio policy config: remove cross-module device port name uniqueness
am: 503c3e0a4e

Change-Id: Ibeef7dd1ad8db4a55b9e323c07d3a499289f7d73
2017-12-06 19:30:49 +00:00
Kevin Rocard
d4112727b7 Audio policy config: Device port (type,address) must be unique
am: fa1f597442

Change-Id: I03176086075fb2c2911edf3a470b0319cb8648b6
2017-12-06 19:30:44 +00:00
Kevin Rocard
ec55b2f024 Audio policy config: allow vendor to extend module name
am: 7558e8c6e4

Change-Id: I2acafb47c986e5886b0bacc0bb6c6419feae69e5
2017-12-06 19:30:34 +00:00
TreeHugger Robot
a63de98943 Merge changes I336c21fd,I9bd9c2a9,I33fef133
* changes:
  wifi(implementation): Fix formatting
  wifi(implementation): Dual interface support
  wifi(implementation): Use real iface names
2017-12-06 14:25:41 +00:00
Wei Wang
6fed84a35d Merge "power hal: Add power HAL API 1.2" 2017-12-06 00:13:17 +00:00
Kevin Rocard
3bcba14c36 Audio HAL: Allow setters to not be implemented
setSampleRate, setChannelMask, setFormat
may not be implemented by the HAL, although this is not documented in
the HAL API.
Currently the VTS test requires their implementation if the respective
getSupported{SampleRate,ChannelMask,Format} are supported.

Relax this requirement as the framework never calls those setters.

Note that the optionality of those functions will be documented
in the next HAL API version.

Test: vts-tradefed run commandAndExit vts --module VtsHalAudioV2_0Target -t CheckConfig.audioPolicyConfigurationValidation
Bug: 69811500
Change-Id: I3a390ae925cabd99e7f1ed4a627e71ad87b1b437
Signed-off-by: Kevin Rocard <krocard@google.com>
2017-12-05 15:42:10 -08:00
Kevin Rocard
02025847de Audio VTS: HAL can support more than the native sampling rates
getSupportedSampleRate should return the native sampling rates,
(IE. the sampling rates that can be played without resampling)
but other sampling rates can be supported by the HAL.

The test was too strict as it was failing if HALs were supporting more
sample rates than there native (optimized) ones.

For example, a HAL might have its best performance (no resampling)
on 48kHz but still support 16kHz through resampling.

Note: getSupportedSampleRate might be renamed to getNativeSampleRate in
the next major HAL revision to avoid ambiguity.

Test: vts-tradefed run commandAndExit vts --module VtsHalAudioV2_0Target -t CheckConfig.audioPolicyConfigurationValidation
Bug: 69811500
Change-Id: I1ec1ce422bc5039637463c6641060508f4ee892b
Signed-off-by: Kevin Rocard <krocard@google.com>
2017-12-05 15:14:17 -08:00
Tomasz Wasilczyk
6e0e1ae2a9 Define broadcast radio HAL 2.0.
The new HAL is a cleanup of 1.x branch of the legacy burden:
 * structure flattened (multi-level factory removed);
 * only one hardware tuner per HAL instance, only one session;
 * front-end app doesn't control region settings anymore;
 * metadata limited to int and string values;
 * removed deprecated methods;
 * result codes redefined.

It also fixes minor mistakes made with HAL 1.1:
 * ProgramSelector simplified;
 * there is no need to control background scan.

There are three features missing compared to the HAL 1.1, as they
are in development with the new design (see design docs attached):
 * Announcements - b/68045105
 * Program list - b/69860743
 * Region handling - b/69958423

Test: VTS
Bug: b/69958777
Change-Id: I0ad83f25630c1250d73dc3941144d345339fbde0
2017-12-05 14:10:04 -08:00
Eino-Ville Talvala
cc08739452 camera.metadata@3.2: Auto-generate metadata enums
Replace hand-written types.hal with one autogenerated from the
metadata definitions, like the SDK, NDK, and camera_metadata C library
definitions are.

No changes to actual definitions; only formatting changes and basic
documentation of each entry are added.

Add the new hash of camera.metadata@3.2::types to current.txt.

Bug: 33262893
Test: Manual inspection of new vs. old types.hal, builds, hidl-doc output
   is acceptable
Change-Id: Idd8c228359e45de3609bc16ac19e878b0ed0a557
2017-12-05 12:27:52 -08:00
Zhuoyao Zhang
cc0933aa45 Merge "Convert boot, memtrack and power hal to use service name aware testing." am: b9515d9d3f am: a713584847
am: 6ab5305323

Change-Id: I0f8598253e34b08e73b8b65ff7fe91d937d5d8ad
2017-12-05 01:16:53 +00:00
Zhuoyao Zhang
6ab5305323 Merge "Convert boot, memtrack and power hal to use service name aware testing." am: b9515d9d3f
am: a713584847

Change-Id: I204a3492a5c61c95b11934688f6a32a8c9f83e1d
2017-12-05 00:39:39 +00:00
Zhuoyao Zhang
a713584847 Merge "Convert boot, memtrack and power hal to use service name aware testing."
am: b9515d9d3f

Change-Id: Ie93e66d9b829ac420ba22cf0391b48c156755c77
2017-12-05 00:11:18 +00:00
Zhuoyao Zhang
b9515d9d3f Merge "Convert boot, memtrack and power hal to use service name aware testing." 2017-12-04 23:12:04 +00:00
Kevin Rocard
503c3e0a4e Audio policy config: remove cross-module device port name uniqueness
This constraint was added due to an incorrect assumption
that device ports were identified by names whereas
they are by the (module,type,address) triplet.

Bug: 69442986
Test: xmllint validates an XML with two identically named devices in
      different modules.
Test: vts-tradefed run commandAndExit vts --module VtsHalAudioV2_0Target -t CheckConfig.audioPolicyConfigurationValidation
Change-Id: I66d890d3c967bead4f2a287202c259009217996a
Signed-off-by: Kevin Rocard <krocard@google.com>
2017-12-04 14:29:19 -08:00
Kevin Rocard
fa1f597442 Audio policy config: Device port (type,address) must be unique
Device port are not identified by names but by their type and address
and the module they are in.

As a result, enforce this constraint in the XSD. Violating it results in
a policy parsing crash.

Bug: 69442986
Test: xmllint invalidates an XML with two devices of the same type
      and address
Test: vts-tradefed run commandAndExit vts --module VtsHalAudioV2_0Target -t CheckConfig.audioPolicyConfigurationValidation
Change-Id: I84245f0fa80fef786a002c98073c166b6aaf2be4
Signed-off-by: Kevin Rocard <krocard@google.com>
2017-12-04 14:29:14 -08:00
Kevin Rocard
7558e8c6e4 Audio policy config: allow vendor to extend module name
Vendor are currently not allowed to extend the XML format.
As some enumeration are allowed to be extended, this mean that
the format must allow some extension mechanism.

This patch relaxes the definition of the module name field.
AOSP names are still allowed, but a vendor can add its own name
if prefixed with "vx_". Eg:
    <module name="vx_google_vr" halVersion="3.0">

Test: xmllint --xinclude --noout --schema hardware/interfaces/audio/2.0/config/audio_policy_configuration.xsd audio_policy_configuration.xml
      with audio_policy_configuration.xml containing a module named vx_google_vr
Test: vts-tradefed run commandAndExit vts --module VtsHalAudioV2_0Target -t CheckConfig.audioPolicyConfigurationValidation
      on Pixel 2
Bug: 69442986
Signed-off-by: Kevin Rocard <krocard@google.com>

Change-Id: I4ead38535cce89bb8fe44cf23fa1146acd1271d6
2017-12-04 14:29:08 -08:00
Zhuoyao Zhang
2aba02af56 Convert boot, memtrack and power hal to use service name aware testing.
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
2017-12-04 21:34:25 +00:00
Michael Schwartz
85a3fa9d65 Merge "Remove IOemHook from matrix in P" am: f8c89c44e5 am: 7d6bf0f5ef
am: b3c150af4b

Change-Id: I6a39b2ad3c141f37b8c0c77f76c00d9216672dfb
2017-12-04 19:42:50 +00:00
Steven Moreland
a38f5177bb Updating makefiles for hidl_interface. am: 4e1e4081e4 -s ours
am: 0903cd24ac  -s ours

Change-Id: I889b249c58890608d3ecb7858fc3f8f2b347ff4d
2017-12-04 19:33:07 +00:00
Michael Schwartz
b3c150af4b Merge "Remove IOemHook from matrix in P" am: f8c89c44e5
am: 7d6bf0f5ef

Change-Id: If01fb4ba4bd7a115a1b044296ad6242df414353e
2017-12-04 18:59:39 +00:00
Steven Moreland
0903cd24ac Updating makefiles for hidl_interface.
am: 4e1e4081e4  -s ours

Change-Id: I8bba4a896375afa0b6e8b57d3bd6228096bbf12e
2017-12-04 18:49:35 +00:00
Michael Schwartz
7d6bf0f5ef Merge "Remove IOemHook from matrix in P"
am: f8c89c44e5

Change-Id: I2649c4ad197aecf74a595a16ed2433edba3b9a8b
2017-12-04 18:44:59 +00:00
Michael Schwartz
f8c89c44e5 Merge "Remove IOemHook from matrix in P" 2017-12-04 18:34:51 +00:00
TreeHugger Robot
f9ff68cde0 Merge "Remove conditional vndbinder usage in CAS." 2017-12-04 17:53:16 +00:00
Roshan Pius
abcf78fe90 wifi(implementation): Fix formatting
Use the top level clang-format setup by the HIDL team to format the
entire implementation.

clang-format -i --style file wifi/1.2/default/*

Bug: 32287573
Test: Compiles
Change-Id: I336c21fd9bfdc560117aa7212f92ab5f01df4b8e
2017-12-04 08:14:11 -08:00
Roshan Pius
acededbcd1 wifi(implementation): Dual interface support
Add support for concurrent interfaces in the WifiLegacyHal class:
a) Removed the hardcoded "wlan0" interface handle in WifiLegacyHal.
b) Modified all the interface specific functions to accept the |iface_name|
argument on which the operation needs to be performed.

Each IWifiIface object will hold the name of the underlying network
interface (wlan0, wlan1 or p2p0) which it is representing.
All IWifiChip operations which needs an iface name will continue to use
the default "wlan0".

Bug: 65671875
Test: Device boots up and connects to wifi networks.
Test: Will send for regression tests.
Change-Id: I9bd9c2a9ba33ac1ea5677fc5d7c261d8eac08e1d
2017-12-04 08:14:11 -08:00
Roshan Pius
9377a0d285 wifi(implementation): Use real iface names
Currently the HAL shim uses fake names to ensure that each type of
IWifiIface has a unique name. This is not a true reflection of the
network interfaces exposed by the wifi driver. So, change the HIDL shim
to use the corresponding interfaces names.

IWifiStaIface, IWifiApIface & IWifiNanIface all use the same "wlan0"
network interface.
IWifiP2pIface uses the "p2p0" network interface.

In the future, we'll be extending this to create a second IWifiStaIface
or IWifiApIface using "wlan1" network interface.

IWifiRttController does not need to be associated with an iface object.
So, it will just default to using "wlan0" always.
TODO(b/34702983): Need to deprecate the bound iface from the HIDL interface.

Bug: 65671875
Test: Device boots up and connects to wifi networks.
Test: Will send for regression tests.
Change-Id: I33fef1332f2fe2da3f48ee87ef06660844699253
2017-12-04 08:14:11 -08:00