This commit adds new SAR scenarios for foldable devices.
Bug: 188138055
Test: Verify proper scenario selection
Change-Id: I472d3989edb1f8949a0eb1efd249b13aa55dc537
This commit adds a method to forward the subsystem restart request
Bug: 178126071
Test: Trigger firmware restart and make sure event was forwarded
Change-Id: I5e97e645b630822865b1614f999e8b465a6d2b0b
Wakelock acquisition can fail if suspend service is not available.
Make this clear by returning an optional value that client must
check before entering wakelock critical sections.
Bug: b/179229598
Test: Boot test on Pixel 4 device
Change-Id: Ied00fa919c20d8a30f1c40ee34a91a2a7e240689
Add ability to filter usable channnels due to coex &
concurrency limitations. Normally in standalone mode,
list of usable channels is dictated by regulatory. But
list of usable channels could be additionally limited
due to coex and also due to concurrency limitations.
Bug: 160212907
Test: Using halutil
Change-Id: Iafde3b4fe9ca8986404ee078ed0a1a31062a4bbb
Introduce a new API that can be used to query what modes (SAP,
STA, WFD Client, WFD Group Owner, TDLS, NAN) can be supported
on each channel. With this new API driver, has flexibility to
indicate to framework unambiguously what channels are usable
by each mode. Until now, framework had to derive this using
one of the NL80211_FREQUENCY_ATTR_X (NO_IR, DFS, INDOOR) which
is not sufficent to unambiguously determine allowed channels
for each interface modes.
Bug: 160212907
Test: Using halutil
Change-Id: I25ce9b5083bd6fb650e02c5113bc11b559e80cb5
Add the new HAL API for WLAN power optimization in the suspend mode.
Test: halutil test
Bug: 170678227
Change-Id: Icff3d01585213431be539913c8d229fdc4875934
- CCA Level and Load info
(Channel Utilization and Station Count from BSS load IE in beacon)
- For supporing this feature,
DHD and HALUTIL also should be fixed accordingly. (>= DHD 101.10.460)
Bug: 173477163
Test: Builds successfully
Change-Id: Ic1bd3e26888f8005fdb6c14d8ffeee9d3d04c3d3
Add HAL API for VoIP optimization. This includes set_voip_mode() as well
as TWT control related API.
Test: compilation
Bug: 166311728
Change-Id: Ib1210cf200ed692433626b8df549262ddf660359
Add custom enum for wifi coex since IfaceType is not suitable for
bitmasks.
Bug: 153651001
Test: build
Change-Id: I58b55c64f5358ff26fc45451b66e8818bb3c3d30
This applies to the following types:
- audio_gain_mode_t;
- audio_flags_mask_t;
- audio_channel_representation_t;
- audio_channel_mask_t;
- audio_devices_t.
Enum types are distinct thus proper overloading on the type
is possible in C++. Also, assignments to enum types are
less prone to errors.
Bug: 169889714
Test: basic audio functionality
Change-Id: I6366511b421ccab2782310ecc15a13e08d9c17af
Merged-In: I6366511b421ccab2782310ecc15a13e08d9c17af
This applies to the following types:
- audio_gain_mode_t;
- audio_flags_mask_t;
- audio_channel_representation_t;
- audio_channel_mask_t;
- audio_devices_t.
Enum types are distinct thus proper overloading on the type
is possible in C++. Also, assignments to enum types are
less prone to errors.
Bug: 169889714
Test: basic audio functionality
Change-Id: I6366511b421ccab2782310ecc15a13e08d9c17af
Enhance the API to support multiple WIFI chips.
Each WIFI chip is represented by a separate and independent
vendor HAL library providing its own function table
(wifi_hal_fn structure).
New functions added to the function table in order to
better support multiple WIFI chips:
1. In the existing hardware/interfaces/wifi implementation,
WIFI chip modes and concurrency combinations are hard-coded.
Since each WIFI chip can have its own concurrency
combinations, it is no longer possible to hard-code the
modes/combinations.
Add new function wifi_get_chip_modes for reporting
chip modes/concurrency combinations. For backward compatibility,
if the vendor HAL does not implement this function,
the previous hard-coded chip modes and concurrency combinations
will be used.
2. In the existing hardware/interfaces/wifi implementation,
when creating a new interface, it will use a fixed name
such as wlan0 or wlan1. This does not extend well to
multiple WIFI chips, as different WIFI chips may want
to use their own interface names, or the suggested interface
name may have been pre-created by another chip.
In order to better support interface creation on multiple
WIFI chips, add a function wifi_get_supported_interface_name
that allows the vendor HAL to specify its own interface
name for upcoming interface creation. If the vendor HAL returns
an interface name, it should be passed to
wifi_virtual_interface_create to create the interface
with the provided name.
3. In the existing hardware/interfaces/wifi implementation,
wifi_initialize is only called when creating the first
interface (typically when enabling WIFI). However some
chips may want to perform early initialization and provide
some functionality while WIFI is still disabled. One example
is reporting chip-global capabilities that may affect
the UI even before WIFI is enabled.
In order to support this, add a new function
wifi_early_initialize which will perform early initialization.
The function should be called as soon as possible after
loading the vendor HAL, and if it returns a failure, the vendor
HAL should not be considered usable and no WIFI chip should
be created based on it.
4. In some cases it is needed to query chip features before
creating any interfaces. For example, for trying to start
a SoftAP on the 60GHz band, it is needed to detect a chip
which supports the 60GHz band, and only if such chip was detected,
then an AP interface can be created on it.
The wifi_get_supported_feature_set function only works on
a created interface so it is not suitable for this scenario.
To support such scenarios, add a new function
wifi_get_chip_feature_set which returns a set of chip-global
features which are independent of any created interface.
Bug: 146922967
Test: atest VtsHalWifiV1_0TargetTest VtsHalWifiNanV1_0TargetTest VtsHalWifiApV1_0TargetTest \
VtsHalWifiV1_1TargetTest \
VtsHalWifiV1_2TargetTest VtsHalWifiNanV1_2TargetTest \
VtsHalWifiV1_3TargetTest \
VtsHalWifiApV1_4TargetTest VtsHalWifiNanV1_4TargetTest VtsHalWifiRttV1_4TargetTest
Change-Id: If0b4934002c5687024c9fc2e65e15c466f94acd2
This commit adds a method to set the handler for wifi subsystem
restart callback.
Bug: 159367026
Test: force a firmware restart and make sure Wifi is recovered.
Change-Id: Id125b85a697a0cdd5cf2677abb0006c85053fd43
This commit adds the needed enum and methods to handle the mapping
of DSCP into wifi access categories.
Bug: 141500691
Bug: 141550272
Test: Manual
Change-Id: If532a6dc34f4a2c61fc4601cb1b83d2fec053ea5
global handle instead of interface handle as thermal
mitigation is not interface specific.
Bug: 112471991
Test: atest FrameworksWifiTests
Change-Id: I40b8d85156b7a4561a4ef6db9e4655824c10b5ba
It was decided to base device capability for support of 6GHz band
on overlay configs rather than HAL capability bitmask.
Hence, this commit removes the 6GHz feature flag.
Bug: 145936758
Bug: 139354972
Test: Manual
Change-Id: I0c72161a31452bd0fab226f9f92f0aa859d3f5e4
This commit forces the features and feature_set to be 64 bit
for better portability.
Bug: 144576287
Test: Builds passes successfully
Change-Id: I93c74d9f1802520c9bd0aa7f8f15cec4e30ce2ba
This commit implements support of checking whether device supports 6GHz band.
To accomodate the new feature as well as any future features, feature_set type
was changed from int (32 bits) to long (64 bits).
Bug: 139354972
Test: Manual
Change-Id: If002d8efb854d50af314794926fbdfdc4fb08a5e
This CL makes modidfication to support Wifi 802.11ax to RTT procedures.
This includes adding support for the 11ax preamble
Bug: 139354972
Test: Manual
Change-Id: I2aca64edcb4bc2ee267db4e4011da246c540a4b8
Main motivation is to prevent wake lock leaks, e.g. b/133175847.
Changing power.h header breaks downstream vendor code that does C
linkage to that header b/135730848. Introduce new wakelock.h header.
Bug: 133175847
Test: boot blueline
Test: device suspends if left alone
Change-Id: I477123938ab20e954ce4d55b8588c0a116ed3882
In current implementation, the ether type used for offloaded
packets is always hardcoded to IPv4 in lower layers.
This commit adds support to specify ether type of offloaded
packets from user space.
Bug: 122487582
Test: Manual
Change-Id: I1ca7391bd70ecebaf0591e0eafe08b79383538c5
This commit updates the enum for wifi_sar_scenario.
Bug: 112205428
Test: Compiles (just a header file change)
Change-Id: If01d0daf5e535e8fdca6eeab115f6c409cc38c46
This commit is part of the addition of the ether_type as an argument
to the legacy hal function to send an offloaded packet.
Bug: 122487582
Test: Manual
Test: Make sure code builds properly
Change-Id: I5c56acb74f5724ac3d6199433c7632177bfc9704
P2P random MAC needs the driver to support changing MAC address.
Bug: 118904478
Test: manual test
* Enter WiFI Direct Page
* check the feature is enabled in logcat
* WifiP2pService: Supported feature: P2P MAC randomization
* check p2p0 MAC address is randomized.
Change-Id: Iadae3cf74722d29014caffe7080e0efa44a7659e
Add NDPE attribute config and enable support so that the framework
can decide the usage of it.
Bug: 113149569
Bug: 112586769
Test: (ACTS) act.py ThroughputTest:test_iperf_max_ndi_aware_only_passphrases
Test: (CTS) atest SingleDeviceTest
Change-Id: I0c93ba53fa7de3e346ab0913d04bd670a528ec4e
This commit adds the enum and prototype to enable setting of wifi
latency mode.
Bug: 34905427
Test: Unit test
Test: ./hardware/interfaces/wifi/1.3/default/tests/runtests.sh
Test: VTS test
Test: run vts -m VtsHalWifiV1_3TargetTest
Change-Id: I846fd5f41b740be9ebf2efb16be87d456b573b2a