On 11/27/2023 8:20 AM, Kalle Valo wrote: > From: Kalle Valo <quic_kvalo@xxxxxxxxxxx> > > Currently in ath11k we keep the firmware running on the WLAN device when the > network interface (wlan0) is down. The problem is that this will break > hibernation, obviously the firmware can't be running after the whole system is > powered off. To power down the ath11k firmware for suspend/hibernation some > changes both in MHI subsystem and ath11k is needed. > > This patchset fixes a longstanding bug report about broken hibernation support: > > https://bugzilla.kernel.org/show_bug.cgi?id=214649 > > This patchset is marked as RFC as it requires changes in MHI subsystem. Also > this has been tested only on WCN6855, need to test also on more AP based > chipsets like IPQ8074 and QCN9074. > > The patches are also available at: > > https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/log/?h=ath11k-hibernation-support > > Earlier versions of this patchset have been tested by multiple users with > positive results. > > v2: > > * rebase to ath-202311221826 (6.7.0-rc2-wt-ath+) > > * 'bus: mhi: host: add mhi_power_down_no_destroy()': fix null state string for > DEV_ST_TRANSITION_DISABLE_DESTROY_DEVICE > > * 'bus: mhi: host: add new interfaces to handle MHI channels > directly': fix typos in comments > > * 'bus: mhi: host: add new interfaces to handle MHI channels directly': honour > initial autoqueue configuration > > * 'bus: mhi: host: add new interfaces to handle MHI channels > directly': don't prepare/unprepare MHI devices that don't match > with a MHI client driver > > * 'wifi: ath11k: remove MHI LOOPBACK channels': remove LOOPBACK channels for QCN9074 as well > > v1: https://lore.kernel.org/mhi/20231110102202.3168243-1-kvalo@xxxxxxxxxx/ > > Baochen Qiang (7): > bus: mhi: host: add mhi_power_down_no_destroy() > bus: mhi: host: add new interfaces to handle MHI channels directly > wifi: ath11k: handle irq enable/disable in several code path > wifi: ath11k: remove MHI LOOPBACK channels > wifi: ath11k: do not dump SRNG statistics during resume > wifi: ath11k: fix warning on DMA ring capabilities event > wifi: ath11k: support hibernation > > Kalle Valo (1): > wifi: ath11k: thermal: don't try to register multiple times > > drivers/bus/mhi/host/init.c | 1 + > drivers/bus/mhi/host/internal.h | 1 + > drivers/bus/mhi/host/main.c | 107 ++++++++++++++++++++++ > drivers/bus/mhi/host/pm.c | 26 ++++-- > drivers/net/wireless/ath/ath11k/ahb.c | 8 +- > drivers/net/wireless/ath/ath11k/core.c | 44 +++++---- > drivers/net/wireless/ath/ath11k/core.h | 2 + > drivers/net/wireless/ath/ath11k/hif.h | 12 +-- > drivers/net/wireless/ath/ath11k/mhi.c | 77 ++++------------ > drivers/net/wireless/ath/ath11k/mhi.h | 4 +- > drivers/net/wireless/ath/ath11k/pci.c | 55 +++++++++-- > drivers/net/wireless/ath/ath11k/qmi.c | 7 +- > drivers/net/wireless/ath/ath11k/thermal.c | 3 + > drivers/net/wireless/ath/ath11k/wmi.c | 1 + > include/linux/mhi.h | 47 +++++++++- > 15 files changed, 285 insertions(+), 110 deletions(-) > > > base-commit: 16a212b4f33c4edd9ce9a9e0953b5389216e8ed9 Series LGTM. Will add appropriate tags when this is no longer RFC