[PATCH 0/4] ath11k: Enable low power mode when WLAN is not active

Manikanta Pubbisetty quic_mpubbise at quicinc.com
Sun Aug 28 22:28:45 PDT 2022


On 8/25/2022 10:46 PM, Limonciello, Mario wrote:
> On 8/25/2022 06:24, Manikanta Pubbisetty wrote:
>> On 7/23/2022 5:39 PM, Limonciello, Mario wrote:
>>> On 7/22/2022 17:00, Limonciello, Mario wrote:
>>>> On 7/20/2022 08:49, Manikanta Pubbisetty wrote:
>>>>> Currently, WLAN chip is powered once during driver probe and is kept
>>>>> ON (powered) always even when WLAN is not active; keeping the chip
>>>>> powered ON all the time will consume extra power which is not
>>>>> desirable on a battery operated device. Same is the case with non-WoW
>>>>> suspend, chip will not be put into low power mode when the system is
>>>>> suspended resulting in higher battery drain.
>>>>>
>>>>> Send QMI MODE OFF command to firmware during WiFi OFF to put device
>>>>> into low power mode.
>>>>>
>>>>> Tested-on: WCN6750 hw1.0 AHB WLAN.MSL.1.0.1-00887-QCAMSLSWPLZ-1
>>>>>
>>>>> Manikanta Pubbisetty (4):
>>>>>    ath11k: Fix double free issue during SRNG deinit
>>>>>    ath11k: Move hardware initialization logic to start()
>>>>>    ath11k: Enable low power mode when WLAN is not active
>>>>>    ath11k: Fix failed to parse regulatory event print
>>>>>
>>>>>   drivers/net/wireless/ath/ath11k/core.c | 237 
>>>>> ++++++++++++++++++-------
>>>>>   drivers/net/wireless/ath/ath11k/core.h |   8 +-
>>>>>   drivers/net/wireless/ath/ath11k/hal.c  |   1 +
>>>>>   drivers/net/wireless/ath/ath11k/mac.c  |  33 ++--
>>>>>   drivers/net/wireless/ath/ath11k/reg.c  |   2 +
>>>>>   5 files changed, 189 insertions(+), 92 deletions(-)
>>>>>
>>>>
>>>> This series looked potentially promising to me for a problem that 
>>>> I'm seeing on a notebook failing to sleep where WLAN_WAKE is 
>>>> asserted on the WCN6855 on resume even though WoW wasn't set at 
>>>> all.  This is problematic as it causes a spurious wake while SUT is 
>>>> reading from the EC since two IRQs are now active and the kernel 
>>>> wakes from that.
>>>> Removing the WCN6855 from the system it doesn't happen.
>>>>
>>>> I figured I'd give it a spin to see if it improved things.
>>>> I applied the series on top of 5.19-rc7 and it applied cleanly but I 
>>>> get timeouts on wlan card init (and of course suspend fails now too).
>>>>
>>>> Here's the mhi/ath11k_pci snippets:
>>>>
>>>> [    2.864110] ath11k_pci 0000:01:00.0: BAR 0: assigned [mem 
>>>> 0xb4000000-0xb41fffff 64bit]
>>>> [    2.864901] ath11k_pci 0000:01:00.0: MSI vectors: 32
>>>> [    2.864912] ath11k_pci 0000:01:00.0: wcn6855 hw2.1
>>>> [    3.106892] mhi mhi0: Requested to power ON
>>>> [    3.107054] mhi mhi0: Power on setup success
>>>> [    3.198178] mhi mhi0: Wait for device to enter SBL or Mission mode
>>>> [    3.971019] ath11k_pci 0000:01:00.0: chip_id 0x2 chip_family 0xb 
>>>> board_id 0xff soc_id 0x400c0210
>>>> [    3.971025] ath11k_pci 0000:01:00.0: fw_version 0x11080bbb 
>>>> fw_build_timestamp 2021-12-16 03:42 fw_build_id 
>>>> WLAN.HSP.1.1-03003-QCAHSPSWPL_V1_V2_SILICONZ_LITE-2
>>>> [    4.290328] ath11k_pci 0000:01:00.0 wlp1s0: renamed from wlan0
>>>> [    4.308760] ath11k_pci 0000:01:00.0: Failed to set the requested 
>>>> Country regulatory setting
>>>> [    4.309028] ath11k_pci 0000:01:00.0: Failed to set the requested 
>>>> Country regulatory setting
>>>> [   14.386201] ath11k_pci 0000:01:00.0: qmi failed wlan ini request, 
>>>> err = -110
>>>> [   14.386210] ath11k_pci 0000:01:00.0: qmi failed to send wlan fw 
>>>> ini:-110
>>>> [   14.386214] ath11k_pci 0000:01:00.0: failed to send firmware 
>>>> start: -110
>>>> [   14.386243] ath11k_pci 0000:01:00.0: failed to start firmware: -110
>>>> [   14.386266] ath11k_pci 0000:01:00.0: failed to setup device: -110
>>>> [   14.386300] ath11k_pci 0000:01:00.0: failed to start device : -110
>>>>
>>>> And so - on.
>>>> Is it functionally dependent on other patches in linux-next or 
>>>> another tree I won't see in 5.19?
>>>
>>> I had a try with linux-next and your series but I reproduce the same 
>>> failure I described above.
>>>
>>> ee3a066e4f4e (HEAD) ath11k: Fix failed to parse regulatory event print
>>> 4f850f1e26dc ath11k: Enable low power mode when WLAN is not active
>>> e320c8ef9841 ath11k: Move hardware initialization logic to start()
>>> dbc26036c1ef ath11k: Fix double free issue during SRNG deinit
>>> 18c107a1f120 (tag: next-20220722, linux-next/master) Add linux-next 
>>> specific files for 20220722
>>>
>>>
>>
>> Sorry for late reply and thanks for reporting the bug.
>> After several rounds of discussions with the concerned teams on the 
>> failure that you have reported, we have root caused the issue.
>>
> 
> Thanks for getting back to me and confirming that.
> 
>> 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.
> 
> Well glad I reported it and saved you a regression!
> 
>>
>> For now, I have posted a V2 enabling the "low power mode" design only on
>> WCN6750. I have started working on enabling the logic for other 
>> chipsets also. Once the changes are well tested, I'll post a separate 
>> patch to enable it on WCN6855. It might take a little more time.
>>
> 
> Will low power mode on WCN6855 also require F/W changes, or you expect 
> that it will be able to be done entirely in the kernel driver?

It should most likely be a driver change.

> 
> I am eager to see if low power mode can fix my existing mentioned issue. 
>   If it can you may CC me when they go out and I'm happy to test these 
> patches too when you have them ready.
> 

Sure, thanks!!



More information about the ath11k mailing list