forked from Minki/linux
ath10k: fix idle power consumption
mac80211 can update vif powersave state while disconnected. Firmware doesn't behave nicely and consumes more power than necessary if PS is disabled on a non-started vdev. Hence force-enable PS for non-running vdevs. This reduces power drain on QCA61X4 from 88mA to 36mA when interface is up and not associated. QCA988X wasn't measured. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com> Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
This commit is contained in:
parent
76d870ed09
commit
917826be9f
@ -1738,7 +1738,14 @@ static int ath10k_mac_vif_setup_ps(struct ath10k_vif *arvif)
|
||||
enable_ps = false;
|
||||
}
|
||||
|
||||
if (enable_ps) {
|
||||
if (!arvif->is_started) {
|
||||
/* mac80211 can update vif powersave state while disconnected.
|
||||
* Firmware doesn't behave nicely and consumes more power than
|
||||
* necessary if PS is disabled on a non-started vdev. Hence
|
||||
* force-enable PS for non-running vdevs.
|
||||
*/
|
||||
psmode = WMI_STA_PS_MODE_ENABLED;
|
||||
} else if (enable_ps) {
|
||||
psmode = WMI_STA_PS_MODE_ENABLED;
|
||||
param = WMI_STA_PS_PARAM_INACTIVITY_TIME;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user