On 6/17/2024 11:46 AM, Jeff Johnson wrote:
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,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
Thanks Jeff, ath12k-check issues must be resolved on V3..
Let me check and confirm and fix any issues and resubmit V8