[PATCH 0/4] ath11k: Enable low power mode when WLAN is not active
Limonciello, Mario
mario.limonciello at amd.com
Thu Aug 25 10:16:22 PDT 2022
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?
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.
More information about the ath11k
mailing list