Add cdp layer API to get stats and
Copy peer deterministic stats from dp_mon_peer to cdp structure
CRs-Fixed: 3380939
Change-Id: Ic90b9c9f5c7463ad0d5b7c2bb7a371e4d4fef070
Parse sequence type and msduq htt tlv and
update mode count and avg rate based on txmode.
CRs-Fixed: 3380939
Change-Id: I5fe2068cbe8b312738eeaa4c4a48000e1a66255c
RX monitor meta header now supports two TLVs.
Macro used to represent maximum RX monitor meta
header TLVs should reflect the same.
Change-Id: I29cf830323cbe91a186c4876606290dc3c87b4eb
CRs-Fixed: 3385695
The kernel-doc script identified a large number of documentation
issues in dp/wifi3.0/monitor, so fix those issues. In addition,
there are a number of instances where public functions have their
implementation documented instead of having their interface
documented, so move that documentation.
Change-Id: I27e14544ef88193bbfe6ee409fe58c59d6b5bea2
CRs-Fixed: 3373167
Currently for jumbo RX monitor MPDU, it will spread across multiple
RX buffers(N). host set length 112 bytes for (N-1) skbs(not include
the last skb), while the expected length should be (2048 - 400
- 112) = 1536 bytes for them, this lead to last skb length
calculation incorrectly, which will be total MPDU length -
112 * (N - 1), this will be over boundary of skb buffer room
easily.
Set length 1536 bytes for (N-1) skbs to fix it.
Change-Id: I4e73673887d5d8197cf64bed5da34a3751df1e33
CRs-Fixed: 3381528
Check peer count to decide if peer filtering is required or not.
This is required to support peer filtering for full monitor mode.
Change-Id: Icb3c0fc834795dbbbfd3a7899b3b733409f5f70d
CRs-Fixed: 3372600
remove unused var and declarations in
dp/wifi3.0/monitor/2.0/dp_mon_filter_2.0.c
CRs-Fixed: 3284798
Change-Id: I602d0e1ce5a74b981f34f7d5d4a5cb83693f62db
remove unused var and declarations in
dp/wifi3.0/monitor/1.0/dp_rx_mon_status_1.0.c
CRs-Fixed: 3284798
Change-Id: Iea3f8e2213fef9d10fe20c90c2ac0017f7d17692
remove unused var and declarations in
dp/wifi3.0/monitor/1.0/dp_rx_mon_dest_1.0.c
CRs-Fixed: 3284798
Change-Id: Ibfeaca928fe43e6f0cc5b52a2114708810c09805
remove unused var and declaration in
dp/wifi3.0/monitor/1.0/dp_mon_filter_1.0.c
CRs-Fixed: 3284798
Change-Id: I289aac6ae32c22539c98d02673b9af9a48d46192
In error conditions(packet truncation or flush detected)
packet buffers are not freed, changes are done to
iterate over all the packet buffers and free them.
Change-Id: I48ef0022c7a9c8c6fd067d78d6b46daf84855cc8
CRs-Fixed: 3363841
Added support for parsing firmware to software tlv. which is mainly used
for populating frequency of the current packet.
Change-Id: I67c552e6d6b5caf9c12c34e553bad70b89b30c40
CRs-Fixed: 3270364
Use the flag RX_PEER_INVALID_ENH for invalid peer
event instead of FEATURE_NAC_RSSI
Change-Id: I87e301a48b1ccdcd28f8e2eb0ba80b215efa384c
CRs-Fixed: 2969193
IOMMU map and unmap RX buffers into LPASS SMMU context
bank for LPASS to access RX buffers in direct link
usecases.
Change-Id: Ie72a008309e3abdf3fbc7198bb5d3af5e9497180
CRs-Fixed: 3356568
rx user status pointer is not valid
memzero ppdu_info before ppdu TLV processing and
Assign valid user status pointer from ppdu_info
user status before rtap update.
Change-Id: Ib9f8bf356a8d4710d295716cf88b8cf6a37158cb
CRs-Fixed: 3341380
Check size of the frag before passing
to trim function, which can lead to memory
corruption.
Change-Id: Icea102f9fef8c7333591337a93d32bc449704202
CRs-Fixed: 3354458
Adjust low watermark refill for RxMON Source ring based on
ring_fill_level.
ring_fill_level varies based on use case of monitor like
enhanced_stats, full monitor.
CRs-Fixed: 3353181
Change-Id: I4e17eecbbd7f74071283d2c5615904310a3d7c77
nbuf could be freed when some error conditions are hit so
always validate nbuf while processing MPDU/MSDU level TLVs.
Change-Id: I5e0756bc8ba0a8c68c6ce8d2886b5b63068626a0
CRs-Fixed: 3318966
Currently, in case of station+monitor mode on KIWI target,
we are not attempting to drop the entries received in the
monitor destination ring, when no channel has been
configured for the monitor interface. This leads to the
monitor destination ring full condition and an eventual
backpressure on the ring.
Fix this issue, by dropping the entries in the monitor
destination ring, which have been received before the
monitor channel has been configured.
Change-Id: Ic9c432b438d0a5dce2d2bb38053c31ce508c27f5
CRs-Fixed: 3332327
When high throughput is running between AP and STA,
due to u8 variable overflow, host is not replenishing
required buffers.
More than 255 buffers can be requested for replenish,
so fixed size of the variable.
Change-Id: Ia810fed29058ec527cd8e6f77e6f9c333c5c6f88
CRs-Fixed: 3306616
Add debug count for count MPDU received based on preamble type,
reception type, UL/DL and user for max 4 user for MU monitor
mode
Change-Id: I87f1553e1f2f8276501366a825d629cf051d8a80
CRs-Fixed: 3326272
As part of mac address filtering feature for scan radio in special
vap mode, on addition of first NAC entry or deletion of last NAC entry
the corresponding monitor filter needs to be set or reset
Add change to support ops callback function required to set or reset
monitor filter settings are runtime.
Change-Id: I916c0b246bb180363f1a181ef49618af763b261d
CRs-Fixed: 3317409
Currently the monitor mode processing assumes the
rx pkt tlv to be consisting of RX_PACKET_HEADER tlv.
This assumption is incorrect in case of sta+monitor
mode, where the RX_PACKET_HDR tlv has not been subscribed.
Due to the above incorrect assumption, a certain portion
of the actual payload is being discarded, when the
rx_pkt_hdr tlvs are stripped off from the received buffer.
To mitigate this issue, use the rx_pkt_tlv length based
on the tlvs which are enabled, and configured to the
rxdma for reception.
Change-Id: I8f29db85bbd50316e3c2073ae9a2e79fd724be05
CRs-Fixed: 3318038
Currently the monitor mode filter settings are set
for both the PMAC. Hence it is possible that the
non-monitor PMAC (the PMAC on which monitor vdev
is not running), can receive packets and forward them
to the monitor destination ring.
The above scenario will lead to a ppdu_id mismatch
when reaping the monitor status ring and comparing
the ppdu_id in status ring with the one in monitor
destination ring, since monitor status ring will
have ppdu_id from the PMAC on which monitor vdev is
running, whereas monitor destination ring will have
packets from both the PMAC.
In order to mitigate the above issue, detect the
packets in the monitor destination ring, which are
not from the PMAC where monitor vdev is running, and
drop them.
Change-Id: I32392ceeadffd9cb7a4dd76336004a9dcbb99404
CRs-Fixed: 3318036
Add ini configuration to disable invalid decap type handling
during rx mon tlv processing. This is a temporary change for
debugging purpose and will be removed once HW issue is resolved.
Change-Id: I75eb53170833224ddd144baf1b1d8034f988dd3c
CRs-Fixed: 3308998