Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 52afeb68 authored by Isaac Chiou's avatar Isaac Chiou
Browse files

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
parent 712f48c2
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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();
+2 −0
Original line number Diff line number Diff line
@@ -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();
+1 −0
Original line number Diff line number Diff line
@@ -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