Update to version 6.14.11 Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
262 lines
12 KiB
Diff
262 lines
12 KiB
Diff
From patchwork Wed May 21 22:45:37 2025
|
|
Content-Type: text/plain; charset="utf-8"
|
|
MIME-Version: 1.0
|
|
Content-Transfer-Encoding: 7bit
|
|
X-Patchwork-Submitter: Pradeep Kumar Chitrapu <quic_pradeepc@quicinc.com>
|
|
X-Patchwork-Id: 14096121
|
|
X-Patchwork-Delegate: quic_jjohnson@quicinc.com
|
|
Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com
|
|
[205.220.180.131])
|
|
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
|
|
(No client certificate requested)
|
|
by smtp.subspace.kernel.org (Postfix) with ESMTPS id ED55023958A
|
|
for <linux-wireless@vger.kernel.org>; Wed, 21 May 2025 22:45:58 +0000 (UTC)
|
|
Authentication-Results: smtp.subspace.kernel.org;
|
|
arc=none smtp.client-ip=205.220.180.131
|
|
ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
|
|
t=1747867560; cv=none;
|
|
b=R6R1l/0hUMYWkLzVM4w8Z2s3aU01ujlrdBV4IEYLrqQ3CzuP8xd2fnZMcdbVAFvXd/hepJKOZrFod6RG43u2TuGCQ5wM3SKIqyk0c/MlskZk+jnUnvm9WtrezJS82phw1G2mJ8NiYsKzmcJGMQtaYfl3jWA4o+BGMGyOg0Keb/M=
|
|
ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org;
|
|
s=arc-20240116; t=1747867560; c=relaxed/simple;
|
|
bh=HUqzq2V1sSbcLZxqxveNb5xXvMg5sfyIhSzn4mKsdms=;
|
|
h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References:
|
|
MIME-Version:Content-Type;
|
|
b=G9poRT2jwhhAC0htiaG4SIE8b1DuTf63uDCDCGj5WoQ4B/v/NWtaqtzBWJF4c7UuQBso4JO4X9auJyfxJ4SxUBrULdlJq7mvAs7nxFOPEBDBltLKWCZznLwuuuo690MjvUQ5mfKt/Oy+uREyur4vXsQtfSBZc0DSZUlC5R+Z2Mc=
|
|
ARC-Authentication-Results: i=1; smtp.subspace.kernel.org;
|
|
dmarc=pass (p=none dis=none) header.from=quicinc.com;
|
|
spf=pass smtp.mailfrom=quicinc.com;
|
|
dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com
|
|
header.b=cu63IdMd; arc=none smtp.client-ip=205.220.180.131
|
|
Authentication-Results: smtp.subspace.kernel.org;
|
|
dmarc=pass (p=none dis=none) header.from=quicinc.com
|
|
Authentication-Results: smtp.subspace.kernel.org;
|
|
spf=pass smtp.mailfrom=quicinc.com
|
|
Authentication-Results: smtp.subspace.kernel.org;
|
|
dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com
|
|
header.b="cu63IdMd"
|
|
Received: from pps.filterd (m0279871.ppops.net [127.0.0.1])
|
|
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id
|
|
54LJgw7Z025025;
|
|
Wed, 21 May 2025 22:45:56 GMT
|
|
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=
|
|
cc:content-transfer-encoding:content-type:date:from:in-reply-to
|
|
:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=
|
|
90lF32RvbNU2yyxl2mGBEewKfDvRJ7MRRLe6DgCwXFs=; b=cu63IdMdS+nJIsqy
|
|
ktY/ZQ/qTTWf2MpubSMC9UftiwnI9Xj6K8LFE0q+NvCN2EgZKzf+OzyW9wbbRepN
|
|
Q3ZYBAR3lFyw40J6AZgpAuPiq7Y+eqt7l8jc+/2bb2+imOzvWHwFkXSvc8nijnHX
|
|
ZLEU29M0xloyHeJ7xLbumzRdfcCJ6357/HKp9U3mLvEfpLY97t5/H3yEJWHQmnvE
|
|
aHkFaLM6Ru2R2+nzPDylKcY+TZsqv306oEqydWI33ANyvfDkWJqbQjtQ+geTkJxC
|
|
syi9ZifD5zPdOjb9YWNn0V8mWUBRx6hW8ZKU/L3gWGXjkvyRHneZ4AOz83Tp9Ym4
|
|
L34jSQ==
|
|
Received: from nalasppmta04.qualcomm.com (Global_NAT1.qualcomm.com
|
|
[129.46.96.20])
|
|
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46rwf6vbsf-1
|
|
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
|
|
Wed, 21 May 2025 22:45:55 +0000 (GMT)
|
|
Received: from nalasex01a.na.qualcomm.com (nalasex01a.na.qualcomm.com
|
|
[10.47.209.196])
|
|
by NALASPPMTA04.qualcomm.com (8.18.1.2/8.18.1.2) with ESMTPS id
|
|
54LMjsWN022226
|
|
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
|
|
Wed, 21 May 2025 22:45:54 GMT
|
|
Received: from ath12k-linux2.qualcomm.com (10.80.80.8) by
|
|
nalasex01a.na.qualcomm.com (10.47.209.196) with Microsoft SMTP Server
|
|
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
|
|
15.2.1544.9; Wed, 21 May 2025 15:45:54 -0700
|
|
From: Pradeep Kumar Chitrapu <quic_pradeepc@quicinc.com>
|
|
To: <ath12k@lists.infradead.org>
|
|
CC: <linux-wireless@vger.kernel.org>,
|
|
Pradeep Kumar Chitrapu
|
|
<quic_pradeepc@quicinc.com>,
|
|
Jeff Johnson <quic_jjohnson@quicinc.com>
|
|
Subject: [PATCH ath-next V14 7/9] wifi: ath12k: clean up 80P80 support
|
|
Date: Wed, 21 May 2025 15:45:37 -0700
|
|
Message-ID: <20250521224539.355985-8-quic_pradeepc@quicinc.com>
|
|
X-Mailer: git-send-email 2.43.0
|
|
In-Reply-To: <20250521224539.355985-1-quic_pradeepc@quicinc.com>
|
|
References: <20250521224539.355985-1-quic_pradeepc@quicinc.com>
|
|
Precedence: bulk
|
|
X-Mailing-List: linux-wireless@vger.kernel.org
|
|
List-Id: <linux-wireless.vger.kernel.org>
|
|
List-Subscribe: <mailto:linux-wireless+subscribe@vger.kernel.org>
|
|
List-Unsubscribe: <mailto:linux-wireless+unsubscribe@vger.kernel.org>
|
|
MIME-Version: 1.0
|
|
X-ClientProxiedBy: nasanex01a.na.qualcomm.com (10.52.223.231) To
|
|
nalasex01a.na.qualcomm.com (10.47.209.196)
|
|
X-QCInternal: smtphost
|
|
X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800
|
|
signatures=585085
|
|
X-Proofpoint-GUID: xDBdjIlSrmWJZkBfMwcImhxnyTIR4551
|
|
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTIxMDIyNiBTYWx0ZWRfX75XKL//oF16a
|
|
YMA/60ZSduIYMzTQ+PpEhRfS8BSEJ3JAYNLLDjp3b1hmrHJmdqMnxgbya6RQ+qeAISgkr8ZWIMx
|
|
fGx/btrlFP2SbXd0JWwSMOApD3LJewBu/ZeBWBDEWbbO00LOGnR0aFqmCeym6YSeYyakVcNd8nQ
|
|
0JnPxxBLeXeYPpIZTFMD6TpVFyfvtCG9jpMOI27FLBdHLednVW2yrOx5b62xwy181re5iN4XOki
|
|
1M/HJRMACpfQJImHpO9X3rRh2j79oKIKVwa3UjV8A7vD3noV/pV0SOTZP0awMYQH/Pn91nji685
|
|
auXzHG2pai3Byw89+jYZIG2xfiqBcBwIEARvw52XSv3glk0tSvLDxNo8nyFNPsZ63g70USl1IlC
|
|
AKhW+QOw9/zkn3oCB+3fZZ/y+F4vlu4OzN4gETU+6p3798YiFGWMvocQnI/Ig7Unex9rmOP5
|
|
X-Authority-Analysis: v=2.4 cv=fZOty1QF c=1 sm=1 tr=0 ts=682e57a3 cx=c_pps
|
|
a=ouPCqIW2jiPt+lZRy3xVPw==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17
|
|
a=GEpy-HfZoHoA:10 a=dt9VzEwgFbYA:10 a=COk6AnOGAAAA:8 a=QHHbJxpVzSBZVvfXPLwA:9
|
|
a=TjNXssC_j7lpFel5tvFf:22
|
|
X-Proofpoint-ORIG-GUID: xDBdjIlSrmWJZkBfMwcImhxnyTIR4551
|
|
X-Proofpoint-Virus-Version: vendor=baseguard
|
|
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
|
|
definitions=2025-05-21_07,2025-05-20_03,2025-03-28_01
|
|
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
|
|
clxscore=1015 mlxscore=0 adultscore=0 spamscore=0 bulkscore=0 suspectscore=0
|
|
malwarescore=0 priorityscore=1501 impostorscore=0 mlxlogscore=999
|
|
lowpriorityscore=0 phishscore=0 classifier=spam authscore=0 authtc=n/a
|
|
authcc= route=outbound adjust=0 reason=mlx scancount=1
|
|
engine=8.19.0-2505160000 definitions=main-2505210226
|
|
|
|
Clean up unused 80P80 references as hardware does not support
|
|
it. This is applicable to both QCN9274 and WCN7850.
|
|
|
|
Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1
|
|
|
|
Signed-off-by: Pradeep Kumar Chitrapu <quic_pradeepc@quicinc.com>
|
|
Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
|
|
---
|
|
drivers/net/wireless/ath/ath12k/mac.c | 48 ++++++---------------------
|
|
drivers/net/wireless/ath/ath12k/wmi.c | 2 --
|
|
drivers/net/wireless/ath/ath12k/wmi.h | 1 -
|
|
3 files changed, 10 insertions(+), 41 deletions(-)
|
|
|
|
--- a/drivers/net/wireless/ath/ath12k/mac.c
|
|
+++ b/drivers/net/wireless/ath/ath12k/mac.c
|
|
@@ -207,7 +207,7 @@ ath12k_phymodes[NUM_NL80211_BANDS][ATH12
|
|
[NL80211_CHAN_WIDTH_40] = MODE_11BE_EHT40,
|
|
[NL80211_CHAN_WIDTH_80] = MODE_11BE_EHT80,
|
|
[NL80211_CHAN_WIDTH_160] = MODE_11BE_EHT160,
|
|
- [NL80211_CHAN_WIDTH_80P80] = MODE_11BE_EHT80_80,
|
|
+ [NL80211_CHAN_WIDTH_80P80] = MODE_UNKNOWN,
|
|
[NL80211_CHAN_WIDTH_320] = MODE_11BE_EHT320,
|
|
},
|
|
[NL80211_BAND_6GHZ] = {
|
|
@@ -218,7 +218,7 @@ ath12k_phymodes[NUM_NL80211_BANDS][ATH12
|
|
[NL80211_CHAN_WIDTH_40] = MODE_11BE_EHT40,
|
|
[NL80211_CHAN_WIDTH_80] = MODE_11BE_EHT80,
|
|
[NL80211_CHAN_WIDTH_160] = MODE_11BE_EHT160,
|
|
- [NL80211_CHAN_WIDTH_80P80] = MODE_11BE_EHT80_80,
|
|
+ [NL80211_CHAN_WIDTH_80P80] = MODE_UNKNOWN,
|
|
[NL80211_CHAN_WIDTH_320] = MODE_11BE_EHT320,
|
|
},
|
|
|
|
@@ -2638,17 +2638,6 @@ static void ath12k_peer_assoc_h_he(struc
|
|
|
|
switch (link_sta->bandwidth) {
|
|
case IEEE80211_STA_RX_BW_160:
|
|
- if (he_cap->he_cap_elem.phy_cap_info[0] &
|
|
- IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_80PLUS80_MHZ_IN_5G) {
|
|
- v = ath12k_peer_assoc_h_he_limit(v, he_mcs_mask);
|
|
- arg->peer_he_rx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_80_80] = v;
|
|
-
|
|
- v = le16_to_cpu(he_cap->he_mcs_nss_supp.tx_mcs_80p80);
|
|
- arg->peer_he_tx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_80_80] = v;
|
|
-
|
|
- arg->peer_he_mcs_count++;
|
|
- he_tx_mcs = v;
|
|
- }
|
|
v = le16_to_cpu(he_cap->he_mcs_nss_supp.rx_mcs_160);
|
|
arg->peer_he_rx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_160] = v;
|
|
|
|
@@ -2935,16 +2924,11 @@ static enum wmi_phy_mode ath12k_mac_get_
|
|
struct ieee80211_link_sta *link_sta)
|
|
{
|
|
if (link_sta->bandwidth == IEEE80211_STA_RX_BW_160) {
|
|
- switch (link_sta->vht_cap.cap &
|
|
- IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_MASK) {
|
|
- case IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160MHZ:
|
|
+ if (link_sta->vht_cap.cap & IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160MHZ)
|
|
return MODE_11AC_VHT160;
|
|
- case IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160_80PLUS80MHZ:
|
|
- return MODE_11AC_VHT80_80;
|
|
- default:
|
|
- /* not sure if this is a valid case? */
|
|
- return MODE_11AC_VHT160;
|
|
- }
|
|
+
|
|
+ /* not sure if this is a valid case? */
|
|
+ return MODE_11AC_VHT160;
|
|
}
|
|
|
|
if (link_sta->bandwidth == IEEE80211_STA_RX_BW_80)
|
|
@@ -2966,11 +2950,8 @@ static enum wmi_phy_mode ath12k_mac_get_
|
|
if (link_sta->he_cap.he_cap_elem.phy_cap_info[0] &
|
|
IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_160MHZ_IN_5G)
|
|
return MODE_11AX_HE160;
|
|
- else if (link_sta->he_cap.he_cap_elem.phy_cap_info[0] &
|
|
- IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_80PLUS80_MHZ_IN_5G)
|
|
- return MODE_11AX_HE80_80;
|
|
- /* not sure if this is a valid case? */
|
|
- return MODE_11AX_HE160;
|
|
+
|
|
+ return MODE_UNKNOWN;
|
|
}
|
|
|
|
if (link_sta->bandwidth == IEEE80211_STA_RX_BW_80)
|
|
@@ -2998,14 +2979,10 @@ static enum wmi_phy_mode ath12k_mac_get_
|
|
IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_160MHZ_IN_5G)
|
|
return MODE_11BE_EHT160;
|
|
|
|
- if (link_sta->he_cap.he_cap_elem.phy_cap_info[0] &
|
|
- IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_80PLUS80_MHZ_IN_5G)
|
|
- return MODE_11BE_EHT80_80;
|
|
-
|
|
ath12k_warn(ar->ab, "invalid EHT PHY capability info for 160 Mhz: %d\n",
|
|
link_sta->he_cap.he_cap_elem.phy_cap_info[0]);
|
|
|
|
- return MODE_11BE_EHT160;
|
|
+ return MODE_UNKNOWN;
|
|
}
|
|
|
|
if (link_sta->bandwidth == IEEE80211_STA_RX_BW_80)
|
|
@@ -7077,8 +7054,6 @@ static void ath12k_mac_set_hemcsmap(stru
|
|
mcs_nss->tx_mcs_80 = cpu_to_le16(txmcs_map & 0xffff);
|
|
mcs_nss->rx_mcs_160 = cpu_to_le16(rxmcs_map & 0xffff);
|
|
mcs_nss->tx_mcs_160 = cpu_to_le16(txmcs_map & 0xffff);
|
|
- mcs_nss->rx_mcs_80p80 = cpu_to_le16(rxmcs_map & 0xffff);
|
|
- mcs_nss->tx_mcs_80p80 = cpu_to_le16(txmcs_map & 0xffff);
|
|
}
|
|
|
|
static void ath12k_mac_copy_he_cap(struct ath12k *ar,
|
|
@@ -7100,6 +7075,7 @@ static void ath12k_mac_copy_he_cap(struc
|
|
IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_40MHZ_IN_2G |
|
|
IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_40MHZ_80MHZ_IN_5G |
|
|
IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_160MHZ_IN_5G;
|
|
+ /* 80PLUS80 is not supported */
|
|
he_cap_elem->phy_cap_info[0] &=
|
|
~IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_80PLUS80_MHZ_IN_5G;
|
|
he_cap_elem->phy_cap_info[5] &=
|
|
@@ -10176,10 +10152,6 @@ static __le16
|
|
ath12k_mac_get_tx_mcs_map(const struct ieee80211_sta_he_cap *he_cap)
|
|
{
|
|
if (he_cap->he_cap_elem.phy_cap_info[0] &
|
|
- IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_80PLUS80_MHZ_IN_5G)
|
|
- return he_cap->he_mcs_nss_supp.tx_mcs_80p80;
|
|
-
|
|
- if (he_cap->he_cap_elem.phy_cap_info[0] &
|
|
IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_160MHZ_IN_5G)
|
|
return he_cap->he_mcs_nss_supp.tx_mcs_160;
|
|
|
|
--- a/drivers/net/wireless/ath/ath12k/wmi.c
|
|
+++ b/drivers/net/wireless/ath/ath12k/wmi.c
|
|
@@ -1021,8 +1021,6 @@ static void ath12k_wmi_put_wmi_channel(s
|
|
chan->band_center_freq1 = cpu_to_le32(center_freq1 - 40);
|
|
|
|
chan->band_center_freq2 = cpu_to_le32(center_freq1);
|
|
- } else if (arg->mode == MODE_11BE_EHT80_80) {
|
|
- chan->band_center_freq2 = cpu_to_le32(arg->band_center_freq2);
|
|
} else {
|
|
chan->band_center_freq2 = 0;
|
|
}
|
|
--- a/drivers/net/wireless/ath/ath12k/wmi.h
|
|
+++ b/drivers/net/wireless/ath/ath12k/wmi.h
|
|
@@ -3726,7 +3726,6 @@ struct wmi_vdev_install_key_arg {
|
|
#define WMI_HOST_MAX_HE_RATE_SET 3
|
|
#define WMI_HECAP_TXRX_MCS_NSS_IDX_80 0
|
|
#define WMI_HECAP_TXRX_MCS_NSS_IDX_160 1
|
|
-#define WMI_HECAP_TXRX_MCS_NSS_IDX_80_80 2
|
|
|
|
#define ATH12K_WMI_MLO_MAX_PARTNER_LINKS \
|
|
(ATH12K_WMI_MLO_MAX_LINKS + ATH12K_MAX_NUM_BRIDGE_LINKS - 1)
|