a. Add attach and detach for full monitor resources
b. Read 'sw_monitor_ring' descriptor and pop MPDU
c. Replenish buffers and link descriptors back to HW
d. Form a MPDU queue per-ppdu and all MPDUs per-PPDU to upper layer
Change-Id: I5abff75354dd3686491d4fee3c3c4612a3ca3e15
In the response event for multi-vdev restart request, target pdev id
needs to be converted to host pdev id since pdev id mapping can change
based on HW mode and primary interface when dynamic HW mode feature is
used.
When feature is not used, regular conversion will be applied.
CRs-fixed:2631763
Change-Id: I5f0ce37ca2d3f138c25fa6e84f00da222ae72222
Hold peer_ref while adding peer to multipass_list
which will be released during the removal from the list.
Change-Id: I37ada3fd433dc9a8858dedb82dc9caee151fc88a
Fix compilation warning:
format '%u' expects argument of type 'unsigned int',
but argument 2 has type 'long unsigned int' [-Wformat=]
Change-Id: I59b616b946ad9548379e7350b346c7688fbcf37c
Fix to support Tx capture for below issues
a. intermittent change to drops all MU frames in Tx capture.
b. Fix to support, FW indicates enqueue bitmap with more bits than
actual MPDUs tried by HW tx capture holds more pending PPDUs, it causes
higher memory usage.
c. holding peer reference on get and release reference on delete
during tx capture.
Change-Id: I0ac5dce7995413585164b6c15dd8b647f0886fb1
Currently, there is no check for QoS NULL when
handling data frames in the TX Cap feature. This
leads to QoS NULL frames not being seen OTA. Add
a check in dp_tx_ppdu_stats_process to ensure data
frame is not a QoS NULL data frame before handling,
since QoS NULL payload comes in management path.
Change-Id: I9fa2e68115327a283b241214ff62534bcb1ed74a
CRs-Fixed: 2632712
Add support for WMI event to host to process
dynamically selected Muedca values and update
the mgmt frames with the new set of values.
Change-Id: I831c3b4754f355d7a40ded435599702b41533780
While excluding the current operating channel for preCAC, the
entire tree is skipped if the current operating channel is selected
by the algorithm. In case of a tree node with two 40MHz nodes, if the
selected channel is the current operating channel but the other 40MHz
channel is still pCAC required, that channel should be selected.
To achieve this, move the logic, of excluding the current operating
channels, inside the tree traversal algorithm.
CRs-Fixed: 2621410
Change-Id: Ib8ea3dea168d27ea98a0bf2a9ea1eb57872b285f
Setting max vdev count per psoc to 60 as max client qwrap
mode has max vdev count per psoc as 60 for 2 pdevs.
Similarly increased max vdev count per pdev to 30.
Change-Id: I3b6af1e01ab525b19e3a87b26da262bc7932676e
Issue:
Bring up the AP on channel 100 HE80 in ETSI domain and enable preCAC config
(option preCACEn 1). The AP begins CAC on channel 100 and does preCAC
on the channel 58 (the first HE80 channel in the preCAC list). The default
preCACtimeout is 6 min. Inject radar on channel 100 using bangradar.
AP does a VDEV RESTART to a new random channel (say 36) and aborts
preCAC on channel 58. After VDEV RESTART on new random channel (say 36),
AP chooses a new random channel to do preCAC and marks channel 58 as
preCAC done. Channel 58 can be marked preCAC done only after 6 min
of CAC completion. However, within 6 min, if primary channel detects
radar, channel 58 incorrectly marked as preCAC done.
When primary channel 100 is marked as NOL, "dfs_agile_precac_freq_mhz"
(the variable that holds the value of the last agile frequency)
which was assigned 5290MHZ (chan 58) is not cleared.
"dfs_agile_precac_freq_mhz" continues to hold the preCAC channel freq
5290. After VDEV RESTART to new random channel (36), preCAC is initated
again invoking dfs_start_agile_precac_timer() using a zero second
timer. As "dfs_agile_precac_freq_mhz" is not 0,
dfs_mark_precac_done_for_freq() marks channel 5290 (58) as preCAC done.
Solution:
To solve the issue mentioned above, reset "dfs_mark_precac_done_for_freq"
to 0 on radar detect so that preCAC done channel is not marked
incorrectly.
Change-Id: If6dae4b3527f060d5512d82ebd437ea1b6db1425
CRs-Fixed: 2631779
Add temporary workaround for TX Capture Enhancements
feature to not process stats for MCAST traffic unless
the peer is a bss peer. This change avoids memory leaks
relating to MCAST Traffic stats handling.
Change-Id: I9b564897e402a4381e6d92d983bc10e1036ee2b4
previously frequency was acquired by channel only.
adding chan frequency as a new param for the structure rx mpdu info
is now used to hold the frquency value from tlv in rx path.
Change-Id: Iba70af9de82dcd0c9c3b074eb857b6c9433f6767
In tx capture, while changing the tx capture we run into
soft lock up. The fix addressed the soft lock up issue.
Change-Id: I0cb6abb9ede2fb0a5d380e6986ec14dcaa31a13f
RCC specific debug counters has been moved to DP layer.
Update capture BW from RXTLV instead of VDEV
Capture BW is the bandwidth at which Station operates.
Error handling for pdev referencce count.
Add support to clear CFR ppdu counters
Use same event ENUM for HKV2 and Cypress.
Change-Id: Ic1f5da16c5c1ac5893dce1023eb57f96d78d4cfa
Currently, no NULL check exists before the mpdu array from
the ppdu_dsc is populated. Add a NULL check after
qdf_nbuf_queue_remove before assigning it to the
ppdu_desc->mpdus array.
Change-Id: Ic5002b7939bb85440dbb8ea96dd46d30c70eb2ff
Remove dp_rx_mon.h inclusion from dp_tx_capture.c
In I3a31dacd7d7e817f144708f9bda5536808080864,
dp monitor inline APIs are moved to header file.
This change is needed to get dp_tx_capture.c compiled.
Change-Id: I145cac1afbc4e19a5d36a97c4a9cbe93fe67f700
As a part of peer filter feature fix, tx capture feature
support only for peer filter. with this fix it support
tx capture enable too.
Change-Id: I76e02b79a351bb3f73fa5c5d9e9a6dd583c27cc5
Fix -Wformat compiler warnings:
1. format '%lx' expects argument of type 'long unsigned int',
but argument has type 'uint64_t {aka long long unsigned int}'.
2. format '%lu' expects argument of type 'long unsigned int',
but argument has type 'unsigned int'.
Change-Id: Ie9e4c6b244802df7da8be89db7f497e51fb43c9c