With MLO enabled, Rx monitor receives the sw_peer_id in the following
format in MPDU_START_TLV:
+---------------------------------------------------------------------+
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
+---------------------------------------------------------------------+
| CHIP ID | ML | PEER ID |
+---------------------------------------------------------------------+
For MLO station, sw_peer_id received in MPDU_START_TLV corresponds
to MLD peer. But for Rx monitor framework, link peer makes relevance.
Therefore, fetch and update the sw_peer_id with link peer_id in the
received ppdu in Rx monitor.
Change-Id: I8ffc32856fd364edbcec2d98c3f9e1f0643d40d1
CRs-Fixed: 3190668
add tags straight from ppdu_info to headrom for mpdu
tags are positioned per msdu_index within mpdu headroom.
Change-Id: I4863a7929ffd2e0a5d7f91f31ab6059f2b882de4
CRs-Fixed: 3183692
RX_PPDU_END_STATUS_DONE TLV is not being processed, since Host
is not copying the last byte from the payload.
Add code to copy the full payload from status frag and process
it to the upper layer.
Change-Id: I51d03f5664b2944008936e3711f2ba74bcfde89c
CRs-Fixed: 3179137
Add rssi dbm support bit for rssi_comb calculation
using parameters received from the fw.
Change-Id: Ice57ed69db74852a8b03752632bae747c043e93d
CRs-Fixed: 3183406
calculate rssi_comb and rssi per chain values using
parameters received from the fw.
Change-Id: Ide56549c7d7ee9bde609dc6764013d509f7ccac0
CRs-Fixed: 3157484
RSSI calibration parameters are received as part
of WMI event from FW, update these parameters to
monitor pdev via CDP interface.
Change-Id: I5060795918571763ad467aae93729040fbca96a1
CRs-Fixed: 3147897
Enable smart moniotr operations to add/delete
NAC clients and to get NAC client rssi value.
Change-Id: Ifc933d474da15101293cf3e1c07261917fb634f9
CRs-Fixed: 3169256
Add function to setup/reset lite monitor filters
whenever lite monitor mode is enabled/disabled
respectively through cmd line.
Also add function to configure rx header tlv dma length.
Change-Id: Ia5d8bc36e1d033b3e15737bb6b9854f6a7cdd5df
CRs-Fixed: 3143570
With new configuration changes for enable_peer_extended stats, update
code to peer_extended_stats naming for clean codebase.
Change-Id: I97a7ee331042232098382683fefebd05e6b099c3
CRs-Fixed: 3149920
In Beryllium architecture, PPDU_START_USER_INFO TLV carries
the user specific info for each user in a given ppdu.
Add subscription for this TLV by host for enhanced stats use case.
Change-Id: Ia12c5c3ab36198e7cd40dad0c0d92b945d2b49c6
CRs-Fixed: 3166305
a. For decapped frames, convert frames from 802.3 t 802.11
b. for non-decapped frames no conversion is needed
c. Apply radiotap header and deliver MPDU to osif layer
CRs-Fixed: 3074441
Change-Id: Ia03b4bad35d69aa292958782cd424f3df56dabbc
Populate punctured pattern from WIFIPHYRX_COMMON_USER_INFO_E
And get puncture type from puncture pattern.
Change-Id: I3a5ba4c7c478d15cf3c3cfdcfd0573775ae342ca
CRs-Fixed: 3166010
parsing
HW desc provides 'end_offset' which can be used as delimiter
to identify status buffer boundary
Change-Id: I265ab328b80615fd2386402f0ea3797d124b8f8f
CRs-Fixed: 3157554
Add support for tx monitor flush/drop/truncated handling
and few minor fixes from txmon
CRs-Fixed: 3158502
Change-Id: Ic13476984cd591a381941cfa1501307e9cca2b5a
Log level was accidentally increased hence reducing log level
to info to avoid unnecessary prints on console.
Change-Id: Idbe495cbdc8a17112f034083c2f8ebf297dcdc6b
CRs-Fixed: 3157393
Currently, max monitor status buffer count per ppdu is 32.
In case of multiclient test cases, number of status buffers per ppdu are
33 and leading to assert.
Increase per ppdu max monitor status buffer count 128 to take care of future
use cases like MU-MIMO, OFDMA.
Change-Id: I083304ef23a1d58af24062441d8ad9b2d229f7b1
CRs-Fixed: 3156689
Populate rate index in user specific rx ppdu indication.
Also correct the computation of total retries in rx ppdu indication.
Change-Id: I07c55260def9d2f1490729b6390bca3d98085c63
CRs-Fixed: 3156428
Update the MPDU start and MSDU end word mask while setting
up rx monitor filter.
Change-Id: I17c5d809300cd2d4fc8d3b63d5e8a3d40f599a7a
CRs-Fixed: 3145449
Update dma length and mpdu logging for different packet
types while setting up monitor filter
Change-Id: I408860f15686c7999655c1e84dce5a3f7ffbbed7
CRs-Fixed: 3145400
Remove redundant field for rxmon global enable
and fix writing global enable field to correct
dword
Change-Id: I4efc0da559dce873bcb8721aeb0d7b7410b39dd9
CRs-Fixed: 3150784
for a PPDU monitor status can be split across multiple status buffers,
If status buffer continuation is carried in next NAPI budget,
store ppdu status buffers to process in next reap context.
Change-Id: Id00646fa4edb55f3540e23ad327952bf0f5d9889
CRs-Fixed: 3147113
The per packet info feature can be enbaled to support enhanced
stats independent of mesh mode.
Change-Id: I852e7a958c520901b6f418d30deb53fa2f68fb68
CRs-Fixed: 3079000
In case of empty HW descriptor, sw cookie is not valid.
Instead, HW reports ppdu_drop_cnt, mpdu_drop_cnt and
tlv_drop_cnt.
Do not process sw desc, if it's empty HW desc indication.
In case of flush and trucanted PPDU, status buffer need to be discard,
added handling for same.
Change-Id: I1219f71645072bb9e0e80ff271fa354f305c7961
CRs-Fixed: 3144525
There is a possible race condition that target_start can be
called during load unload leading to htt_srng_setup being
called before monitor srngs are initialized. This check will
prevent the srng_setup_call from soc_start. The rings will
subsequently be initialized when monitor modle is loaded.
Change-Id: Ie697b45425e38e6d709b7466bb495a20bef4f820
CRs-Fixed: 3125255
1. Drop the received undecoded frame if error code
abort reason not matched with configured error mask.
2. Reset phy error mask during undecoded capture mode reset.
Change-Id: I162ac1b60ceb5a4b5a87ff2d2186f2e67815f580
CRs-Fixed: 3134562
Display phyrx aborted undecoded frame count and the aborted
reason statistics as part of pdev rx mon stats.
Change-Id: Ia86074e62af3179855734b47801715abd1899fe1
CRs-Fixed: 3123540