ath11k_nss: fix build for 256/1G mem, and ath10k
ath11k_nss: bump release version '8'
mac80211: refactor NSS patches
Since NSS requires patches to subsys, and ath*k directories. Move
patches into a subset of nss for better tracking against QSDK,
and modularization.
ath11k_nss: rename patches
ath11k_nss: clean up optional patches
To reduce bug tracking headaches, I've remove the following patches, as
they are not required for NSS offload and have been around the last 2-3
years without ever being upstreamed.
nss/ath11k/235-001-ath11k-Add-support-for-beacon-tx-mode.patch
nss/ath11k/237-002-ath11k-Add-provision-to-configure-rx-hashmap.patch
nss/ath11k/902-020-ath11k-add-btcoex-config.patch
nss/ath11k/902-022-ath11k-add-ap-ps-support.patch
nss/ath11k/907-068-ath11k-add-rx-histogram-stats.patch
nss/ath11k/907-108-ath11k-enable-ul-ofdma-ru-allocation-in-peer-stats.patch
nss/ath11k/911-373-ath11k-Add-retry-mechanism-for-update_rx_qu.patch
nss/ath11k/913-353-ath11k-ignore-frags-from-uninitialized-peer-in-dp.patch
nss/ath11k/913-356-ath11k-invalid-desc-sanity-check.patch
nss/ath11k/913-374-ath11k-Check-skb_headroom-before-using-skb_push.patch
nss/ath11k/913-830-ath11k-Avoiding-memset-of-ppdu-info-for-next-skb.patch
nss/subsys/235-002-mac80211-Add-support-for-beacon-tx-mode.patch
nss/subsys/913-726-mac80211-fix-crash-when-accessing-null-pointer.patch
ath11k_nss: Remove superfluous patches
Remove patches unrelated to NSS offloading to minimize bloat and better
track NSS related issues.
ath11k_nss: Refactor patches to use upstream names
Reworked patches to use upstream QSDK names. Allows for better tracking
ath11k_nss: align wifi offload with qca-nss-drv
The option in qca-nss-drv is actually 'NSS_DRV_WIFIOFFLOAD_ENABLE' use
the same syntax.
ath10k-ct: fix compile with NSS wifi
ath11k_nss: Merge every NSS related feature + more
* Added macro to disable NSS mesh offload
* Added menuconfig option "ATH11K_NSS_MESH_SUPPORT" to selectivley build mesh support,
as well it's depenacndy on nss-drv-wifimeshmgr.
* Added option to disable HTT Stats, and STA stats (stations).
* Reducing footprint by ~210KB. Debugfs minimal is still enabled.
* Reworked a TON of patches, some my own, hopefully there should be a far less amount of WOA2/WPA3 connection issues.
* Updated the /etc/init.d/pbuf script to be more robust. (handles tweaking ath11k and NSS settings better)
NOTES: Although mesh package builds (nss-drv-wifimeshmgr), ath11k doesn't seem to support it yet.
Not sure if NSS requires 3 radios to work, I'm at a dead end currently with that route.
ATTENTION:
the ptch `37-006-ath11k-Allow-fast-rx-by-bypassing-stats-update.patch`
works well on nss with frame_mode=2.
And on `ath11k frame_mode=1 nss_offload=0`
And on `ath11k frame_mode=2 nss_offload=1`
if you set nss_offload=off and frame_mode=2, it will CRASH
if you set nss_offload=on and frame_mode=2, it will RUN
if you set nss_offload=off and frame_mode=1, it will RUN
ath11k_nss: fix n2h high_water_core0/wifi_pool_buf
These were commented out, but looks like they are needed to prevent lock
ups with heavy usage apps (users report in torrenting)
ath11k_nss: Renumber ath11k patches in the range
commit 3c7cc4b725ea406f19b736427034e3bdb436aedc
Author: Yuvasree Sivasankaran <quic_ysivasan@quicinc.com>
AuthorDate: Thu Jan 4 11:25:56 2024 +0530
Commit: Yuvasree Sivasankaran <quic_ysivasan@quicinc.com>
CommitDate: Wed Jan 3 22:53:51 2024 -0800
wifi: ath11k: Renumber ath11k patches in the range
In ath11k, patches are not maintained in the range and not sequential.
Renumber the patches sequential and in the range.
Change-Id: I77c51c0f5bf9f94863db4ef364b156e14465a60c
Signed-off-by: Yuvasree Sivasankaran <quic_ysivasan@quicinc.com>
ath11k_nss: Add mac hw flag to avoid tx queue in mac80211
commit 4e9b5f7f0d1ed40dbf3208f7ed4448e49b4a4ac1
Author: Yuvasree Sivasankaran <quic_ysivasan@quicinc.com>
AuthorDate: Wed Dec 6 12:20:59 2023 +0530
Commit: Yuvasree Sivasankaran <quic_ysivasan@quicinc.com>
CommitDate: Mon Dec 18 12:52:33 2023 +0530
wifi: mac80211: Add mac hw flag to avoid tx queue in mac80211
Queue SKB in mac80211 become mandatory from latest 6.1 kernel. Because of
this queuing, there will be performance degradation. Add hw flag option
to enable tx queue in Driver/Hardware.
Driver/hardware can register for HAS_TX_QUEUE HW flag and avoid tx queuing
in mac80211.
Add same HW flag checks to avoid accessing skb queues which will be
NULL or invalid and also NULL checks for sta txqs for NULL or invalid
access.
ath11k_nss: add the HTC+ / iPhone fix
commit ccdca73cd65723c3cb63c17edc95c4c43318cb38
Author: John Crispin <john@phrozen.org>
AuthorDate: Sun Jul 9 17:12:34 2023 +0200
Commit: John Crispin <john@phrozen.org>
CommitDate: Thu Aug 31 16:08:34 2023 +0200
mac80211: add the HTC+ / iPhone fix
Signed-off-by: John Crispin <john@phrozen.org>
ath11k_nss: ath-next fix connection failure due to unexpected peer delete
Currently ath11k_mac_op_unassign_vif_chanctx() deletes peer but
ath11k_mac_op_assign_vif_chanctx() doesn't create it. This results in
connection failure if MAC80211 calls drv_unassign_vif_chanctx() and
drv_assign_vif_chanctx() during AUTH and ASSOC, see below log:
[ 102.372431] wlan0: authenticated
[ 102.372585] ath11k_pci 0000:01:00.0: wlan0: disabling HT/VHT/HE as WMM/QoS is not supported by the AP
[ 102.372593] ath11k_pci 0000:01:00.0: mac chanctx unassign ptr ffff895084638598 vdev_id 0
[ 102.372808] ath11k_pci 0000:01:00.0: WMI vdev stop id 0x0
[ 102.383114] ath11k_pci 0000:01:00.0: vdev stopped for vdev id 0
[ 102.384689] ath11k_pci 0000:01:00.0: WMI peer delete vdev_id 0 peer_addr 20:e5:2a:21:c4:51
[ 102.396676] ath11k_pci 0000:01:00.0: htt peer unmap vdev 0 peer 20:e5:2a:21:c4:51 id 3
[ 102.396711] ath11k_pci 0000:01:00.0: peer delete resp for vdev id 0 addr 20:e5:2a:21:c4:51
[ 102.396722] ath11k_pci 0000:01:00.0: mac removed peer 20:e5:2a:21:c4:51 vdev 0 after vdev stop
[ 102.396780] ath11k_pci 0000:01:00.0: mac chanctx assign ptr ffff895084639c18 vdev_id 0
[ 102.400628] wlan0: associate with 20:e5:2a:21:c4:51 (try 1/3)
[ 102.508864] wlan0: associate with 20:e5:2a:21:c4:51 (try 2/3)
[ 102.612815] wlan0: associate with 20:e5:2a:21:c4:51 (try 3/3)
[ 102.720846] wlan0: association with 20:e5:2a:21:c4:51 timed out
The peer delete logic in ath11k_mac_op_unassign_vif_chanctx() is
introduced by commit b4a0f54156ac ("ath11k: move peer delete after
vdev stop of station for QCA6390 and WCN6855") to fix firmware
crash issue caused by unexpected vdev stop/peer delete sequence.
Actually for a STA interface peer should be deleted in
ath11k_mac_op_sta_state() when STA's state changes from
IEEE80211_STA_NONE to IEEE80211_STA_NOTEXIST, which also coincides
with current peer creation design that peer is created during
IEEE80211_STA_NOTEXIST -> IEEE80211_STA_NONE transition. So move
peer delete back to ath11k_mac_op_sta_state(), also stop vdev before
deleting peer to fix the firmware crash issue mentioned there. In
this way the connection failure mentioned here is also fixed.
Also do some cleanups in patch "wifi: ath11k: remove invalid peer
create logic", and refactor in patches "wifi: ath11k: rename
ath11k_start_vdev_delay()" and "wifi: ath11k: avoid forward declaration
of ath11k_mac_start_vdev_delay()".
Tested this patch set using QCA6390 and WCN6855 on both STA and SAP
interfaces. Basic connection and ping work well.
Baochen Qiang (4):
wifi: ath11k: remove invalid peer create logic
wifi: ath11k: rename ath11k_start_vdev_delay()
wifi: ath11k: avoid forward declaration of
ath11k_mac_start_vdev_delay()
wifi: ath11k: fix connection failure due to unexpected peer delete
drivers/net/wireless/ath/ath11k/mac.c | 564 +++++++++++++-------------
1 file changed, 288 insertions(+), 276 deletions(-)
ath11k_nss: Revert support for beacon_tx_mode
ath11k_nss: Update release fix dependancies
ath11k_nss: mgmt and data ack rssi update
Data ACK RSSI :
Advertise NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT feature support
for accounting and notifying "last ack signal" and "avg ack signal" to
user space through NL interface.
Enabled data ack rssi support for ethernet mode.
Mgmt ACK RSSI:
Enabled support for Tx-ACK RSSI in HTT over Management packets.