Add prints to track:
* Incoming TLVs in the monitor mode status ring.
* HE, HE-MU and HE-MU-Other values being passed to the
stack.
Change-Id: Ib23336353dc4a2253a62444b767d2a706ce372ea
CRs-Fixed: 2242514
Process WIFIPHYRX_OTHER_RECEIVE_INFO_E and
WIFIPHYRX_OTHER_RECEIVE_INFO_RU_DETAILS_E TLVs in monitor mode.
Change-Id: I9cea6cee0499fd9ae9e07d4479c7010e35f3e5a5
CRs-Fixed: 2242514
Address the following issues in the hal folder:
CHECK: 'completly' may be misspelled - perhaps 'completely'?
CHECK: 'Initalize' may be misspelled - perhaps 'Initialize'?
CHECK: 'refered' may be misspelled - perhaps 'referred'?
CHECK: 'Retreive' may be misspelled - perhaps 'Retrieve'?
CHECK: 'settting' may be misspelled - perhaps 'setting'?
Change-Id: I98368830eeef7942c20380dbe6c638319a9860d9
CRs-Fixed: 2241575
Enable/Disable the DSCP TID map program bit before
writing the mapping configuration into HW registers.
This is a new recipe for NPR AX & HK 2.0
Change-Id: I0af968dab507b32167909dbfa8ecc7a946e4af84
CRs-Fixed: 2221226
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. In hal reo setup initialize pn_size to avoid uninitialization
in default case.
2. In hal validate shadow register function, fix the check
for index as shadow_config array can take 0 to 35 as index values.
Change-Id: I8b729dc70053e333ef659ba38fb0c2f66cd8b35a
CRs-fixed: 2208799
On napier AX, HK2.0 ast search is tied to lmac_id.
This ast search feature is added to support DBDC repeater usecase.
Assign lmac id 3 to search by default on all macs until more
formal per pdev changes are made. This enables 2g.
Change-Id: Ia06d9243bddd3f4943426d6b0de3f452a252d819
CRs-fixed: 2198431
Fix possible REO descriptor leak while draining REO
command ring by invoking command status handlers with
special error code.
Change-Id: I2fe5f60489b57a4b0a287e67e5610112f7292677
Change REO queue descriptor delete sequence to flush base and
extension descriptors separately, since flushing base descriptor
alone results in extensions flushed by HW much later,
sometimes after freeing descriptor memory, causing use-after-free
corruptions. Also increase REO command and status ring sizes
since number of commands per RX TID flush has increased with
this change.
Fix interrupt batch count setting for non pkt/buffer rings,
which includes REO status ring.
Also remove callbacks during reo command list destroy,
done as part of SOC detach. This should not be done since
callbacks will access stale data structures that are freed
as part of PDEV/SOC detach.
Change-Id: I4337454d3f53cc0b3c3014ef07cc2ba13cfebb18
CRs-Fixed: 2175989
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
When delete peer, host will try to flush all frames in REO queue
by sending a cmd through reo ring, but sometimes encounted failure to
send this cmd, dump ring status if ecountered above failure.
Change-Id: I3ea4e96e5999f85398b531ddf4f350e91e798d70
CRs-Fixed: 2167419
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
To release/flush buffers from source SRNGs which have not been reaped yet,
add a new HAL API to get next descriptor which is pending reap
Change-Id: Ibe490d8f8667ed046beb98fe19bfd7feb31aa286
CRs-Fixed: 2165595
In radiotap section of sniffer, fix group id field for vht
and rate field for legacy.
Change-Id: I3c1e2e650548551230d9eca5bc043b690169e844
CRs-fixed: 2143521
fwhdr_abstrct: Use Host based TARGET_TYPE instead of firmware
defined TARGET_TYPE. It will abstract dependency on bmi_msg.h.
Change-Id: I76d744db27df730a3a91a243adfc07fc17d77487
CRs-Fixed: 2140921
If hal_srng_setup() fails, memory allocated for srng
is not freed resulting in a leak. Free the memory in
that case. In future, return error to caller and
assert when invalid ring ID is used during setup.
Change-Id: I6f3a7494a5c5e861652f3a38d18c220cd9a6eef2
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
Direct Buffer Receive provides the driver with a mechanism by which target
can transfer information directly into host memory via DMA.
DMA rings must be initialized and configured before they can be shared
to the target for transfer ot data. Host driver will use the HAL SRNG
APIs to create, initialize and configure the DMA rings.
Change-Id: I43cd39ccbb5f5069c9a14092459d5c88ea514dca
CRs-Fixed: 2157986
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