summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarl Huang <quic_cjhuang@quicinc.com>2023-04-21 12:44:57 +0300
committerKalle Valo <quic_kvalo@quicinc.com>2023-04-26 17:30:07 +0300
commit34c5625a459a7dff745bcd862962688b5c795762 (patch)
tree986a6a0c71233ce36547df8a971d5fbe52f7db4b
parent9981a3ac5887efaff8d2a9e3fb0d48612d8cf733 (diff)
downloadlinux-stable-34c5625a459a7dff745bcd862962688b5c795762.tar.gz
linux-stable-34c5625a459a7dff745bcd862962688b5c795762.tar.bz2
linux-stable-34c5625a459a7dff745bcd862962688b5c795762.zip
wifi: ath12k: set PERST pin no pull request for WCN7850
The PCIe PERST pin is currently pulled down on WCN7850 and it causes some power leakage. Fix it by notifying firmware not to pull down PCIe PERST pin in QMI message for WCN7850. Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0-03427-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.15378.4 Signed-off-by: Carl Huang <quic_cjhuang@quicinc.com> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com> Link: https://lore.kernel.org/r/20230404032057.3236122-3-quic_cjhuang@quicinc.com
-rw-r--r--drivers/net/wireless/ath/ath12k/hw.c3
-rw-r--r--drivers/net/wireless/ath/ath12k/qmi.h1
2 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath12k/hw.c b/drivers/net/wireless/ath/ath12k/hw.c
index cc47cbf93f6b..5991cc91cd00 100644
--- a/drivers/net/wireless/ath/ath12k/hw.c
+++ b/drivers/net/wireless/ath/ath12k/hw.c
@@ -962,7 +962,8 @@ static const struct ath12k_hw_params ath12k_hw_params[] = {
.hal_ops = &hal_wcn7850_ops,
- .qmi_cnss_feature_bitmap = BIT(CNSS_QDSS_CFG_MISS_V01),
+ .qmi_cnss_feature_bitmap = BIT(CNSS_QDSS_CFG_MISS_V01) |
+ BIT(CNSS_PCIE_PERST_NO_PULL_V01),
},
{
.name = "qcn9274 hw2.0",
diff --git a/drivers/net/wireless/ath/ath12k/qmi.h b/drivers/net/wireless/ath/ath12k/qmi.h
index ad87f19903db..df76149c49f5 100644
--- a/drivers/net/wireless/ath/ath12k/qmi.h
+++ b/drivers/net/wireless/ath/ath12k/qmi.h
@@ -189,6 +189,7 @@ struct wlfw_host_mlo_chip_info_s_v01 {
enum ath12k_qmi_cnss_feature {
CNSS_FEATURE_MIN_ENUM_VAL_V01 = INT_MIN,
CNSS_QDSS_CFG_MISS_V01 = 3,
+ CNSS_PCIE_PERST_NO_PULL_V01 = 4,
CNSS_MAX_FEATURE_V01 = 64,
CNSS_FEATURE_MAX_ENUM_VAL_V01 = INT_MAX,
};