On 6/12/2024 4:42 PM, Pradeep Kumar Chitrapu wrote: > Add support for > 1. enabling MU-MIMO in HE and EHT modes from hardware > 2. setting fixed HE rate/GI/LTF > 3. 160 MHz bandwidth in HE mode > 4. extended NSS bandwidth support > > Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1 > Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3 > > changes in v7: > - rebase and remove patch 01/10 which was merged already. > > changes in v6: > - Change comment in patch 01/10 to represent only AP mode > implementation. > > changes in v5: > - Fix column length to 80 in patch 01/10 > - Fix advertises spelling in patch 09/10 > - Fix choosing spelling in patch 10/10 > > changes in v4: > - Fix ath12k-check warnings in patch 2/10 and 7/10 > - remove "hostapd" reference in patches 2/10 and 3/10 > - remove redundant prerequisite-patch-id's in cover letter > > changes in v3: > - address review comments for fixing ath12k-check issues. > > changes in v2: > - Amend mac80211 patch description as the patch is not specific > to AP mode. > - Amend EHT MU-MIMO patch description to specify future support > for STA mode. > > Pradeep Kumar Chitrapu (9): > wifi: ath12k: push HE MU-MIMO params to hardware > wifi: ath12k: push EHT MU-MIMO params to hardware > wifi: ath12k: move HE MCS mapper to a separate function > wifi: ath12k: generate rx and tx mcs maps for supported HE mcs > wifi: ath12k: fix TX and RX MCS rate configurations in HE mode > wifi: ath12k: add support for setting fixed HE rate/GI/LTF > wifi: ath12k: clean up 80P80 support > wifi: ath12k: add support for 160 MHz bandwidth > wifi: ath12k: add extended NSS bandwidth support for 160 MHz > > drivers/net/wireless/ath/ath12k/core.h | 2 + > drivers/net/wireless/ath/ath12k/mac.c | 1052 ++++++++++++++++++++---- > drivers/net/wireless/ath/ath12k/mac.h | 17 + > drivers/net/wireless/ath/ath12k/wmi.c | 24 +- > drivers/net/wireless/ath/ath12k/wmi.h | 98 ++- > 5 files changed, 985 insertions(+), 208 deletions(-) > > > base-commit: e72048809ec7355a947415ae6836d2eb7fdcda39 This series produces the following warnings when applied to ath-202406171110 In function 'ath12k_peer_assoc_h_he', inlined from 'ath12k_peer_assoc_prepare' at drivers/net/wireless/ath/ath12k/mac.c:2951:2: drivers/net/wireless/ath/ath12k/mac.c:2357:21: warning: 'ath12k_peer_assoc_h_he_limit' reading 16 bytes from a region of size 0 [-Wstringop-overread] 2357 | v = ath12k_peer_assoc_h_he_limit(v, he_mcs_mask); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/wireless/ath/ath12k/mac.c:2357:21: note: referencing argument 2 of type 'const u16[8]' {aka 'const short unsigned int[8]'} drivers/net/wireless/ath/ath12k/mac.c: In function 'ath12k_peer_assoc_prepare': drivers/net/wireless/ath/ath12k/mac.c:2139:12: note: in a call to function 'ath12k_peer_assoc_h_he_limit' 2139 | static u16 ath12k_peer_assoc_h_he_limit(u16 tx_mcs_set, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function 'ath12k_peer_assoc_h_he', inlined from 'ath12k_peer_assoc_prepare' at drivers/net/wireless/ath/ath12k/mac.c:2951:2: drivers/net/wireless/ath/ath12k/mac.c:2370:21: warning: 'ath12k_peer_assoc_h_he_limit' reading 16 bytes from a region of size 0 [-Wstringop-overread] 2370 | v = ath12k_peer_assoc_h_he_limit(v, he_mcs_mask); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/wireless/ath/ath12k/mac.c:2370:21: note: referencing argument 2 of type 'const u16[8]' {aka 'const short unsigned int[8]'} drivers/net/wireless/ath/ath12k/mac.c: In function 'ath12k_peer_assoc_prepare': drivers/net/wireless/ath/ath12k/mac.c:2139:12: note: in a call to function 'ath12k_peer_assoc_h_he_limit' 2139 | static u16 ath12k_peer_assoc_h_he_limit(u16 tx_mcs_set, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function 'ath12k_peer_assoc_h_he', inlined from 'ath12k_peer_assoc_prepare' at drivers/net/wireless/ath/ath12k/mac.c:2951:2: drivers/net/wireless/ath/ath12k/mac.c:2370:21: warning: 'ath12k_peer_assoc_h_he_limit' reading 16 bytes from a region of size 0 [-Wstringop-overread] 2370 | v = ath12k_peer_assoc_h_he_limit(v, he_mcs_mask); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/wireless/ath/ath12k/mac.c:2370:21: note: referencing argument 2 of type 'const u16[8]' {aka 'const short unsigned int[8]'} drivers/net/wireless/ath/ath12k/mac.c: In function 'ath12k_peer_assoc_prepare': drivers/net/wireless/ath/ath12k/mac.c:2139:12: note: in a call to function 'ath12k_peer_assoc_h_he_limit' 2139 | static u16 ath12k_peer_assoc_h_he_limit(u16 tx_mcs_set, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~