diff mbox series

[wireless-next,3/3] wifi: ath12k: Send Puncturing pattern of mesh peer during assoc

Message ID 20250609001048.2263586-4-ramasamy.kaliappan@oss.qualcomm.com
State New
Headers show
Series wifi: Preamble puncturing support for mesh | expand

Commit Message

Ramasamy Kaliappan June 9, 2025, 12:10 a.m. UTC
From: Rameshkumar Sundaram <rameshkumar.sundaram@oss.qualcomm.com>

Mesh peers can have different puncture pattern. Currently,
when associating with a mesh peer, the mesh peer's puncture pattern
is not updated to the firmware.

The puncturing bitmap should intersect when the mesh station
has a different puncturing bitmap than the self mesh vdev
punctured pattern.

Update the mesh peer puncturing bitmap in WMI peer
assoc command. Firmware will internally intersect peer
assoc puncturing param with self mesh vdev puncture pattern
and determine EHT PPDU Tx bandwidth for the peer.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.4.1-00199-QCAHKSWPL_SILICONZ-1

Signed-off-by: Rameshkumar Sundaram <rameshkumar.sundaram@oss.qualcomm.com>
Signed-off-by: Ramasamy Kaliappan <ramasamy.kaliappan@oss.qualcomm.com>
---
 drivers/net/wireless/ath/ath12k/mac.c | 3 +++
 1 file changed, 3 insertions(+)
diff mbox series

Patch

diff --git a/drivers/net/wireless/ath/ath12k/mac.c b/drivers/net/wireless/ath/ath12k/mac.c
index 88b59f3ff87a..4ac3d4f350ea 100644
--- a/drivers/net/wireless/ath/ath12k/mac.c
+++ b/drivers/net/wireless/ath/ath12k/mac.c
@@ -3028,6 +3028,9 @@  static void ath12k_peer_assoc_h_eht(struct ath12k *ar,
 	}
 
 	arg->punct_bitmap = ~arvif->punct_bitmap;
+	if (ieee80211_vif_is_mesh(arvif->ahvif->vif) && sta->deflink.punctured)
+		arg->punct_bitmap = ~sta->deflink.punctured;
+
 	arg->eht_disable_mcs15 = link_conf->eht_disable_mcs15;
 }