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
Add support,
1. Deferred tx monitor processing
2. update radiotap headers and
3. skeleton flow for tx monitor to send each mpdu per user to
stack.
Change-Id: I0809a2fe06a9dc001f6da20a5c4a689244bf9a85
CRs-Fixed: 3115608
Update enhanced Tx stats from Tx HTT PPDU completion path in WKK.
Define and use function pointers for architecture specific
functionality.
Change-Id: I4ba443647dbd81c83e899c0f88c5d9a4cc695e14
CRs-Fixed: 3132255
During undecoded mode capture reset expected to reset
only phy error filter flags. But disabled monitor mode
capture filters as well. This resulted a backpressure
in monitor mode destination ring.
Added an appropriate check to disable only phy error
filter without disturbing monitor mode filter setting.
Change-Id: If3ef8e9f41f32dff30773aeb939256920c515800
CRs-Fixed: 3137636
dp_is_hw_dbs_enable() is checking DBS and update number of
MAC rings value, current function name makes confusion.
rename it to dp_update_num_mac_rings_for_dbs().
Change-Id: I82540a943445560a99e27067e58d59035147208b
CRs-Fixed: 3131546
The monitor status ring is configured for filtering
in undecoded phy error packets. Each phy error can
be controlled using a specific error mask configuration.
Added below cfg80211tool command to configure phy error
mask for filtering undecoded phy error packets.
cfg80211tool wifix set_phyrx_error_mask mask_0to31 mask_32to63
cfg80211tool wifix get_phyrx_error_mask
Change-Id: I5e4f6a49458cc534d6d1d0f7f2a7424f3cc747b4
Added change:
1. Set/reset RXDMA MON STATUS ring filter setting and send HTT
message to capture undecoded frame
2. Handle undecoded frame to update cdp_rx_indication_ppdu structure
from hal ppdu_info rx status and generate WDI event to deliver it
to upper layer
Change-Id: I14485f28333b113b5a2fab639611551c2b08af2b
Currently the monitor buffers allocation is attempted
for 2 RXDMA monitor status/destination rings.
For certain targets, eg KIWI, there is only one RXDMA
monitor status/destination ring, and the monitor buffer
allocation for the second ring fails. This return status
is not handled properly.
Fix the monitor buffer allocation to use the number of
rxdma rings from cfg context and handle the return status
properly.
Change-Id: I86718dbd790d96d794963b17a4c9bdf32792d854
CRs-Fixed: 3128299
MO stands for Monitor Other which is a filter setting specified by
host to hardware to receive TLVs for non-associated clients.
In case of enhanced stats and smart monitor, non-associated clients
are not considered and therefore disable filter settings for MO for
these features.
Change-Id: Ic533072ff668c7ab54188101a889882c4ee4ba4a
CRs-Fixed: 3123784