This change required to match Tx PPDU BW value with
FW stats. As per firmware enums its starts with 5MHz
BW value. So to match 20MHz value with enum zero, need
to subtract from BW populated from TLV.
Change-Id: Ifcc49839c08de78c9200b877890fdce2e0846f1d
Add null check for pdevhandle before processing htt msg.
This is added for polled mode to avoid race between pdev detach
and CE poll timer stop.
Change-Id: I925e70985bd11e05e0679ad0107493aaefe8a273
CRs-fixed: 2352564
In existing code the HTT stats buffer was getting freed after
parsing mgmt. payload TLV, which was leading to missing beacon
metadata.
Add change to continue processing HTT stats buffer even after
receiving mgmt. payload TLV.
Change-Id: Iac67577ea5e362f046a1d5432204362a9559c788
CRs-Fixed: 2248313
Cancel broadcast of probe response if beacon is already sent
in beacon offload.
Change-Id: I4fea51433fbb959e05988c2daac89fbe839b1cdf
CRs-Fixed: 2209282
Address the following issues in the dp folder:
CHECK: 'availble' may be misspelled - perhaps 'available'?
CHECK: 'catagory' may be misspelled - perhaps 'category'?
CHECK: 'endianess' may be misspelled - perhaps 'endianness'?
CHECK: 'exceded' may be misspelled - perhaps 'exceeded'?
CHECK: 'explicitely' may be misspelled - perhaps 'explicitly'?
CHECK: 'Inteface' may be misspelled - perhaps 'Interface'?
CHECK: 'lengh' may be misspelled - perhaps 'length'?
CHECK: 'messsages' may be misspelled - perhaps 'messages'?
CHECK: 'miscelleneous' may be misspelled - perhaps 'miscellaneous'?
CHECK: 'Ouput' may be misspelled - perhaps 'Output'?
CHECK: 'poiter' may be misspelled - perhaps 'pointer'?
CHECK: 'Poiter' may be misspelled - perhaps 'Pointer'?
CHECK: 'psuedo' may be misspelled - perhaps 'pseudo'?
CHECK: 'registerd' may be misspelled - perhaps 'registered'?
CHECK: 'requred' may be misspelled - perhaps 'required'?
CHECK: 'retreive' may be misspelled - perhaps 'retrieve'?
CHECK: 'succesfully' may be misspelled - perhaps 'successfully'?
CHECK: 'vaild' may be misspelled - perhaps 'valid'?
CHECK: 'virtaul' may be misspelled - perhaps 'virtual'?
Change-Id: I66b9cdc6115dd133b385e60c9d02cefd1bd0bac3
CRs-Fixed: 2241574
Set pdev mask in the HTT Stats request based on
mac id number provided from the user.
Change-Id: Ie8f1208fd3598efd2ea3736719c8b444ef86881a
CRs-Fixed: 2237467
Avoid vdev aggregate stats for every ppdu stats event as it is
consuming high CPU in veriwave max clients testcase. Instead
aggregate the stats when ifconfig athX command is issued. Add
CDP API to aggregate and update stats called when needed
Change-Id: I801d5f8fab0c275942b77a9975293f95bd4026b0
CRs-Fixed: 2220704
Fill htt msg length before the htt stats response
handler so that the wifistats tool can read the
htt msg data correctly.
Change-Id: I544d1b97c8d74a0115a4a5a509780a6e9c273ab7
CRs-Fixed: 2231948
Update function prototype of dp_ppdu_stats_ind_handler. It should be
same when WDI_EVENT_ENABLE is defined and not defined.
Change-Id: I390d35b3b9f5f283fc3b960f00563fb997ef7f95
CRs-Fixed: 2230955
Retrieve length from every htt msg to
parse the tlv's from the htt msg and also
add statistics counters to account for error
packets in Rx path.
Change-Id: I17105174734975dc0d5093c587697346a8ada725
CRs-Fixed: 2214594
The following changes are added for Tx capture/Mcopy mode
1. Append ppduid for FW generated mgmt. frames
2. Append ppduid received in mgmt. TX completion for host
generated mgmt. frames
3. Reuse nbuf received in HTT msg to send mgmt. payload to
upper layers
Change-Id: I073cafa6389ed1ed835cc3ba4b9421b7a4b97d7f
CRs-Fixed: 2185543
Assign num_mpdu to mpdu_tried_mcast for mcast stats updation
Defer bss peer assigning till peer map event arrives
Do not set delete_in_progress for bss Peer
Change-Id: I0881ea3c8804990c336d97cb7b239a991ec64fa9
Add linked list logic to hold all ppdu descriptor status in a list till
all TLVs have been processed
This design handles asynchronous arrival of tlvs from fw per ppdu
Change-Id: Ib8943d7c826c0b441f58f0eaba7ae0bdc0539d9a
Byte counts reported in HTT Tx PPDU indications is sum of MPDU bytes
(including the 802.11 header).In Rx, we derive byte count from per-MSDU
Rx indications and this does not include 802.11 header bytes.
This is causing mismatch in reporting of Tx and Rx byte counts.
Also PPDU TLV for mcast MPDUs is not giving correct multicast bytes count.
Move the byte count update for Tx also to per-MSDU indications to match
the behavior with Rx
CRs-Fixed: 2182576
Change-Id: I92e779661014b058ba98c830881ff8eded4ea6ff
Add htt tx and rx structs from HTT to cdp_pdev_stats.
These Fw tx and rx stats are obtained through HTT events.
athstats application uses cdp_pdev_stats that contains host stats
and fw stats.
Change-Id: Ia063f406bdc6d32a684c4026b8425ecc96faa3db
CRs-Fixed: 2190793
ppdu stats timestamp,duration,channel etc were not
updated and corrected the same
Also RSSI was incorrectly getting updated for
mcast frames also, fix both of the above issues
Change-Id: Id8446c6c0cfe8761f8c524fc7af0ff5bdd8b96aa
1. Assert if length received from FW is not equal to
the expected length
2. Count the number of PPDU stats received by host and
print in "iwpriv athX txrx_stats 260"
3. Optimize the PPDU stats tag mask sent to FW for
enhanced stats enabling
Change-Id: I60019de93bb3914955a03546504efc820c960746
CRs-Fixed: 2170704
When TLVs come from TAC_thread last tlv sent by FW is
HTT_PPDU_STATS_SCH_CMD_STATUS_TLV
and in Tqm thread HTT_PPDU_STATS_USR_COMPLTN_ACK_BA_STATUS_TLV is the last
TLV to be sent. HTT_PPDU_STATS_USR_COMPLTN_ACK_BA_STATUS_TLV though can
come either in tqm thread or tac thread based on tid type.
Add change to process HTT_PPDU_STATS_USR_COMPLTN_ACK_BA_STATUS_TLV when it
comes from tqm thread and pass the populated buffer to the appropriate APIs
Change-Id: I7a064aba4e3c6814b63dcf4bb97cfb3be0194c39
CRs-Fixed: 2180477
pass psoc/pdev object as ctrl pointers to instead of legacy objects.
It introduces new APIs to get feature pointers of psoc/pdev.
DP attach API param modified to pass ctrl psoc (psoc object)
Change-Id: I3d83f28c3e72e5ee984a4220b9d5cf3c4522b501
CRs-Fixed: 2177109
* Update the pkt_type counters correctly within the array bound
* Add support for NSS counters on Tx side
* Update ampdu flag in PPDU struct
* Add support for ampdu flag in hal_ppdu struct
Change-Id: I79ea52727124ea4be4d82912cb2513ea58e2af10
Buffers sent through htt htc endpoint is cleaned up within DP. Set this
endpoint in transport layer to ensure that transport layer skips buffers
from this endpoint during cleanup of pending buffers in source ring.
Change-Id: I3f7d36c26347b508913d4200e0806d93408097e8
CRs-Fixed: 2168235
Add following changes in the context of PPDU stats
1. Mirror copy mode enhancements
2. Fix memory leak due to mgmt. TLV
3. Reset RX monitor lite ring when enhanced stats disabled
Change-Id: Ifb260929290bc483dc05b152a11cd675104f3a0d
Add support to display multicast packets stats. Also
avoid sending message to target-if layer for every MSDU
to update node statistics
Change-Id: I7bb73d97bd8a02a601d191040a9a5730a9584d3d
In dp_process_htt_stat_msg function, the stats message must be
interpreted one by one. It can't move to the next message unless
the current one is handled completedly. Or else it will cause a
memory copy overflow.
CRs-Fixed: 2156792
Change-Id: I8a3784cd17f2a68b16c4f47c6b1a24e12d23aaa5
htt_h2t_rx_ring_cfg is invoked with suitable configuration based on
filter passed by wlan_set_monitor_filter.
Change-Id: I2fbb81e95903ae1bead92892fdb3165c8a515f14
Add polling timer to reap monitor status rings
until PPDU end interrupts are enabled.
Change-Id: I742b0df6fd5a369d9664b5c2e09a70916585174b
CRs-Fixed: 2117063
Add support for following node statistics for Lithium DP
1) Number of Tx unicast MSDUs and bytes
2) Last Tx and Rx rate
3) Excessive retries per AC
Change-Id: If533df25e5299bf399bed85ace99763aab74134e
AM copy mode
Have a configuration to send first 100 bytes of PPDU, whenever
requested by upper layer.
Add required variable and handle code to enable/disable AM copy mode.
Change-Id: I1ebdcd0d1777e276af8c16334dae1f1a0760d5a8
CRs-Fixed: 2127108
Update channel information tx completion with frequecy
received in ppdu tx completion. Convert freq to channel
and store in pdev.
Change-Id: I5826528b76b4a5a28a05e805b737d2d49d2140d8
Move peer stats updation to PPDU indications from per-MSDU indications
to optimize CPU cycles. Add dp_rx_stats_update for receiver side PPDU stats
Change-Id: I4bdda8ac447e64cd1017e5be3949ec3f915a9d71
CRs-Fixed: 2123969
num_msdu, qos and ppdu_type were being parsed incorrectly.
Parse them appropriately.
Change-Id: I665285bc0b628fd1d9459473d18ef62577bbd54e
CRs-Fixed: 2133732
Add support to send MSDU, mgmt. and ctrl payload along with metadata
to upper layer callback
FR 42132
Change-Id: Ie751322c7c15419ea908538e9e8687b64693fcfa
CRs-Fixed:2068486
Update of per-peer statistics was disabled from per-MSDU indications
as they are now updated from per-PPDU indications. However, the data from
per-PPDU indications is incorrect for some fields. Re-enable update of
statistics for per-MSDU completions till this issue is fixed in FW
Change-Id: I2983ef9244a6f95104ba49ab6d1c6543a951d0b2
CRs-Fixed: 2128230
Packet log messages be coming as HTT messages for Lithium. Temporary
change to bypass HTC connection for this new HIF pipe (CE 5), which
will be used for packet log and other high-priority HTT messsages.
Proper HTC connection to be added later once required FW changes
are available
Change-Id: I53361b4c28b838dacf62f435cc12051bb2eb65b6
Parse PPDU TLVs provided by FW which are required to
capture TX data path stats
Change-Id: If91834aa94ff8893ba1f292d801f2c00ecdaea1f
CRs-Fixed: 2104488
1. Define bitmap array appropriately and expand ppdu per user
tx stats array to accomodate upto 8 users stats
2. Fix issue where even with 1 WLAN STA user_index was exceeding zero
3. Allocate 5 bits for ppdu_type variable
Change-Id: I969c929c3e16d4027a5e642a0a9195979c95e9cc
CRs-Fixed: 2121122
Enable reaping of HAL PPDU Status ring when ol stats are enabled.
Added peer mac address and first_data_seqcntl fields into CDP Rx PPDU_stats
structure. Added support to disable printing of per packet stats through
iwpriv command.
Change-Id: If0f967676e867c7ba9870770c3c818cbea43461a