[PATCH ath-next 2/2] wifi: ath12k: Extend BA buffer size to 1024 for EHT capable links
Rameshkumar Sundaram
rameshkumar.sundaram at oss.qualcomm.com
Thu Nov 5 20:57:43 PST 2026
From: Paulson Raja L <lraja at qti.qualcomm.com>
IEEE 802.11be (EHT) extends the maximum BA buffer size from 256 MPDUs
(HE) to 1024 MPDUs. EHT-capable links are currently limited to the
HE maximum of 256.
Add WMI_BA_MODE_BUFFER_SIZE_1024 and select the buffer size based on
the negotiated mode: 1024 for EHT-capable links, 256 for HE-only.
Also include the return code when reporting BA mode configuration
failure to aid debugging.
Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.6-01243-QCAHKSWPL_SILICONZ-1
Signed-off-by: Paulson Raja L <lraja at qti.qualcomm.com>
Signed-off-by: Rameshkumar Sundaram <rameshkumar.sundaram at oss.qualcomm.com>
---
drivers/net/wireless/ath/ath12k/mac.c | 14 +++++++++-----
drivers/net/wireless/ath/ath12k/wmi.h | 1 +
2 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/drivers/net/wireless/ath/ath12k/mac.c b/drivers/net/wireless/ath/ath12k/mac.c
index 711acb32a6ca..0ad019fd4918 100644
--- a/drivers/net/wireless/ath/ath12k/mac.c
+++ b/drivers/net/wireless/ath/ath12k/mac.c
@@ -4889,14 +4889,18 @@ static void ath12k_mac_bss_info_changed(struct ath12k *ar,
ath12k_control_beaconing(arvif, info);
if (arvif->is_up && info->he_support) {
- /* TODO: Extend to support 1024 BA Bitmap size */
+ param_id = WMI_VDEV_PARAM_BA_MODE;
+ param_value = info->eht_support ?
+ WMI_BA_MODE_BUFFER_SIZE_1024 :
+ WMI_BA_MODE_BUFFER_SIZE_256;
+
ret = ath12k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id,
- WMI_VDEV_PARAM_BA_MODE,
- WMI_BA_MODE_BUFFER_SIZE_256);
+ param_id, param_value);
if (ret)
ath12k_warn(ar->ab,
- "failed to set BA BUFFER SIZE 256 for vdev: %d\n",
- arvif->vdev_id);
+ "failed to set BA BUFFER SIZE %u for vdev %d: %d\n",
+ info->eht_support ? 1024 : 256,
+ arvif->vdev_id, ret);
if (info->he_oper.params) {
param_id = WMI_VDEV_PARAM_HEOPS_0_31;
diff --git a/drivers/net/wireless/ath/ath12k/wmi.h b/drivers/net/wireless/ath/ath12k/wmi.h
index 5d0afbf0bd0c..78f1ceaaf5ff 100644
--- a/drivers/net/wireless/ath/ath12k/wmi.h
+++ b/drivers/net/wireless/ath/ath12k/wmi.h
@@ -171,6 +171,7 @@ struct wmi_tlv {
#define WMI_APPEND_TO_EXISTING_CHAN_LIST_FLAG 1
#define WMI_BA_MODE_BUFFER_SIZE_256 3
+#define WMI_BA_MODE_BUFFER_SIZE_1024 6
/* HW mode config type replicated from FW header
* @WMI_HOST_HW_MODE_SINGLE: Only one PHY is active.
--
2.34.1
More information about the ath12k
mailing list