summaryrefslogtreecommitdiffstats
path: root/wifi/1.3/default/wifi_chip.cpp
diff options
context:
space:
mode:
authorAhmed ElArabawy <arabawy@google.com>2018-10-26 09:46:04 -0700
committerAhmed ElArabawy <arabawy@google.com>2018-12-04 18:10:15 +0000
commiteaf8240cf1c624b29dba28792571924739710d39 (patch)
tree9ccc9f5165e62e9416bcd6235f26d0d56e2162ba /wifi/1.3/default/wifi_chip.cpp
parentc622013bce18c4c578cc442e87e578453c43740e (diff)
downloadandroid_hardware_interfaces-eaf8240cf1c624b29dba28792571924739710d39.tar.gz
android_hardware_interfaces-eaf8240cf1c624b29dba28792571924739710d39.tar.bz2
android_hardware_interfaces-eaf8240cf1c624b29dba28792571924739710d39.zip
Wifi: Add Implementation for low-latency modes API
This commit adds default implementation for the new API for low-latency modes in IWifiChip@1.3 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: I7109fbad75c0e5adf89edb47f5614a636c65d68f
Diffstat (limited to 'wifi/1.3/default/wifi_chip.cpp')
-rw-r--r--wifi/1.3/default/wifi_chip.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/wifi/1.3/default/wifi_chip.cpp b/wifi/1.3/default/wifi_chip.cpp
index faf186253..a80116ab8 100644
--- a/wifi/1.3/default/wifi_chip.cpp
+++ b/wifi/1.3/default/wifi_chip.cpp
@@ -561,6 +561,13 @@ Return<void> WifiChip::resetTxPowerScenario(
hidl_status_cb);
}
+Return<void> WifiChip::setLatencyMode(LatencyMode mode,
+ setLatencyMode_cb hidl_status_cb) {
+ return validateAndCall(this, WifiStatusCode::ERROR_WIFI_CHIP_INVALID,
+ &WifiChip::setLatencyModeInternal, hidl_status_cb,
+ mode);
+}
+
Return<void> WifiChip::registerEventCallback_1_2(
const sp<V1_2::IWifiChipEventCallback>& event_callback,
registerEventCallback_cb hidl_status_cb) {
@@ -576,6 +583,12 @@ Return<void> WifiChip::selectTxPowerScenario_1_2(
hidl_status_cb, scenario);
}
+Return<void> WifiChip::getCapabilities_1_3(getCapabilities_cb hidl_status_cb) {
+ return validateAndCall(this, WifiStatusCode::ERROR_WIFI_CHIP_INVALID,
+ &WifiChip::getCapabilitiesInternal_1_3,
+ hidl_status_cb);
+}
+
Return<void> WifiChip::debug(const hidl_handle& handle,
const hidl_vec<hidl_string>&) {
if (handle != nullptr && handle->numFds >= 1) {
@@ -618,6 +631,11 @@ WifiStatus WifiChip::registerEventCallbackInternal(
}
std::pair<WifiStatus, uint32_t> WifiChip::getCapabilitiesInternal() {
+ // Deprecated support for this callback.
+ return {createWifiStatus(WifiStatusCode::ERROR_NOT_SUPPORTED), 0};
+}
+
+std::pair<WifiStatus, uint32_t> WifiChip::getCapabilitiesInternal_1_3() {
legacy_hal::wifi_error legacy_status;
uint32_t legacy_feature_set;
uint32_t legacy_logger_feature_set;
@@ -1058,6 +1076,13 @@ WifiStatus WifiChip::resetTxPowerScenarioInternal() {
return createWifiStatusFromLegacyError(legacy_status);
}
+WifiStatus WifiChip::setLatencyModeInternal(LatencyMode mode) {
+ auto legacy_status = legacy_hal_.lock()->setLatencyMode(
+ getWlan0IfaceName(),
+ hidl_struct_util::convertHidlLatencyModeToLegacy(mode));
+ return createWifiStatusFromLegacyError(legacy_status);
+}
+
WifiStatus WifiChip::registerEventCallbackInternal_1_2(
const sp<V1_2::IWifiChipEventCallback>& event_callback) {
if (!event_cb_handler_.addCallback(event_callback)) {