nbufs received on wbm_release ring were chained based on
first_msdu and last_msdu bits if the peer is invalid for these
frames, but these fields in the rx tlv header were in-correct as
hardware does not decap these msdu's.
Based on inputs from firmware we now changed this logic to
using phy_ppdu_id field from the rx_mpdu_start tlv & rx_attention tlv.
Change-Id: Ifc7faa2d1b0585bcc226e5cb2045fcb29d152273
HE field in radiotap header are not being updated for MU frames.
Add support for MU-MIMO and MU-OFDMA frames.
Change-Id: If33e9f9039c8df6e1bb8f591879d4defed184ac8
CRs-Fixed: 2191215
Fix the issue where the MCS rates for HT were repopulated
causing the MCS rates to be decoded incorrectly.
Change-Id: I73efac79d853b6f8af966aec57e70ad645418528
CRs-fixed: 2206784
In existing code, the RX payload buffer for M-copy mode contained
RX MSDU payload followed by additional TLV data.
Add change to strip the skb and only provide MSDU payload
Change-Id: I9834fabfb0e26404a620d8419e7c570fff68f182
1. Moving HT,VHT and HE flags setting into
WIFIRX_PPDU_END_USER_STATS_E case.
As this TLV already have preamble type populated.
2. NSS value wrongly populated in WIFIRX_PPDU_END_USER_STATS_E
case. It has been removed now.
Change-Id: I1c530385c585c0ea0dd14a07a6759a85b80e6a10
1. find_first_bit API returns Size value if it doesn’t find any bit set.
This was causing VOICE AC counter to go high even for TID 0
2. Reset stats was not resetting the stats immediately
3. Added checks to avoid spurious stats increment
4. Detect data/mgmt pkt to avoid spurious stats increment
Change-Id: Ic9c5695fc7bdf58d1237e7e20bb79378a02a21f6
cck rates were getting updated for ofdm rates
and nss index were getting wrongly incremented
fixed the same
Corrected sgi and preamble too
Change-Id: I2dabb685de6e0bd4ba5094845cde228b3c32e2a9
* 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
Update mon_rx_status fields for HE case. Also
added rs_fcs_err field to structure and populate
its value.
Change-Id: I4681543c7d6c6c7ac0d666cd93072caaee285585
In radiotap section of sniffer, fix group id field for vht
and rate field for legacy.
Change-Id: I3c1e2e650548551230d9eca5bc043b690169e844
CRs-fixed: 2143521
In mon_rx_status structure mcs,bw and nss values
not populated properly. To resolve this issue, update
mon_rx_status structure fields when embedding values to
respective flags
Change-Id: I33c19c209fcdb7252af4a7ed6cbdbf3682fd4236
Stats counters for BW were not updated correctly
due to difference in mapping of BW on host and FW
Also fix the Rx Stats to account for TCP Ack count
Change-Id: I7e844a7032e7968c110c7a0f8c45b0349a5cb818
Keeping up with changes in radiotap header definitions
and spec. This change reads preamble info for HE SU from
phy tlv and populates the radiotap structure
Change-Id: I0663d1923f2a8277c62ab6c8378aaca026ce18db
Crs-fixed: 2144302
Add missing break identifier in switch case of
hal_rx_status_get_tlv_info() used to parse hal rx status
TLV.
Change-Id: Ie913b6795d0a73fe8d28fefedd7ab799edda2619
Change some HAL API to correspond to the header changes that got
modified for the Napier 11AX HW.
Change-Id: I514b18bc2a92ad11d95c1079ba8ef4b96b7bc6eb
CRs-Fixed: 2124274
Provision to send first MSDU of a PPDU to upper layer based
on PPDU ID received in RX monitor lite ring.
FR 42926
Change-Id: I6daed9382b57fb3355ec6453e0609085cc7b9bb0
CRs-Fixed: 2127108
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
Remove the NAPI quota check on processing monitor destination
ring. The quota is applied to monitor status ring process.
change Dummy TLV in status ring handling. The Dummy TLV
is not an indication of PPDU done.
Remove the mpdu err check in MPDU pop function.
Increase Monitor buffer ring, monitor destination ring
and monitor descriptor ring size.
Push destination ring buffer to stack when ppdu id from
status ring is bigger than ppdu id from destination ring.
Change-Id: If592a89ad132d405ab215024c8198a020153a9ff
In monitor mode, code decodes legacy rates and bandwidth information for
HT and VHT. Other changes include populating radiotap header with correct
nss and mcs values for legacy, HT and VHT frames. Mapping of mcs rates in
rx_msdu_start tlv and radiotap header info is done using Lithium data
structure document.
Change-Id: I5f20e5d89329738e3a6c076ee14457c003cab279
CRs-fixed: 2083027
Add support for processing rssi, mcs etc fields from
PPDU status ring and delivering to CDP interface
Change-Id: I312bef20605594645bae6ec748f0b59e4d427075
CRs-Fixed: 2098696
Read the ppdu id from MPDU start TLV instead of
ATTENTION TLV. The MPDU could extend to multiple
SKB buffer. The ATTENTION TLV will be in the TLV
of last SKB buffer. MPDU start will be in the
first SKB buffer in MPDU. Read ppdu id from MPDU
start TLV guarentee the correct reading
The msdu count in MPDU from REO entrance ring is for
msdu count for decap frame or MPDU count for not decap
frame. msdu length in msdu desc info is for msdu
length for decap frame or MPDU length for not decap
frame. The MPDU could extend to multiple SKB.
The continous bit in msdu desc info indicate if
the MPDU/MSDU extend to next SKB. code is modified
accordingly.
Change-Id: If9aeb278f84a57d64651e1f877b5185f6db63cd2
The pdev id in host is not the same as firmware MAC id
Add host pdevid to firmware MAC id mapping code
in set pdev id for htt sring setup and
set pdev id for htt rx ring selection cfg
The mon_ppdu_status is not synchronized
Fix the issue on pdev mon_ppdu_status by reset
mon_ppdu_status to DP_PPDU_STATUS_START after
monitor destination ring is processed
Add code for mpdu fcs error for later use
Change-Id: Ia6245cc9441e3339bcd01ed18fdce2f33f3f7699
Changes to process PHY TLVs from monitor status ring and extract
information required for radiotap header.
Change-Id: I99d642e7506ea797b26dbfac89fd223d1a4c0a55
CRs-Fixed: 2048006
This change is for supporting monitor mode VAP. All the monitor mode ring
is configured. The related monitor mode ring includes:
-monitor mode buffer ring
-monitor mode destination ring
-monitor mode status ring
-monitor mode link descriptor ring
The packet is not sent to monitor mode ring unless the monitor mode VAP is
configured. This release support Multiple VAP - AP/STA VAP plus Monitor
VAP configuration. The status ring is not used in this release. However,
the ring is tested and the ring is moving and there are TLV's in the ring.
Change-Id: I782ee0c3b998d8b3bbac79b5e7fdecdbff15fa93
CRs-Fixed: 2013049