Add changes to set band in nbuf cb during rx cached flush
for connectivity logging.
Change-Id: I2243f41349922a4dd023f6651fdb7d682e887046
CRs-Fixed: 3598261
Avoid asserts in data path which related to HW interactions
and instead use work arounds.
Change-Id: I86089d21c5be23784f8a077b085f3f3b8a2308e4
CRs-Fixed: 3564940
For RAW frames, setting zero to start and end flag make difficult
to reconstruct amsdu frame.
Change-Id: I28ffb87682427c7986f98730d514a0421eae1972
CRs-Fixed: 3584549
Use page frag init time rx buffer allocation for efficient usage of memory.
Add ini dp_bufs_page_frag_allocs to disable and revert to original slab
nbuf allocations.
Change-Id: Iac78895addfe9da0118bc071c691a26216d6fda1
CRs-Fixed: 3553800
Currently, IPA SMMU map/unmap is called as part
of init. This causes every nbuf to be mapped
to IPA in the Rx path, causing throughputs
to drop. This change resolves the problem by
deferring the IPA SMMU map/unmap
call to OPT_DP filter reserve/release, as
nbuf needs to be mapped to IPA only in this scenario.
Change-Id: If198a6c5f22af58fdaf9d9c020c74b1f76002e37
CRs-Fixed: 3496679
In case MLO HW will do the link mac address to mld mac address
conversion in RX path, But currently HW is supporting only for
802.3 mode.
For RAW mode(802.11) this conversion not happening on HW so added
this address conversion logic on SW.
Change-Id: Ibd794510e9d0ebdca884ed2e4043e0c48052156e
CRs-Fixed: 3537914
Move prealloc DP descriptor types to QDF so that
the macros can be used in HIF layer.
Change-Id: I3de60876735e5aa37d80e9e698a86503b18574c1
CRs-Fixed: 3502615
Use monitor pkt tlvs size and monitor buffer size
instead of data pkt tlv size and data pkt buffer size
for York.
Change-Id: Ifc0d07ed96100ae79e81ac91bccd637e08d71e28
CRs-Fixed: 3494826
Logs without meaningful message or values serves no purpose in debugging.
Hence, add more context to the logs.
Change-Id: Ia463d239a9bf26f292a11bcc71cb1379374c45e4
CRs-Fixed: 3492593
Currently driver obtains RX MCS index from RX MSDU TLV END of a
data frame. According to the specification, the MCS index should
starts with 8 rather than 0 when NSS=2 in HT mode. However, the
original RX MCS index from HW starts with 0, thus SW needs to
get a final MCS index by adding an offset when NSS=2 in HT mode.
Change-Id: Iba5f9976958233fc283513caf0184e59774ab50a
CRs-Fixed: 3471953
Currently the code to support Multipass on SAP is
present along with the code to support WDS. Hence with
the code in its current state, we will not be able to
enable Multipass support without enabling WDS.
Move the multipass support code out of the WDS support
code, to be able to enable Multipass for chipsets which
do not use WDS.
Change-Id: Id17035f1ada9bde56ca2c61fd4688fa3454b0b11
CRs-Fixed: 3479991
When FEATURE_RX_LINKSPEED_ROAM_TRIGGER is not defined,
function dp_rx_rates_stats_update declared without link_id argument,
this will get building error. Add the link_id parameter to fix too
many arguments of function call building error.
Change-Id: I311d520e106f2e6f9e2c11c76cc841840821ccae
CRs-Fixed: 3477778
Currently the code to support Multipass on SAP is
present along with the code to support WDS. Hence with
the code in its current state, we will not be able to
enable Multipass support without enabling WDS.
Move the multipass support code out of the WDS support
code, to be able to enable Multipass for chipsets which
do not use WDS.
Change-Id: Iaafa8dc4f16314d9e3e160fe01251c3684adbf67
CRs-Fixed: 3468548
in case of DS pkts the same pkt which is received
in RX path (REO2PPE) can be refilled back to wifi
rxdma
CRs-Fixed: 3381462
Change-Id: I3762c91110ffcc95162bf068b7a1ed3e41904824
Add support to enable/disable MLO Link Peer stats through
ini and cfg80211tool enable_ol stats command
Change-Id: Id1229a149befa416d060e1b07eee150e6b295abf
CRs-Fixed: 3397721
Add support of HW Link ID in PeerMetaData.
Retrieve the HW Link ID in both Rx per packet
path and RX Error path, store it in nbuf cb.
Use the stored value from nbuf while updating
MLO peer link statistics.
Change-Id: I11596d44fe8557af568fd399d0c0a04d2b887b2a
CRs-Fixed: 3397721
In RX and defrag path some of the code in common files will
not be used by new SOFTUMAC based platform. So placing all
the unused code under SOFTUMAC macro and for better readability
clubbing all the code at one place in source file.
Change-Id: I6ff3997a42872a25fb020898f7fb1879746fc8e6
CRs-Fixed: 3382899
Usually decrypt error frames will be reported and cause
a disconnection. In some cases, the disconnection is unwanted.
Change is aimed to do additional check for frame SA, if it's
received from a valid peer, then don't report it to protocol.
Change-Id: I19d9acffc5ebd2c20abdf19eebc02f6875f762ca
CRs-Fixed: 3363352
The kernel-doc script identified a large number of documentation
issues in dp/wifi3.0/dp_rx.[ch], 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: Id0ac49ebfa23790346384d688cc6346f513a7969
CRs-Fixed: 3373158
Fix the max number of rxdma buffer ring entries that can be
replenished during Umac reset.
Change-Id: I4092f09f2ccf069314b2bbe8d463e32365e9a472
CRs-Fixed: 3369673
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
Currently HP update can skip for few packets if the system suspend
is happening in parallel with tx. This could lead to SMMU fault if
the skipped HP update goes after tx desc force free.
Remove the tx pause check in HP updates and have the check before
calling dp_tx_send in case of intra-bss forward case. No special
handling is needed for non intra-bss case as we don't expect packets
from network stack after suspend.
Change-Id: Id4f2cefcc0a14e7c16438b9bda5cb1d55eb05050
CRs-Fixed: 3327818
Changes dp_rx_buffers_no_map_replenish API to
miminize the contention on RX refill ring lock
Change-Id: Ie55f034c6d01abbab21707460cd0f20548b35ba2
CRs-Fixed: 3313886
We allocate extra buffers than requested when watermark is less
than critical low threshold. While allocating extra buffers we
should check for boundary conditions so that total allocated
buffers is always within the range of available entries.
Change-Id: I2f24c6157cb2afcc8bc5ca84b7e0308588a4d99d
CRs-Fixed: 3307051
get the HP of the RXDMA ring without incrementing
This will ensure in case of nbuf failures the ring
HP remains unchanged
Change-Id: I69ec9207a44a4c50484933797326e962ad2d4a5c
CRs-Fixed: 3309394
For STA MLO connection, AP might send M1 right after assoc response
on assoc link, but at this monment, host has not sent wmi_peer_assoc
for the assoc link and no osif_rx is registered to dp_vdev, MLD peer
will not be initialized in FW side and no HTT MLO peer map msg to host,
then this M1 frame will be detected as no valid txrx_peer and dropped
in host as dp_vdev->osif_rx is NULL as well.
Store this M1 frame to cached buffer queue until CP register the osif_rx
to DP and then flush them back to stack.
Change-Id: Ie84fa9c39db75fe77b9fd61dc1bf46f2fa737df7
CRs-Fixed: 3289587
Raw mode mpdus in REO end up resulting in NULL_QUEUE_DESCRIPTOR error.
Raw mode mpdus are not expected in REO, free them without further
processing.
Change-Id: Ica920caecf90a1107ce17836051e1019c9dfc994
CRs-Fixed: 3282836
In MLO mode, there are 2 link peers and 1 MLD peer. TX/RX stats
is kept in txrx_peer, which only exists in MLD peer. This change
aims at fixing HDD failing to get rx rates info when in MLO mode.
Change-Id: If476216a6b0d1c006fbc0d45a3cbfbb0be79efd3
CRs-Fixed: 3287090
Debug framework for tracking the SMMU mapping and unmapping of
skb buffer when IPA offload is enable and IPA_SMMU_NBUF_TRACKER
is define.
CRs-Fixed: 3255423
change-Id: I8966097945b33cb866f4642b98b3d1a4beabfad7
1. Add stats to indicate REO ring size and Rx desc pool size
2. Add low threshold interrupt stats
3. Update SW2RxDMA ring size max to 16K
Change-Id: If84b88bc08e447774ab445df36b9f2f2219356b8
CRs-Fixed: 3286940
Only in 11b mode, exclusive of other legacy modes(11ag) will
the NSS obtained from the TLV header be invalid, which is 0
and cannot be resolved. This change will set nss to 1 in 11b.
Change-Id: I93e8bdb125764fb0247265da328929ecc837fb84
CRs-Fixed: 3275793
Driver is able to get rates info per MSDU, which can
exclude special frames like ARP, DHCP, etc. This change
is to refill the rates info parsing by rateflags from FW,
including legacy rate, MCS, NSS, BW, preamble, GI, etc.
Change-Id: I129d5f0dc48758d1a92ac0c3622c1761cdae8286
CRs-Fixed: 3255467
When nbuf allocation failure happens, there is no retry scheme.
So RX buffers in refill ring may shrink and not got enlarged.
This change is aimed to replenish more RX buffers when watermark
is less than critical low threshold.
Change-Id: I201b9e252ba08ba1bff47e0b5ec819a45f1b1ddf
CRs-Fixed: 3245915