mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-29 10:08:59 +00:00
93ae4353cd
ath11k is the upstream driver for Qualcomm 802.11ax radios, both for the internal AHB and PCI based cards. This commit does however only provide PCI support while AHB will follow but its SoC specific so it will require an OpenWrt target first. It differs a bit from ath10k as it requires stuff like QRTR, MHI and QMI helpers. PCI variant requires qrtr-mhi and mhi-bus which backports do provide, however we are dropping those in a patch as they will conflict with support for the AHB variant as that one requires qrtr-smd which in turn requires RPMSG and GLINK and its not feasable to provide those in backports as they are really SoC specific. QRTR and MHI in kernel 5.10 are not usable and backporting the changes is not easy as they have changed drastically from 5.10 to 5.15 ath11k will only be available on targets that use kernel 5.15. Signed-off-by: Robert Marko <robimarko@gmail.com>
40 lines
1.4 KiB
Diff
40 lines
1.4 KiB
Diff
From 3f9b09ccf7d5f23066b02881a737bee42def9d1a Mon Sep 17 00:00:00 2001
|
|
From: Baochen Qiang <quic_bqiang@quicinc.com>
|
|
Date: Mon, 10 Oct 2022 11:32:37 +0800
|
|
Subject: [PATCH 9/9] wifi: ath11k: Send PME message during wakeup from D3cold
|
|
|
|
We are seeing system stuck on some specific platforms due to
|
|
WLAN chip fails to wakeup from D3cold state.
|
|
|
|
With this flag, firmware will send PME message during wakeup
|
|
and this issue is gone.
|
|
|
|
Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3
|
|
|
|
Signed-off-by: Baochen Qiang <quic_bqiang@quicinc.com>
|
|
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
|
|
Link: https://lore.kernel.org/r/20221010033237.415478-1-quic_bqiang@quicinc.com
|
|
---
|
|
drivers/net/wireless/ath/ath11k/qmi.c | 3 +++
|
|
1 file changed, 3 insertions(+)
|
|
|
|
--- a/drivers/net/wireless/ath/ath11k/qmi.c
|
|
+++ b/drivers/net/wireless/ath/ath11k/qmi.c
|
|
@@ -19,6 +19,7 @@
|
|
#define SLEEP_CLOCK_SELECT_INTERNAL_BIT 0x02
|
|
#define HOST_CSTATE_BIT 0x04
|
|
#define PLATFORM_CAP_PCIE_GLOBAL_RESET 0x08
|
|
+#define PLATFORM_CAP_PCIE_PME_D3COLD 0x10
|
|
|
|
#define FW_BUILD_ID_MASK "QC_IMAGE_VERSION_STRING="
|
|
|
|
@@ -1752,6 +1753,8 @@ static int ath11k_qmi_host_cap_send(stru
|
|
if (ab->hw_params.global_reset)
|
|
req.nm_modem |= PLATFORM_CAP_PCIE_GLOBAL_RESET;
|
|
|
|
+ req.nm_modem |= PLATFORM_CAP_PCIE_PME_D3COLD;
|
|
+
|
|
ath11k_dbg(ab, ATH11K_DBG_QMI, "qmi host cap request\n");
|
|
|
|
ret = qmi_txn_init(&ab->qmi.handle, &txn,
|