mirror of
https://github.com/breeze303/openwrt-ipq.git
synced 2025-12-16 19:41:05 +00:00
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.
ath11k_nss: add missing support to enable/disable bss color collision detection
ath11k_nss: FW Initiated Dynamic MU-EDCA
Implementing the updating of firmware initiated dynamic MU-EDCA
parameters in Beacon IE. Firmware routinely checks its clients and
updates its MU-EDCA values every 3 seconds. Firmware is tuning
MU-EDCA parameters to improve performance. As part of this process,
the firmware informs host about new MU-EDCA values utilizing
WMI_MUEDCA_PARAMS_CONFIG_EVENTID. FW expectation is that host will
update MU-EDCA parameters in the Beacon IE.
ath11k_nss: refresh patches + cleanup Makefile
ath11k_nss: Set correct pbufs for 1GB profile
ath11k_nss: Revert setting fw_mem_mode for IPQ807x
Leave it set to '0', as it will kernel panic with 2K skb patch. This
flag was incorrectly assumed to save memory on 1G platforms.
ath11k_nss: remove leftover max_tx_ring
it was not removed when applying patch to replace it with 'max_tx_ring =
DP_TCL_NUM_RING_MAX +1'
ath11k_nss: Import bugfix patches
ath11k_nss: Experimental build for IPQ6018
This will require setting the correct `ATH11K_MEM_PROFILE_XXX` for your
platform. Setting it to value lower/higher than physically available
will cause NULL virtual address kernel panics.
I believe this setting was not originally meant to reduce memory
footprint of 1G+ platforms, but to account for platforms that were
512M or less.
Will require tweaking to allow for the old behvaior on 1G+ IPQ807x,
while still saving memory for platforms <= 512M.
commit d2d5a0d1f9ce668f92a22eb45279c6c4c3bf7a4f
Author: Qosmio <datapronix@protonmail.com>
AuthorDate: Sat Mar 9 11:59:20 2024 -0500
Commit: Sean Khan <datapronix@protonmail.com>
CommitDate: Fri Oct 11 11:13:03 2024 -0400
ath11k_nss: fix typo in 512M memory profile
ath11k_nss: remove SFE patch 718-e-mac80211-Deliver-the-frame-to-driver-tx-ops-directly
It is not relevant to NSS builds and only meant for SFE.
ath11k_nss: remove unecessary patches
Color collision should be left on by default, as it's a primary feature
of 802.11AX.
ath11k_nss: fix spacing
ath11k_nss: Remove unnecessary TKIP bloat
Remove TKIP patches that are not being used as 99% of folks are running
modern encryption (AES-CCMP,SAE,etc).
ath11k_nss: parameterize DP_RXDMA_REFILL_RING_SIZE memory profile
ath11k_nss: Remove SFE related code
Cleanup SFE (shortcut fe) related code as we're not using it on NSS
ath11k_nss: idr, ampdu, and skb headroom check optimizations
ath11k_nss: get valid last_rate for rx_bitrate from cpu stats
ath11k_nss: Fix BCCA counter for EMA
Currently BCCA counter is updated to FW via csa counter offs and
beacon with new countdown is updated for every beacon tx completion event.
For EMA, all EMA beacons are updated in one shot, and counter update for
every tx event will mess up the actual sequence of countdown sent over the air.
Allow FW to update the countdown till 1 and finalize the color
change.
ath11k_nss: Fix compile for TRACE feature
|
||
|---|---|---|
| .. | ||
| base-files | ||
| boot | ||
| devel | ||
| firmware | ||
| kernel | ||
| libs | ||
| network | ||
| system | ||
| utils | ||
| Makefile | ||