OSDN Git Service
Steven Moreland [Thu, 1 Dec 2016 01:33:09 +0000 (01:33 +0000)]
Merge "Wifi: don't require C++11."
am:
13be232d7b
Change-Id: Ib8b8aeea631b46ddd4310e1c32dd71f092fd6c9e
Treehugger Robot [Thu, 1 Dec 2016 01:25:42 +0000 (01:25 +0000)]
Merge "Wifi: don't require C++11."
Steven Moreland [Wed, 30 Nov 2016 19:47:49 +0000 (11:47 -0800)]
Wifi: don't require C++11.
C++14 has been officially supported in the build system for a while now.
(see b/
32019064).
Test: pass
Change-Id: I328b0bcf9e5c32e209e4efc1ac5b96afdb542a5a
Ruchi Kandoi [Wed, 30 Nov 2016 20:51:11 +0000 (20:51 +0000)]
Merge "NFC: Add @exports to generate nfc-base.h headers."
am:
cca3e97d63
Change-Id: Ic2b511275b4ada5049428811357bdd3ecf323841
Ruchi Kandoi [Wed, 30 Nov 2016 20:45:03 +0000 (20:45 +0000)]
Merge "NFC: Add @exports to generate nfc-base.h headers."
Yifan Hong [Wed, 30 Nov 2016 20:40:52 +0000 (20:40 +0000)]
Merge "Update to use the correct library for logging."
am:
f5e1ac67ed
Change-Id: Idbd600f20212143ddced9c7723cb28b414afa349
Yifan Hong [Wed, 30 Nov 2016 20:31:25 +0000 (20:31 +0000)]
Merge "Update to use the correct library for logging."
Yifan Hong [Mon, 28 Nov 2016 23:59:24 +0000 (15:59 -0800)]
Update to use the correct library for logging.
Generates: b/
33193497
Test: mma
Change-Id: Ib8bfc4d2f1d68947099e4756f661ed06689ffd62
Roshan Pius [Tue, 29 Nov 2016 18:04:14 +0000 (18:04 +0000)]
Merge changes I304a5d9d,Ied19d9ec,Ie6c03aee
am:
9f518064de
Change-Id: Id45ea1662cbc1b3b7c367cd17017b42b9ed8a856
Roshan Pius [Tue, 29 Nov 2016 18:04:13 +0000 (18:04 +0000)]
wifi: Add NAN API wrappers in WifiLegacyHal
am:
2301209a9a
Change-Id: I906138784eab26f35a55546f614de6f378a2ec64
Roshan Pius [Tue, 29 Nov 2016 18:04:12 +0000 (18:04 +0000)]
wifi: Add RTT API wrappers in WifiLegacyHal
am:
d8e915ab99
Change-Id: I1f8067fb8e2f4a86f9c555e2564cac7dd0c0196f
Roshan Pius [Tue, 29 Nov 2016 18:04:11 +0000 (18:04 +0000)]
wifi: Add logger/debug API wrappers in WifiLegacyHal
am:
8714a3e103
Change-Id: I81a9b38916f0c1f92ca45fc9825bf0f025fda7b1
Treehugger Robot [Tue, 29 Nov 2016 17:55:36 +0000 (17:55 +0000)]
Merge changes I304a5d9d,Ied19d9ec,Ie6c03aee
* changes:
wifi: Add NAN API wrappers in WifiLegacyHal
wifi: Add RTT API wrappers in WifiLegacyHal
wifi: Add logger/debug API wrappers in WifiLegacyHal
Ruchi Kandoi [Tue, 22 Nov 2016 23:17:44 +0000 (15:17 -0800)]
NFC: Add @exports to generate nfc-base.h headers.
Test: Generates headers using hidl-gen
Bug:
32748647
Change-Id: I20bf4329a7fbad1096798db060a2ea5be695c62e
Signed-off-by: Ruchi Kandoi <kandoiruchi@google.com>
Ruchi Kandoi [Tue, 29 Nov 2016 01:34:09 +0000 (01:34 +0000)]
Nfc: Change return types for Nfc hal to specified type.
am:
51068e0bd3
Change-Id: I46ba181e80ee2c16cfda07da6e1b3975f1e09717
Ruchi Kandoi [Fri, 18 Nov 2016 22:11:33 +0000 (14:11 -0800)]
Nfc: Change return types for Nfc hal to specified type.
Test: Compiles and test passes
Bug:
32998929
Change-Id: I6787b90e5e745b32c7a5a951203496cc614fdc10
Signed-off-by: Ruchi Kandoi <kandoiruchi@google.com>
Roshan Pius [Fri, 28 Oct 2016 18:27:40 +0000 (11:27 -0700)]
wifi: Add NAN API wrappers in WifiLegacyHal
NAN API's are inherently asynchronous. So, add a function for registering
the various callbacks and add wrappers for all other NAN API's.
Bug:
31991076
Test: Compiles
Change-Id: I304a5d9d41b684f0778e0ace3601380153068e12
Roshan Pius [Fri, 28 Oct 2016 18:23:11 +0000 (11:23 -0700)]
wifi: Add RTT API wrappers in WifiLegacyHal
These are just wrapper methods over the legacy RTT related HAL API's.
Note: Some of the RTT related API's have been intentionally left off
because they're no longer used.
Bug:
31991232
Test: Compiles
Change-Id: Ied19d9ec1d4347ead0c40ab3683a1a0bae704f90
Roshan Pius [Fri, 28 Oct 2016 17:43:51 +0000 (10:43 -0700)]
wifi: Add logger/debug API wrappers in WifiLegacyHal
Legacy HAL wrappers for the following debug functions:
1. Wake reason stats
2. Packet fate
3. Supported feature set
4. Ring buffer.
Bug:
32221997
Test: Compiles
Change-Id: Ie6c03aeefb0b6e711419cfa5451cddbeb3069cd0
Steven Moreland [Mon, 28 Nov 2016 21:37:55 +0000 (21:37 +0000)]
Use get instead of implicit cast on Return<*>.
am:
dc5f84f993
Change-Id: I5bb0b8a4ca3a565768c7f03d640134d3a3a16dd4
Steven Moreland [Tue, 22 Nov 2016 22:16:37 +0000 (14:16 -0800)]
Use get instead of implicit cast on Return<*>.
Bug:
31348667
Test: hidl_test
Change-Id: Icc22f440077feeff1119ca7b2b44fab684b453db
Steven Moreland [Fri, 25 Nov 2016 18:18:50 +0000 (18:18 +0000)]
Merge "Update makefiles for logging."
am:
2fe5762cae
Change-Id: I2f85a37a4cb7178aecd48eb63ca6fa7e7d715917
Treehugger Robot [Thu, 24 Nov 2016 16:41:20 +0000 (16:41 +0000)]
Merge "Update makefiles for logging."
Steven Moreland [Wed, 23 Nov 2016 01:39:14 +0000 (01:39 +0000)]
Remove HIDL_GENERATED from things written by hand.
am:
33e87b8a76
Change-Id: Ib5c70daafd8d5bfa8454a4a0e05c858a3e9a393a
Steven Moreland [Tue, 22 Nov 2016 23:34:39 +0000 (15:34 -0800)]
Remove HIDL_GENERATED from things written by hand.
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.
Test: pass
Change-Id: I2c9d7887f6d6bdaa19a5c4bfcf02ee3d1dbc81d1
Martijn Coenen [Tue, 22 Nov 2016 14:58:35 +0000 (14:58 +0000)]
Use newly introduced hidl_handle.
am:
403161ab73
Change-Id: Ic5344ae123ef0c9b233eb31e6b9cd33be2d809fc
Martijn Coenen [Fri, 18 Nov 2016 14:29:32 +0000 (15:29 +0100)]
Use newly introduced hidl_handle.
Bug:
32089785
Test: builds
Change-Id: I27c7d3945e1fe390661bf322987011a00fe9b3fe
Roshan Pius [Tue, 22 Nov 2016 01:39:03 +0000 (01:39 +0000)]
Merge changes I7c418811,I0870eae0
am:
88fb149b8e
Change-Id: Ic1b7ccb20296344bb551fc600d3d6e25fe1fe6a6
Roshan Pius [Tue, 22 Nov 2016 01:39:00 +0000 (01:39 +0000)]
wifi: Add link layer stats API wrappers in WifiLegacyHal
am:
7cece41299
Change-Id: Id8edce8333faa2860a7deef272858b93c6c8bef6
Roshan Pius [Tue, 22 Nov 2016 01:38:57 +0000 (01:38 +0000)]
wifi: Add gscan API wrappers in WifiLegacyHal
am:
76ff302d57
Change-Id: Ieda0e0ab4b058f342788cf39182c7a2eafafeeba
Treehugger Robot [Tue, 22 Nov 2016 01:06:50 +0000 (01:06 +0000)]
Merge changes I7c418811,I0870eae0
* changes:
wifi: Add link layer stats API wrappers in WifiLegacyHal
wifi: Add gscan API wrappers in WifiLegacyHal
Steven Moreland [Tue, 22 Nov 2016 00:19:57 +0000 (16:19 -0800)]
Update makefiles for logging.
Bug:
32943424
Test: hidl_test
Change-Id: I86dc81935912861073497c07696378895a25f9ee
Ruchi Kandoi [Mon, 21 Nov 2016 23:03:59 +0000 (23:03 +0000)]
Merge "NFC: Add Annotations to the HAL file"
am:
3bca1eef75
Change-Id: I528f0494291c89116a976a8da0c28dd3dc87e6cb
Ruchi Kandoi [Mon, 21 Nov 2016 22:53:01 +0000 (22:53 +0000)]
Merge "NFC: Add Annotations to the HAL file"
Roshan Pius [Fri, 28 Oct 2016 17:38:21 +0000 (10:38 -0700)]
wifi: Add link layer stats API wrappers in WifiLegacyHal
Adds wrappers over the legacy HAL API for the following:
1. enable/disable link layer stats collection.
2. fetch link layer stats.
Note: Link layer stats structure is quite ugly. The wrapper stucture
declared here (LinkLayerStats) tries to separate out the pointer
elements and ignore the unnecessary variable size elements from them.
Bug:
31991459
Test: Compiles
Change-Id: I7c4188115786542866c7be56cf9f116b3f78e6a3
Roshan Pius [Fri, 28 Oct 2016 17:33:34 +0000 (10:33 -0700)]
wifi: Add gscan API wrappers in WifiLegacyHal
The legacy gscan API's were designed to be used in the following
sequence:
a) Start the scan using |wifi_start_gscan|.
b) Scan Events are indicated to the caller via the provided
|on_scan_event| callback.
c) When one of the result events are received, the caller is expected
to retrieve the cached results via |wifi_get_cached_gscan_results|.
There are some extra knobs here to determine if the results need to be
flushed after fetch or not.
d) Any scan failures are also notified via the provided
|on_scan_event| callback.
e) Full scan results are delivered one by one via the provided
|on_full_scan_result| callback.
In our use case step (b) above is always followed by step (c), so these
2 steps have been merged together in the HIDL interface:
a) Start the scan using |IWifiStaIface.startBackgroundScan|.
b) Scan results are now directly delivered via
|IWifiStaIfaceEventCallback.onBackgroundScanResults| callback.
c) Any scan failures will be delivered via
|IWifiStaIfaceEventCallback.onBackgroundScanFailure| callback.
d) Full scan results are delivered one by one via
|IWifiStaIfaceEventCallback.onBackgroundFullScanResult| callback.
Bug:
31991459
Test: Compiles
Change-Id: I0870eae095a667eec1d8de75fe1cc04a1b5a0bd3
Yifan Hong [Fri, 18 Nov 2016 23:14:31 +0000 (23:14 +0000)]
Split libhidl into base and transport.
am:
63544eacb6
Change-Id: I97974e9bbe99c93591c0a4e85ff75a43c7e63983
Yifan Hong [Wed, 16 Nov 2016 22:17:58 +0000 (14:17 -0800)]
Split libhidl into base and transport.
Bug:
32756130
Test: mma
Change-Id: Id21cf23abe2910f26bb7895511862443b93dc112
Martijn Coenen [Fri, 18 Nov 2016 08:08:20 +0000 (08:08 +0000)]
Merge "Cast hidl_pointer<T> to void*."
am:
6033952ff1
Change-Id: Ic0bdb5eab4f0a38c3b93042aad4ec14856f05de5
Martijn Coenen [Fri, 18 Nov 2016 08:03:38 +0000 (08:03 +0000)]
Merge "Cast hidl_pointer<T> to void*."
Sanket Padawe [Fri, 18 Nov 2016 01:42:19 +0000 (01:42 +0000)]
Merge "Add a missing RIL request in iRadio.hal"
am:
d5e70d7f63
Change-Id: I57f2b156ab7131bff083acc49ee628942ac2f53e
Sanket Padawe [Fri, 18 Nov 2016 01:33:10 +0000 (01:33 +0000)]
Merge "Add a missing RIL request in iRadio.hal"
Roshan Pius [Fri, 18 Nov 2016 01:18:19 +0000 (01:18 +0000)]
wifi: Add APF/feature-set wrappers in WifiLegacyHal
am:
0a47c187b9
Change-Id: Idaa8f4932d44cde5ba4a69919e3833027782281c
Roshan Pius [Fri, 18 Nov 2016 01:18:18 +0000 (01:18 +0000)]
wifi: Move legacy hal types to a new namespace (2/2)
am:
6cedc97e95
Change-Id: I7c999625fb5a39d2568f39189905a67f9366d078
Roshan Pius [Fri, 18 Nov 2016 01:18:17 +0000 (01:18 +0000)]
wifi: Move legacy hal types to a new namespace (1/2)
am:
955542e9a2
Change-Id: I83e0e783077d2e3dd8103d494192c2652665977c
Sanket Padawe [Thu, 17 Nov 2016 23:28:31 +0000 (15:28 -0800)]
Add a missing RIL request in iRadio.hal
Test: no test
Bug:
32020264
Change-Id: I5b1584e5451c4c04e0a2902791140c4e7bd95549
Roshan Pius [Fri, 28 Oct 2016 17:23:00 +0000 (10:23 -0700)]
wifi: Add APF/feature-set wrappers in WifiLegacyHal
Add wrappers for retrieving the feature set supported by the device &
APF functionality.
Bug:
31991459
Test: Compiles
Change-Id: I34b8896a21e34f688374750faefd589eca2a4de1
Martijn Coenen [Thu, 17 Nov 2016 14:12:18 +0000 (15:12 +0100)]
Cast hidl_pointer<T> to void*.
hidl_pointer<T> can only allow one implicit conversion
operator, and native_handle_t* is the one that makes
most sense. Hence, this requires an explicit cast.
Bug:
32089785
Test: builds
Change-Id: Ie952ee2e4f0c20fa33f793403d51f3d550257310
Roshan Pius [Thu, 17 Nov 2016 02:43:37 +0000 (02:43 +0000)]
wifi: Changes to WifiLegacy Hal
am:
511cc493e3
Change-Id: I2b78178e06ba7dbc0929ac8e0dc2c2a40443dfe6
Roshan Pius [Thu, 17 Nov 2016 00:57:06 +0000 (00:57 +0000)]
wifi: Remove passthrough mode
am:
23f9f30344
Change-Id: I54fe1971eb19c9e8e756f001424d28fe72189f0c
Roshan Pius [Thu, 17 Nov 2016 00:57:05 +0000 (00:57 +0000)]
wifi: Stub implementation of WifiNanIface methods
am:
0c92d446a2
Change-Id: I8be74c7b452e1a2fc36e86a55e1d8e749b3cdb70
Roshan Pius [Thu, 17 Nov 2016 00:57:03 +0000 (00:57 +0000)]
wifi: Stub implementation of WifiRttController methods
am:
7913f5e49d
Change-Id: I45a075986e47dd3ed6feb5735c1fc8e396bf3ad0
Roshan Pius [Thu, 17 Nov 2016 00:57:02 +0000 (00:57 +0000)]
wifi: Stub implementation of WifiStaIface methods
am:
a04ba3fcb8
Change-Id: Ie61978114eb86f11e3e8f56e15a6d4293bbf4c88
Roshan Pius [Thu, 17 Nov 2016 00:57:01 +0000 (00:57 +0000)]
wifi: Stub implementation of WifiChip methods
am:
7d08d7a16d
Change-Id: If81d1003542b4131448c11df5a3e7c00a6c00fab
Roshan Pius [Thu, 17 Nov 2016 00:57:00 +0000 (00:57 +0000)]
wifi: Use hidl_return_util functions in Iface/Rtt
am:
907d4a234d
Change-Id: I224f3edf8aefe3e47e1604b457e5aa57b9c7a301
Roshan Pius [Thu, 17 Nov 2016 00:56:59 +0000 (00:56 +0000)]
wifi: Use hidl_return_util functions in WifiChip
am:
3c86852a2e
Change-Id: I69b20794be77270122718960ce8771ce1f451d40
Roshan Pius [Thu, 17 Nov 2016 00:56:58 +0000 (00:56 +0000)]
wifi: Helper functions for invoking hidl cont callbacks
am:
5647665827
Change-Id: Id86ad2d1bf0a711622a5c1300437b027d08790d3
Roshan Pius [Thu, 17 Nov 2016 00:56:57 +0000 (00:56 +0000)]
wifi: Make methods deliver status synchronously (3/3)
am:
734fea0d98
Change-Id: I749781becee892317f741ca561ee825546870163
Roshan Pius [Thu, 17 Nov 2016 00:56:56 +0000 (00:56 +0000)]
wifi: Make methods deliver status synchronously (2/3)
am:
5c05546fc9
Change-Id: Icd12fff4544ffadd62cd8a040a37a6542b829695
Roshan Pius [Thu, 17 Nov 2016 00:56:55 +0000 (00:56 +0000)]
wifi: Make methods deliver status synchronously (1/3)
am:
503582ed94
Change-Id: I868296a715c673937a1ce17100b392ef02b3d196
Roshan Pius [Thu, 17 Nov 2016 00:56:53 +0000 (00:56 +0000)]
wifi: Rename failure_reason_util to wifi_status_util
am:
1922482a5c
Change-Id: I32955402c44c8d4f6a961241d412efaeba508374
Roshan Pius [Thu, 17 Nov 2016 00:56:52 +0000 (00:56 +0000)]
wifi(interface): Add status for all methods
am:
02caa1b821
Change-Id: I96bd199b2d739d5371b9f0cd761440df7cdc6eb3
Roshan Pius [Thu, 17 Nov 2016 00:56:49 +0000 (00:56 +0000)]
wifi(interface): Add wifi host debug wake up reason stats
am:
e0724f98b0
Change-Id: Ife791e5b1ca8046713a202e49b0a426b2c9abcae
Roshan Pius [Thu, 17 Nov 2016 00:56:48 +0000 (00:56 +0000)]
wifi(interface): Add wifi debug packet fate related interface
am:
fe9ad36cb2
Change-Id: I63b0ff50906590a4af3b1854c89cd47ea12506cb
Roshan Pius [Thu, 17 Nov 2016 00:56:47 +0000 (00:56 +0000)]
wifi(interface): Add wifi debug ring buffer related interface
am:
e3a02b07b6
Change-Id: I1cac68e450cc87b8674ca00120964bf9dfcc0a9f
Roshan Pius [Thu, 17 Nov 2016 00:56:46 +0000 (00:56 +0000)]
wifi(interface): Move all StaIface types to types.hal
am:
5e25466ebf
Change-Id: I2815c82897e31ea35fd6d0ae3e2e3feb20e750b6
Roshan Pius [Thu, 17 Nov 2016 00:56:45 +0000 (00:56 +0000)]
wifi(interface): Fix compilation failure
am:
e03f736ca0
Change-Id: I687c4da68d93a7657991eb92cecb3f4e4c4d4986
Roshan Pius [Thu, 17 Nov 2016 00:56:44 +0000 (00:56 +0000)]
wifi(interface): Rtt controller HIDL interface
am:
18eec81adc
Change-Id: Idb2a967fe289216ad5e37a4f04ac15be7a97c215
Roshan Pius [Thu, 17 Nov 2016 00:56:43 +0000 (00:56 +0000)]
wifi(interface): NAN HIDL interface
am:
120f94c594
Change-Id: I22788dd6cd85b18c06c7bca7de53e5c1fabf5d1f
Roshan Pius [Thu, 17 Nov 2016 00:56:42 +0000 (00:56 +0000)]
wifi(interface): Link layer stats collection
am:
18680b7aff
Change-Id: Id21f5179208d3b5671541747894fdd875d43d8f0
Roshan Pius [Thu, 17 Nov 2016 00:56:41 +0000 (00:56 +0000)]
wifi(interface): Make methods synchronous
am:
a52dc7322d
Change-Id: Iee14349de899301b1b8b7ee8b1b0e24d61f5ac2c
Roshan Pius [Thu, 17 Nov 2016 00:56:40 +0000 (00:56 +0000)]
wifi(interface): Add status for every method
am:
1f9073cfcb
Change-Id: Ic839dad94f04d974f49f67ffd125ac302a9b4fea
Roshan Pius [Thu, 17 Nov 2016 00:56:38 +0000 (00:56 +0000)]
wifi(interface): Add gscan/apf related API's
am:
7b77747bb5
Change-Id: Ib5efe1acd06649e65c88a3721e455725b2206778
Roshan Pius [Fri, 28 Oct 2016 17:11:17 +0000 (10:11 -0700)]
wifi: Move legacy hal types to a new namespace (2/2)
Changes in HIDL interface obejcts to use the new namespace for legacy
HAL.
Bug:
32242225
Test: Compiles
Change-Id: I7d0e9cee8656bd779a24d9eaede415317dceaf9b
Roshan Pius [Fri, 28 Oct 2016 16:42:44 +0000 (09:42 -0700)]
wifi: Move legacy hal types to a new namespace (1/2)
To prevent typename conflicts between the types in
"hardware_legacy/wifi_hal.h" and the HIDL interface,
Move all the legacy HAL types under a separate namespace (legacy_hal).
This is especially needed for Nan data types. Some of the typenames are
exactly the same in the legacy HAL header file and the HIDL interface.
Related changes,
Remove the use of |HalTool| class. This causes compilation failures
because it tries to include wifi_hal.h as well (but, that is now wrapped
inside a namespace).
Bug:
32242225
Test: Compiles
Change-Id: I937877798b81aea280d1797833745ae97fb02dc9
Roshan Pius [Fri, 28 Oct 2016 16:54:26 +0000 (09:54 -0700)]
wifi: Changes to WifiLegacy Hal
Changes in the CL:
a. Removed the usage of wifi_status_util in WifiLegacyHal. The
|legacyErrorToString| log will be done in the HIDL object. This is to
remove any reference of |WifiStatus|
b. Moved the cleanup of function pointers to a separate helper function
|invalidate|.
c. Moved static constants out of WifiLegacyHal class.
Bug:
32505551
Test: Compiles
Change-Id: I9dc3900c40cf30de2c0a4376d4de2b08076e2b5f
Roshan Pius [Mon, 24 Oct 2016 20:33:51 +0000 (13:33 -0700)]
wifi: Remove passthrough mode
Wifi HAL is not going to support HIDL passthrough mode. So, remove the
target definition.
Bug:
32376894
Test: Compiles
Change-Id: I43740541f576746826d75c6ac48a11bb2a619227
Roshan Pius [Fri, 28 Oct 2016 00:38:53 +0000 (17:38 -0700)]
wifi: Stub implementation of WifiNanIface methods
Bug:
31991076
Test: Compiles
Change-Id: Ia3723a14af20176c08e6e466e8b55bb32c8f9d41
Roshan Pius [Fri, 28 Oct 2016 00:09:30 +0000 (17:09 -0700)]
wifi: Stub implementation of WifiRttController methods
Bug:
31991232
Test: Compiles
Change-Id: I90f803ae19746ef844280cd8df96987e350f8a3f
Roshan Pius [Thu, 27 Oct 2016 21:36:26 +0000 (14:36 -0700)]
wifi: Stub implementation of WifiStaIface methods
Bug:
32221997
Bug:
31991459
Test: Compiles
Change-Id: Iefc68958befc549fd9100b29f84cb6e6d73efe95
Roshan Pius [Thu, 27 Oct 2016 21:35:05 +0000 (14:35 -0700)]
wifi: Stub implementation of WifiChip methods
Bug:
32221997
Test: Compiles
Change-Id: I627a05ce17d8b0e87101f395c3b3d6c10d3c440c
Roshan Pius [Thu, 27 Oct 2016 19:48:12 +0000 (12:48 -0700)]
wifi: Use hidl_return_util functions in Iface/Rtt
Modify the WifiIface & WifiRttController methods to the use the new helper
functions.
Bug:
32337072
Test: Compiles
Change-Id: I8ce5450f3012ea3ad699db3c780c0bf985492aad
Roshan Pius [Thu, 27 Oct 2016 19:43:49 +0000 (12:43 -0700)]
wifi: Use hidl_return_util functions in WifiChip
Modify the WifiChip methods to the use the new helper functions.
Also,
1. Modify the WifiLegacyHal.requestDriverMemoryDump &
WifiLegacyHal.requestDriverMemoryDump to return a vector of |uint8_t|
instead of |char| to avoid unnecessary typecasting in the HIDL methods.
2. Remove |createHidlVecOfIfaceNames| helper function as most of the
necessary conversion should be handled by hidl_vec/hidl_string
constructors.
Bug:
32337072
Test: Compiles
Change-Id: Ic0b7aa2a5a078e53d5bc5bef18995a3cc0f548a1
Roshan Pius [Wed, 26 Oct 2016 21:43:05 +0000 (14:43 -0700)]
wifi: Helper functions for invoking hidl cont callbacks
The helper functions are used to invoke an internal method which
implements the functionality and then invoke the HIDL callback
with the return values.
HIDL's auto-generated code uses on-stack callbacks to return
non-primitive/multiple values from HIDL methods. This is unwieldy and
the implementation of the method's functionality gets mixed up with the
semantics of handling these callbacks. This tries to hide the semantics
of HIDL auto-generated code from the functionality.
Converted all IWifi methods to use these new helper functions.
Bug:
32337072
Test: Compiles
Change-Id: I57cbafcc2ecb52ec5055f4bd80bc064bd438b850
Roshan Pius [Tue, 11 Oct 2016 15:30:28 +0000 (08:30 -0700)]
wifi: Make methods deliver status synchronously (3/3)
Make all the |IWifiIface|/|IWifiRttController| HIDL interface
methods return a synchronous status code. Change from using the event
callbacks to the synchronous callbacks for delivering status.
While there,
Use the default std::string to hidl_string constructor in status
callbacks.
Bug:
32056230
Bug:
32061909
Test: Compiles
Change-Id: Ifa06a11afb085bfd6684f7b997fb730d192018ea
Roshan Pius [Tue, 11 Oct 2016 15:27:27 +0000 (08:27 -0700)]
wifi: Make methods deliver status synchronously (2/3)
Make all the |IWifiChip| HIDL interface methods return a synchronous
status code. Change from using the event callbacks to the synchronous
callbacks for delivering status.
While there,
1. Use std::tie to retrive values out of the legacy HAL functions returning
a pair.
2. Use the std::vector to hidl_vec constructor for returning vector of
ifnames.
Bug:
32056230
Bug:
32061909
Test: Compiles
Change-Id: Iac27521be17cd9852df04ad7d412e09160a08d33
Roshan Pius [Tue, 11 Oct 2016 15:25:30 +0000 (08:25 -0700)]
wifi: Make methods deliver status synchronously (1/3)
Make the following |IWifi| HIDL interface methods return a synchronous
status code:
a) start()
b) stop()
The other methods in this interface do not have a failure case and hence
not returning a status code.
This changes the nature of event callbacks registered for each
interface. Previously, every operation's status was sent to all the
registered event callbacks. Now, only the caller is notified of the
operation's status via the passed synchronous callbacks. The event
callbacks are now used to broadcast only important state changes/events.
Bug:
32056230
Bug:
32061909
Test: Compiles
Change-Id: I95dc3fa139ac3ac7500d81e9e0dbc4f4de04e127
Roshan Pius [Tue, 11 Oct 2016 15:21:46 +0000 (08:21 -0700)]
wifi: Rename failure_reason_util to wifi_status_util
The HIDL interface now returns a |WifiStatus| instance to indicate the
status of any operation. This is replacing the existing asynchronous
delivery of success or failure (using |FailureReason| instance).
Rename the existing util class to |wifi_status_util| and add a couple of
methods to create a |WifiStatus| instance with empty description.
Bug:
32056230
Test: Compiles
Change-Id: I8488f7cd7d6ad6bd7a0c3c82a7ef83299d877d45
Roshan Pius [Wed, 26 Oct 2016 22:56:17 +0000 (15:56 -0700)]
wifi(interface): Add status for all methods
Add missing status returns for a few HIDL methods. This is to keep the
interface consistent.
Bug:
32146455
Test: update_makefile.sh
Change-Id: Ia66fe4d00e884e5ce1e1906db77bb5ffdaebffdd
Roshan Pius [Thu, 20 Oct 2016 16:33:26 +0000 (09:33 -0700)]
wifi(interface): Add wifi host debug wake up reason stats
These stats are used to determine if the device is being woken up
frequently by the wlan chipset. The stats structure describe all the
various resons for which the host was woken up by the wlan chipset
(firmware).
Bug:
32221997
Test: ./hardware/interfaces/update-makefiles.sh
Change-Id: Id52915348fef0283affcd834c6f1db5055e54ace
Roshan Pius [Wed, 19 Oct 2016 23:45:12 +0000 (16:45 -0700)]
wifi(interface): Add wifi debug packet fate related interface
The packet fate debug mechanism is used to track the state of all the
packets transmitted/received during the association process.
Also,
Add the various debug capabilities in the respective interfaces.
All ring buffer, driver/firmware dump, etc related capabilities are in
IWifiChip object.
The packet fate capability is exposed in IWifiStaIface object.
Bug:
32221997
Test: ./hardware/interfaces/update-makefiles.sh
Change-Id: Ic6bf49d682b70a1cdcd18c69fc25a544921bd548
Roshan Pius [Wed, 19 Oct 2016 19:31:01 +0000 (12:31 -0700)]
wifi(interface): Add wifi debug ring buffer related interface
The debug ring buffers is a purely debug mechanism to let the driver
report debug info like connection events, power events, etc to the
framework.
The framework used to previously dump out the raw byte stream in
the bugreport and the vendors had some tools to parse out the data.
This is now being changed to provide the framework with the
internal ring buffer structs to ease parsing this data in framework
itself. This will eventually be used in the new wifilogd daemon.
Bug:
32221997
Test: ./hardware/interfaces/update-makefiles.sh
Change-Id: I2c90662cfa9d07ae6fc72198a286338dbaacbfc2
Roshan Pius [Wed, 26 Oct 2016 17:10:48 +0000 (10:10 -0700)]
wifi(interface): Move all StaIface types to types.hal
Some of these structs are used in the debug framework and hence needs to
live in types.hal. Add a |Sta| prefix to differentiate them from other
types similar to what is done for Nan and Rtt types.
Bug:
31991459
Test: ./hardware/interfaces/update-makefiles.sh
Change-Id: Idc49b28447609c4334b0a086481c404c06a63fea
Roshan Pius [Fri, 14 Oct 2016 21:53:43 +0000 (14:53 -0700)]
wifi(interface): Fix compilation failure
Changes in the CL:
a) Unions are not allowed in the HIDL generated code that is going to be
used in java.
b) Few RTT constants were defined twice in the legacy rtt.h. One set
as enums, the other set as #define's. Remove the duplicated values in
the HIDL interface.
Bug:
31991076
Bug:
31991232
Test: mmm -j32 hardware/interfaces/wifi/1.0/
Change-Id: I03db70c7b89c0be53a7754ab8b34a19ad2c6e536
Roshan Pius [Fri, 14 Oct 2016 18:29:30 +0000 (11:29 -0700)]
wifi(interface): Rtt controller HIDL interface
Bug:
31991232
Test: ./hardware/interfaces/update-makefiles.sh
Change-Id: I53b95e85ee8a71bcb0494420913c9511f87908c0
Roshan Pius [Thu, 13 Oct 2016 18:48:42 +0000 (11:48 -0700)]
wifi(interface): NAN HIDL interface
Interface is mostly a replication of the wifi_nan.h HAL header file.
1. All the methods are in |IWifiNanIface|.
2. Moved all the callbacks to |IWifiNanIfaceEventCallback.hal|.
2. Moved all the data types to |types.hal|.
3. Changed all the variable size arrays to vecs.
Bug:
31991076
Test: ./hardware/interfaces/update-makefiles.sh
Change-Id: I2af0b0003cf30a0f2bfdcb56b69c492cf831745b
Roshan Pius [Wed, 12 Oct 2016 15:25:48 +0000 (08:25 -0700)]
wifi(interface): Link layer stats collection
Add HIDL methods for STA iface link layer stats.
While there,
Add the missing gscan API for fetching a list of channels for a given
band.
Bug:
31991459
Test: Compiles
Change-Id: I5d448eb823faae4e8f5c25f746cf59e70df454cf
Roshan Pius [Mon, 10 Oct 2016 18:53:07 +0000 (11:53 -0700)]
wifi(interface): Make methods synchronous
Having all the HIDL methods asynchronous, makes it hard for the
calling code to keep track of the operation status/result.
There are some operations which will generate asynchronous results (like
bgscan), convert all the other methods to synchronous methods.
The |EventCallback| objects will now just broadcast important events
(needed for other clients to listen for state changes). This will no
longer be used to send responses to every command sent to the HAL.
Bug:
32061909
Test: `./hardware/interfaces/update-makefiles.sh`
Change-Id: Id2433f4c8e028268dd027cdeb239ba4082b157b5
Roshan Pius [Mon, 10 Oct 2016 17:32:22 +0000 (10:32 -0700)]
wifi(interface): Add status for every method
Add a status parameter for every HIDL interface object method which can
possibly become invalid. This should help inform the caller that the
object being used is stale/invalid now.
While there,
Rename |CommandFailureReson| to |FailureReasonCode|.
NOTE: |FailureReason| will continue to indicate any errors during the
processing of the command via the corresponding |onFailure| callback.
Bug:
32056230
Test: Compiles
Change-Id: I2ec5af3075221e483579410f344bcedd6bf17a93
Roshan Pius [Fri, 7 Oct 2016 20:15:59 +0000 (13:15 -0700)]
wifi(interface): Add gscan/apf related API's
Changes in the CL:
1. Add gscan/APF related API's to |IWifiStaIface|.
2. Add a new callback HIDL interface (|IWifiStaIfaceEventCallback)
for all callbacks received from |IWifiStaIface|.
Bug:
31991459
Test: Compiles
Change-Id: Id9f2ded9e20bee393ab53d84efa814d52704cd2c