Changes to get and reset peer stats as per the new peer stats
re-organization architecture and taking MLO scenario into
consideration.
Change-Id: I1c49e11d502585cc955ad087ffe3a606be23d83e
CRs-Fixed: 3092123
* Initialize stats in dp_txrx_peer and dp_monitor_peer as per
the stats re-organization.
* Update peer calibrated stats on every timer expiry of 1 second.
* Define APIs to reset monitor_peer stats and to fetch rdkstats_ctx
from monitor peer.
* Place check to make sure that monitor peer related APIs are
are called only for legacy peer or MLO Link peer.
* Update peer based pktlog flag, tx and rx capture feature flags
in monitor_peer.
Change-Id: Idadbe19e85d4a9fdf77fb6dabe0c8a4952b024b8
CRs-Fixed: 3092123
Segregate the stats among dp_peer, dp_txrx_peer and dp_mon_peer
structures.
Segregation is done as per below:
* Move stats updated in per pkt path to dp_txrx_peer
* Consider stats updated purely in per pkt path as per_pkt_stats
* Consider stats for which there is an alternate path of
updation as extd_stats
* Move delay stats and jitter stats to dp_txrx_peer
* Maintain calibrated stats in dp_peer
* Move rdkstats_ctx from dp_peer to dp_mon_peer
* Move invalid peer from dp_pdev to dp_mon_pdev
As per the above segregation, if there is not support for
alternate path of stats updation, then stats in dp_txrx_peer is
combination of per_pkt_stats and extd_stats and dp_mon_peer
does not hold any stats.
If support is there, then dp_txrx_peer holds only per_pkt_stats and
dp_mon_peer holds extd_stats.
Change-Id: I2eb81d1b93a178985c05ff4f6557a173cc8a262d
CRs-Fixed: 3092123
Move the parameters from the dp_peer which are used
in per packet path to txrx_peer and params related
to monitor path to monitor peer.
Initialize txrx_peer and monitor peers.
Change-Id: I0449c67c1cd47deb76bc89b5ddc64174f6694eb0
CRs-Fixed: 3095637
Check physical address of nbuf with ring addr. If they
don't match, move to the next descriptor. Activated with
build flag.
Change-Id: Ibd6b38679d677a59f14450db3224104396c88d2e
In order to support flow overide feature,
AST table has to be split between RxPCU and DDR.
With this split, RX monitor cannot make use of
ast_index to fetch peer as it is not from DDR.
So make use of sw_peer_id to fetch peer.
This sw_peer_id is derived from RX_MPDU_STAT_START_TLV
Remove the spinlock on unsused variable i.e ast->lock.
These changes were overwritten by monitor segregation
effort, hence bringing back again.
Change-Id: I339f4296562e3b4dfd6f3a71102385e395f00268
CRs-Fixed: 3108200
1. Replenish path issue:
a. when number of required buffers passed to replenish API is '1',
host does not replenish '1' buffer.
b. If no. of available entries in ring are '0', return sw desc
back to pool.
2. 32-bit compilation issue
3. Block ppdu desc deliver API when pktlog is enabled for BE
Change-Id: I79ebf1f84830b4c2f5e5b727e3e08c5ee1870898
Due to usage of lithium specific structure, the filter settings
were not getting reflected in the htt msg that is being sent to
FW. Usage of BE specific monitor pdev structure is helping out
in configuring the monitor filter settings for various modes.
Change-Id: Ie4a59ec16717d752c6c49624142966722bfacc08
CRs-Fixed: 3118596
Add function pointers to free buffer address stored in status buffer
and support tx monitor in legacy and Waikiki flow.
Change-Id: I28612d388009292ff751fe514183fb801909f485
Introduce a new flag "BE_PKTLOG_SUPPORT" for beryllium specific
pktlog support.
Change-Id: If91156541b322905ad5d97cf2d9d7ae687290ecb
CRs-Fixed: 3115832
The following issues are fixed with this change-
1. Sojourn stats were printing incorrect values
2. RSSI values were junk numbers
Change-Id: Ibed73cf370a309bf9db5baad37a0e8261c58463b
- Fixes for compilation issues after enabling
monitor 2.0 support.
- change copyright year for all files in the chain.
Change-Id: I885e257bd8ca83850656d8a1f408c1bc34920d7a
CRs-Fixed: 3086483
modify dp_getmodulation and dp_getrateindex to pass puncturing mode
update DP_RATE_TABLE_SIZE to support 11BE
Change-Id: I7f59b29c18d882b541dca0477c7ed6c8cff4da59
CRs-Fixed: 3098366
Reset monitor configured status flag after filter update
so that monitor buf ring filters are reset properly
Change-Id: Ia575ddc36241ecd6afba0e2c2861bdd39b430da9
CRs-Fixed: 3099219
For WCN7850, the first mac (i.e.. MAC0) is capable of
2G/5G and 6G data transfer. Hence initialize and use
only on RXDMA monitor status ring.
Change-Id: Idb6e23a887a9ed32a52dd54765e5ed3c6a12df06
CRs-Fixed: 3094138
- make monitor ops per soc, so that when ops are
reset it will not impact other soc.
- reset filter setting during pdev deinit.
Change-Id: Ic40582fc1d03343d0bfaf879177212ecb83ae058
CRs-Fixed: 3086841
Enable the interrupt based processing in monitor mode
for WCN7850, by enabling MSI interrupts for rxdma
monitor destination ring.
Change-Id: Ia3c4456d28ed58c8ef49a7aa8e711076fbdf9415
CRs-Fixed: 3094129
Stats avg_rx_rate and last_snr for peer are updated in Rx PPDU
indication path. Logic for updation of these stats is incorrect.
Correct the computation of these stats.
Change-Id: I276d0d6c81d45818bf771c3c0565fe4bb259c49d
CRs-Fixed: 3091679
In WCN7850, the tlv header width is 64-bit and the tlv header
start is 8-byte aligned inside the monitor status ring desc.
Add changes to parse the monitor status ring TLV according
to the TLV header width.
Change-Id: I19860b871abbc3037174b9d0ae5ed6e52b1eb736
CRs-Fixed: 3084443
In WCN7850, there is only one common RXDMA dst ring for
both the mac.
Add changes to process the common RXDMA dst ring for
status TLVs corresponding to either MAC monitor status
ring. Also use arch ops to get rx_desc from sw_cookie.
Change-Id: Ia2c004755bc4389b587d995286093a519b995cab
CRs-Fixed: 3084442
Add function pointer to update stats for LI and WKK
Add new fields in structure cdp rx stats
CRs-Fixed: 3071271
Change-Id: I6a1d7afbdfe47d171335d55bf66d210d785f5a03
Add function pointer and initialize with function
to update stats for WKK
Add new fields in structure cdp tx stats
CRs-Fixed: 3071271
Change-Id: Ib1fd867e414b8a61cff4f462434c51541f925f62
Moving HTT parsing to common file dp_mon.c
Initialize function pointer to stats ind handler for BE
CRs-Fixed: 3071271
Change-Id: I08fb98f8dbed075c3b49baebca399771bfb5077c
Currently dp_mon_register_intr_ops is defined conditionally
using DISABLE_MON_CONFIG macro but function call is independent of
DISABLE_MON_CONFIG which may cause compilation issue when
DISABLE_MON_CONFIG is disabled.
Fix is to add void function definition when DISABLE_MON_CONFIG
is disabled.
Change-Id: I5f0bafa1aa3560a5828500a687b8b11178ab945b
CRs-Fixed: 3084193
This change will enable packet logging for the fragments
from RX monitor status ring and send it to the pktlog module
for post processing through WDI event.
Change-Id: I283a20e7d0fa1f9b88223a989beda529beff6718
CRs-Fixed: 3074184