On 7/1/2025 9:03 AM, 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 v15: > - rebased the series after merge conflicts reported > patch 4/9: patch 5/9 ? > - change the fix to apply for all modes except STA mode as > WCN7850 expect it same as before. It is not chip specific behavior, for now we believe it is mode behavior. > > changes in v14: > patch 6/9: > - cap max_nss using ar->num_tx_chains to fix interop issue caused due > to sending nss value 4 when firmware only supports nss value 2. > patch 8/9: > - Set the default return value to MODE_11AC_VHT160 for 160 MHz > to allow STA to connect to the AP even if it does not > explicitly indicate 160 MHz bandwidth support. > > changes in v13: > - rebase > > changes in v12: > - rebase > > changes in v11: > patch 1/9: > - fix return values in ath12k_mac_set_he_txbf_conf() and > ath12k_mac_vif_recalc_sta_he_txbf() > patch 6/9: > - fix missing he_mcs initialization in ath12k_mac_init_arvif() > > changes in v10: > patch 6/9: > - use ath12k_ahsta_to_sta() > - fix rcu_dereference warning in ath12k_mac_set_bitrate_mask_iter() > - change return type for ath12k_mac_validate_fixed_rate_settings() > - improve readability by adhering to nl80211 definitions of GI > NL80211_TXRATE_DEFAULT_GI. Introduce ath12k_mac_nlgi_to_wmigi() > for conversion. > patch 7/9: > - do not change default MODE_11AC_VHT160 in > ath12k_mac_get_phymode_vht() as it breaks clients which do not > set VHT_CAP_SUPP_CHAN_WIDTH_160MHZ. > patch 8/9: > - Use IEEE80211_VHT_CAP_EXT_NSS_BW_MASK along with > IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160MHZ for determining VHT160 > phymode. > > changes in v9: rebase on top of master branch with mlo changes > patch 1/9 and 2/9: > - fetch link_conf using ath12k_mac_get_link_bss_conf() > instead of arvif->vif->bss_conf before mlo > patch 6/9 > - fetch mcs/nss values from sta->link[] instead of sta->deflink > - fix spelling of 'incompatibility' > patch 8/9 > - replace sta->deflink.addr with arsta->addr in > ath12k_peer_assoc_h_vht > patch 9/9 > - replace sta->deflink.rx_nss with link_sta->rx_nss > > changes in v8: > - rebase and resolve KASAN warnings reported by Jeff in v7, in patch 6/9. > > 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 | 1144 ++++++++++++++++++++---- > drivers/net/wireless/ath/ath12k/mac.h | 17 + > drivers/net/wireless/ath/ath12k/wmi.c | 28 +- > drivers/net/wireless/ath/ath12k/wmi.h | 100 ++- > 5 files changed, 1069 insertions(+), 222 deletions(-) > > > base-commit: c256a94d1b1b15109740306f7f2a7c2173e12072