From 52afeb68e3d0f2166cde4b173dd890812d01ea61 Mon Sep 17 00:00:00 2001 From: Isaac Chiou Date: Wed, 16 Mar 2022 18:47:01 +0800 Subject: [PATCH] Add HAL APIs for TX power limits To lower the instantaneous battery current draw of WiFi, we provide a way to allow PowerManager to enable/disable Tx power limits. In the legacy HAL, we call the API in Broadcom HAL to enable/disable WiFi TX power limits. Bug: 215193418 Test: New APIs work fine Change-Id: I1fbe71c3380514e2eba96adc5902d2028a55e006 --- wifi/1.6/default/wifi_legacy_hal.cpp | 4 ++++ wifi/1.6/default/wifi_legacy_hal.h | 2 ++ wifi/1.6/default/wifi_legacy_hal_stubs.cpp | 1 + 3 files changed, 7 insertions(+) diff --git a/wifi/1.6/default/wifi_legacy_hal.cpp b/wifi/1.6/default/wifi_legacy_hal.cpp index bb8cf590d9..2211897cd2 100644 --- a/wifi/1.6/default/wifi_legacy_hal.cpp +++ b/wifi/1.6/default/wifi_legacy_hal.cpp @@ -1585,6 +1585,10 @@ wifi_error WifiLegacyHal::chreRegisterHandler(const std::string& iface_name, return status; } +wifi_error WifiLegacyHal::enableWifiTxPowerLimits(const std::string& iface_name, bool enable) { + return global_func_table_.wifi_enable_tx_power_limits(getIfaceHandle(iface_name), enable); +} + void WifiLegacyHal::invalidate() { global_handle_ = nullptr; iface_name_to_handle_.clear(); diff --git a/wifi/1.6/default/wifi_legacy_hal.h b/wifi/1.6/default/wifi_legacy_hal.h index 6f42f70359..2b923b44a7 100644 --- a/wifi/1.6/default/wifi_legacy_hal.h +++ b/wifi/1.6/default/wifi_legacy_hal.h @@ -683,6 +683,8 @@ class WifiLegacyHal { wifi_error chreRegisterHandler(const std::string& iface_name, const ChreCallbackHandlers& handler); + wifi_error enableWifiTxPowerLimits(const std::string& iface_name, bool enable); + private: // Retrieve interface handles for all the available interfaces. wifi_error retrieveIfaceHandles(); diff --git a/wifi/1.6/default/wifi_legacy_hal_stubs.cpp b/wifi/1.6/default/wifi_legacy_hal_stubs.cpp index 5ad22f5803..b3bd37389c 100644 --- a/wifi/1.6/default/wifi_legacy_hal_stubs.cpp +++ b/wifi/1.6/default/wifi_legacy_hal_stubs.cpp @@ -166,6 +166,7 @@ bool initHalFuncTableWithStubs(wifi_hal_fn* hal_fn) { populateStubFor(&hal_fn->wifi_nan_rtt_chre_enable_request); populateStubFor(&hal_fn->wifi_nan_rtt_chre_disable_request); populateStubFor(&hal_fn->wifi_chre_register_handler); + populateStubFor(&hal_fn->wifi_enable_tx_power_limits); return true; } } // namespace legacy_hal