Optimize Tx and Rx monitor stats update code by replacing
multiple if checks with switch case statements
Change-Id: I07dd7784dccdfe0cf0e1ade822746d0c6f55cd95
CRs-Fixed: 3511037
When decap type is invalid, freeing nbuf and while next monitor
buffer tlv picking last nbuf from queue. which has allocated frags
and valid data. expecting MPDU END TLV for previous mpdu
before monitor buffer tlv to allocate new nbuf.
Set rx_hdr_rcvd to false when we receive invalid decap type.
CRs-Fixed: 3503694
Change-Id: I97ede9e52df580769b78afc767ba9528914b3ea5
On BE Platforms, currently if MLO is disabled, ol_stats does not
get enable on any soc. Fix is to enable ol_stats on particular
soc if MLO is disabled
Change-Id: I715f06776eda9539f68f440f86e3a403a6b14fa5
CRs-Fixed: 3508711
Function dp_rx_mon_append_nbuf is now accessed outside
the file where it is declared hence make it public
Change-Id: I6b596815a385ba367f70b9e5ea07c94520cca253
CRs-Fixed: 3488043
Add Tx TLV recording support for monitor 2.0
Also add support to control Rx and Tx TLV
recording
Change-Id: I27a0d2c9ea8bdfacd46e6b7188b45b08ed47bbcd
CRs-Fixed: 3422787
IEEE80211_* macros are defined in WIN specific header file which is not
available on MCL side, Hence replace these macros with QDF_IEEE80211_*
macros available in common header file
Change-Id: Ic2caaebacd9edded23aebefab87cd82dbbb06974
CRs-Fixed: 3415721
Separate out the common function implementing both RX 2.0 and TX 2.0
functionality in to RX 2.0 and TX 2.0 separate functions.
Change-Id: I29337aca9851dce1888a492a9534992277f595b5
CRs-Fixed: 3427301
Currently QCA_MONITOR_2_0_SUPPORT macro is used for both TX and RX 2.0.
but on MCC side, only RX 1.0 is supported and as part of this feature
TX 2.0 need to be supported.
Enabling QCA_MONITOR_2_0_SUPPORT will enable both RX 2.0 and TX 2.0, but
to support RX 1.0 and TX 2.0, we need to separate out code under
QCA_MONITOR_2_0_SUPPORT to TX and RX 2.0 macro.
As part of this change, introduce separate macros for TX 2.0 and RX 2.0
and move the common code under both macros.
Change-Id: I7ef7e488800934291538a0bca9acd21e28901214
CRs-Fixed: 3415740
Fix the following 2 memory leaks in Rx monitor path:
1. When MPDU queue is empty and MON_BUF_ADDR_TLV is received,
then free page fragment memory.
2. In case of small size packets, 1 MPDU can have more than
2*QDF_NBUF_MAX_FRAGS fragments wherein each nbuf can have maximum of
QDF_NBUF_MAX_FRAGS frags. In this case, add the frags to nbuf in the
following way.
parent_nbuf (QDF_NBUF_MAX_FRAGS frags attached)
|
| (fraglist)
|
----> tmp_nbuf1 (QDF_NBUF_MAX_FRAGS frags attached) ----> tmp_nbuf2
(next)
Change-Id: I54e8162bf0b9da8629a3c80d123421fbeaf8df11
CRs-Fixed: 3453676
Monitor ops functions are different for version 1 and 2.
Move mon mac filter func ptr to mon ops structure so that
its initialized properly according to monitor version.
Change-Id: Ie07ae3b7d3e9923e463db503aaa8b3500c1e1eac
CRs-Fixed: 3456620
Currently, HTT Tx ring packet type flag is set as bitwise operation
which is incorrect and results in "Debug Assert Caught".
Set this CTRL and DATA packet type flag with a value of 1.
Change-Id: I62e89fe637441fcc680ea8d5fe8d157d8e7142ae
CRs-Fixed: 3415733
address of array 'tx_ppdu_info->hal_txmon.rx_user_status' will always
evaluate to 'true' [-Werror,-Wpointer-bool-conversion]
Change-Id: Ic148f34b82ce756eb07173b43f8f155a7b4a12d9
CRs-Fixed: 3415726
Buffer was freed before processing the TLVs
(while flushing) leading to use after free access.
CRs-Fixed: 3425044
Change-Id: Ida3bcf9add95041c43b2b1e8e3450853bd0ed88c
Reduce log level to debug from error to avoid console flooding
when low mem condition is hit.
Change-Id: I0341beed9059c4db2eba2cc481a797d67dd35b25
CRs-Fixed: 3442503
Change monitor print to debug level as this print causes flooding
and could potentially lead to CPU flooding.
Change-Id: I76cda51c9d3d0658ebd02b2112fba5310d8eb22c
CRs-Fixed: 3439802
Move cfr monitor filter cdp func ptr to cdp mon ops structure.
cfr monitor filter cdp function is different for 1.0 and 2.0
hence moving the func ptr to mon ops structure ensures that
func ptr is initialized appropriately.
Change-Id: I82b9c85e96f2f219521ae6ed908ade120081c748
CRs-Fixed: 3428791
Changes to allocate correct number of buffers for monitor during boot
time and allocate remaining buffers only when monitor vap is created.
Change-Id: I8a2cd7b6a20a281934c47ca0418904b426d17a4d
CRs-Fixed: 3432525
Move smart monitor cdp func ptrs to cdp mon ops structure.
Smart monitor cdp functions are different for 1.0 and 2.0
hence moving the func ptrs to mon ops structure ensures that
func ptrs are initialized appropriately.
Change-Id: Ic827b44f36d76349f397e5b72dec0a127f90aa7a
CRs-Fixed: 3428778
1) Enable MLO Link Stats Support
2) Add Stats counter to capture Invalid Link ID
3) Fix the FW Recovery crash while ol_stats
disable.
Change-Id: I1b5263ae024579c5ec2018f8082f0d03ffdf0030
CRs-Fixed: 3431319
1. Add an API to process trigger_umac_recovery T2H message.
2. Synchronize do_pre_reset, do_post_reset_start, do_post_reset_complete
messages for all the SOCs and then process these messages in the host.
3. Synchronize pre_reset_done, post_reset_start_done,
post_reset_complete_done for all the SOCs before sending it to FW.
4. Add a new state in host for trigger_umac_recovery message.
Ignore back to back trigger_umac_recovery messages received from FW.
Change-Id: Id45d326d63e122834090844e83ad6cc7240f96af
CRs-Fixed: 3425833
In tx monitor, the maximum capacity to store status buffer is 64.
During high throughput scenario number of status buffer exceeds 64.
Change-Id: I5e8d1945773d2027a4adbc141fa868587e80acd1
CRs-Fixed: 3430126
Fix for the crash seen during FW recovery
while doing disable ol_stats for all the
MLO pdev's
Change-Id: Ie7b037e2d124009658a01d2a00d0a74a784ac51f
CRs-Fixed: 3430134
Add support to enable/disable MLO Link Peer stats through
ini and cfg80211tool enable_ol stats command
Change-Id: Id1229a149befa416d060e1b07eee150e6b295abf
CRs-Fixed: 3397721
Adding MLO timestamp offset reported from firmware to tsf time for
radiotap header populated in tx monitor.
Change-Id: I44f2c1a49d4d2b73ac9117319b72ba8635cb5b38
CRs-Fixed: 3398345
Add TLV recording support for Rx monitor. The TLV
tag and its data are recorded in a fixed size buffer
Change-Id: Idad896d1ece25a499ab76028c8a231fcd9947f66
CRs-Fixed: 3402543
Previously all of the documentation issues in the dp/wifi3.0/monitor
folder were fixed by:
Change-Id I27e14544ef88193bbfe6ee409fe58c59d6b5bea2
qcacmn: Fix dp/wifi3.0/monitor documentation
But concurrently a separate patch introduced a new issue in the
dp_rx_mon_pkt_tlv_offset_subscribe() documentation:
Change-Id I9e5d6cbb32cc7469dc367f6fc4bca4ce8adc9da8
qcacmn: Word mask TLV support for monitor
So fix that issue.
Change-Id: I174b19d9dded26d14af6eb94115a1c461a2f9e6f
CRs-Fixed: 3401990