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
This commit is contained in:
Isaac Chiou 2022-03-16 18:47:01 +08:00
parent 712f48c217
commit 52afeb68e3
3 changed files with 7 additions and 0 deletions

View file

@ -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();

View file

@ -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();

View file

@ -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