[PATCH ath-next V14 0/9] wifi: ath12k: add MU-MIMO and 160 MHz bandwidth support

Pradeep Kumar Chitrapu
2025-05-21T22:45:56Z

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 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 | 13 +-
drivers/net/wireless/ath/ath12k/wmi.h | 107 ++-
5 files changed, 1061 insertions(+), 222 deletions(-)

base-commit: 0d777aa2ca77584b339ce195db86fe0ee7dda5d5
--
2.43.0