[PATCH 0/4] ath11k: Enable low power mode when WLAN is not active
Mark Herbert
mark.herbert42 at gmail.com
Sun Aug 28 23:27:19 PDT 2022
On 8/29/22 08:30, Manikanta Pubbisetty wrote:
> On 8/26/2022 2:31 AM, Mark Herbert wrote:
>>>
>>>> The changes that I have posted will not work on other targets like
>>>> WCN6855 as is. It requires additional changes and therefore lots of
>>>> testing.
>>>
>>
>> Will the changes be possible for QCA6390 as well? Currently this
>> chip only activates power saving mode when it is connected, but
>> behaves badly when not associated to any network. So there is a
>> chance that this kind of solution will help.
>>
>
> Not associated to any network as in Wi-Fi is ON and not connected or
> Wi-Fi is off?
>
> Manikanta
The way it works now.
I boot my laptop (it is Dell XPS 13 9310). If the network is available
and QCA6390 associates with it - the CPU package goes for PC10 state
for about 70% of time on idle. Even if I disconnect now it will be still
good.
But if I boot my laptop and never connect (associate to any WiFi ) - the
CPU will never reach below PC3 with WiFi on. If I disable WiFi - it
reaches PC10, if enable back - again PC3.
The point is QCA6390 need to be associated to network after boot (or
hibernation resume) before it activates powersave mode. If this very
first associatiion is not happening - it will eat battery as mad.
For now I've workarounded it by setting a systemd timer service to check
if the WiFi is not associated for f 3 minutes and if it is not - switch
wifi off.
But it is very strange why this first association is mandatory, because
if this forst association after boot happened - QCA6390 behaves
perfectly with WiFi on but not asociated. And continue to work perfectly
until hardware restart (reboot or hibernate resume) - then again first
association is needed. I was thinking that it is happening because the
ath11k_mac_vif_setup_ps is called only after the association so I've
tested the patch to call it earlier, and still no luck.
More information about the ath11k
mailing list