Add support for following node statistics for Lithium DP
1) Number of Tx unicast MSDUs and bytes
2) Last Tx and Rx rate
3) Excessive retries per AC
Change-Id: If533df25e5299bf399bed85ace99763aab74134e
Host CCE Classification changes for RAW Mode workaround
H/w CCE hangs while classfiying raw packets
so the classification is moved to host
Change-Id: I75cfc6b140a7983fcdfb797c93b9fd57f01c5ee3
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
Provision to send first data frame of a PPDU to upper layer, based
on PPDU ID and peer ID received in MSDU TX completion indication.
FR 42926
Change-Id: Ifac443b1d56d3e91cd72d1868f253ca10beae8ee
CRs-Fixed: 2127108
Multicast frames in NAWDS mode causing flood of packets between the
nawds enabled AP's due to continuous sending of mutlicast frames received
from another AP and vicevera.Resolved the issues by droppping the 3
address Multicast frames and 4 address multicast frames with sa_peer
same as tx_peer.
Change-Id: I5edbcb060720510eb6ea5f5ffd46402535ba6748
CRs-Fixed: 2130039
Remove excessive failure logs. We have stats when we fail to get
the tx descriptor and drop packet. So do not log tx descriptor
unavilability failure.
Change-Id: Ia3d929048545ebcd05b52d0819a818cc09878e97
CRs-Fixed: 2128380
In DP Transmit path, 32-bit variables are being used to store paddr.
This will not work for 64-bit systems.
Address this by making them 64-bit variables.
Change-Id: I4c146649773cfd9bdc636187cb35d9d776bf072f
CRs-Fixed: 2142458
Fix transmitter MAC address, which is being appended
to MSDU payload when tx packet capture is enabled.
Change-Id: Ic5bd3eab434125e9e4278e1e7af3ec47b7b3698f
CRs-Fixed: 2142085
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
Transmit H/W requires that metadata sent as packet pre-header
should not be overlapping with the packet, as it might cause stalls
in the bus and might affect performance. For this reason, we are
removing align_pad bytes that we were adding by default for all
non-8-byte aligned frames and setting pkt_offset as 0 in Tx descriptor,
so that H/W does not read any metadata by default. H/W team confirmed that
8-byte alignment requirement is not there for frames which do not
have any metadata (Mesh/OCB/TDLS etc).
Change-Id: I2afdeaa49bc8306e7072cf5945762f19d6e4115f
CRs-Fixed: 2138287
Set host_tx_desc_pool bit in ext header for mesh frames as per
new ext2 header.
Change-Id: I7b4076e5882d8220b3f98fdbf0a7a52efc8abee6
CRs-Fixed: 2133277
Add support to send MSDU, mgmt. and ctrl payload along with metadata
to upper layer callback
FR 42132
Change-Id: Ie751322c7c15419ea908538e9e8687b64693fcfa
CRs-Fixed:2068486
Update of per-peer statistics was disabled from per-MSDU indications
as they are now updated from per-PPDU indications. However, the data from
per-PPDU indications is incorrect for some fields. Re-enable update of
statistics for per-MSDU completions till this issue is fixed in FW
Change-Id: I2983ef9244a6f95104ba49ab6d1c6543a951d0b2
CRs-Fixed: 2128230
Add a check in mec handler to see if mac_address is same as that of
vdev_macaddr.raw. If both mac addresses are equal, then add_wds_entry should
not be called. This corner case is seen in qwrap mode where the vdev address
is same as that of the backend wired station
Change-Id: I17504de8ef379680c2a2b962280e1853a5b2930d
CRs-fixed: 2109554
Add support to process HTT PPDU statistics for transmit
datapath and deliver PPDU indication to CDP interface.
Change-Id: I22e757497e13ce86fb7b42112fd56555c58e97bc
CRs-Fixed: 2098696
Add a division factor for number of tx completions to be accounted for in NAPI
budget. Fix the data type of budget to int to account for negative values.
Change-Id: I620af5537c5c1cdf3161da3a3c053a2c8bf777e8
CRs-Fixed: 2092526
Send peer create to NSS only when peer map comes for connected peers.
When peer map comes for WDS peers only update WDS peer specific entries.
Change-Id: I32d785180bcd1dae2703d40b55f4536685f10439
There is a possiblility of invoking spin_unlock without taking
spin_lock in DP tx descriptor prepare function in error path.
This change fixes this issue.
Change-Id: Id4c5c0115b14041865e7f97f930e7023e865eca2
CRs-Fixed: 2088616
For frames that are dropped by FW/HW and returned to host through WBM HTT path,
freeing of associated ME buffers (for multicast enhancement) and handling of TSO
segments is missing. Create a new function to handle the freeing of buffers in
Tx completion path and call this function in both HTT completion and regular
completion path.
Change-Id: Ibd061830e9325a2b2be9b1779b67b700f4ac08ae
CRs-Fixed: 2004658
Adds support for flow control on convergence branch.
Allocate Tx descriptors dynamically when vdev comes up.
Tx queue is paused and unpaused internally in host based on the
stop and start thresholds.
Changes are added under compilation flag QCA_LL_TX_FLOW_CONTROL_V2.
Change-Id: I0ccb80b0099f39efad52ccd7d47f2709fdee2a93
CRs-Fixed: 2040457
Initialize msdu_info before calling API to queue frames in HW. msdu_info
provides tid info which was going as random value to HW causing target
assert. Intialize it so that proper value is used.
Change-Id: I5028508f05b7b8ff2be123c21b3aed75adeb54d8
CRs-Fixed: 2076799
FW has moved to using v2 HTT_FW2WBM message format for Tx completions
Add corresponding change on Host.
Add missing code to free Tx descriptors for few HTT completion types
Also change the descriptor pool lock to spinlock_bh since transmit path
and completions typically run in tasklet/softirq context
Change-Id: I024d44243f95907f19086225f0f02a5cd64f4508
CRs-Fixed: 2068155
Currently all Host collected DP statitics are synced to upper layers
on per-packet basis; This is causing significant CPU overhead.
Add a flag which can be controlled through iwpriv to enable/disable
updating of these statistics from DP to higher layers
Change-Id: I983c6d91803c83c1efd49c5535769a0c10fbc9b5
CRs-Fixed: 2064113
Avoid accessing and releasing tx descriptor when it is
not allocated in tx path.
Change-Id: I36515b679c541d081fd836ea3fb732768031cc06
CRs-Fixed: 2062160
This is a temporary WAR in host for multicast loopback check
until we finalize on exact design, and host or firmware will
take care of this
Change-Id: I4d2d1b0f5d2a78d4c8716740b74c4fee22c28e96
CRs-Fixed: 2039038
1. Unmap tso common segment only after receiving
completions for all the tso segments for a given
skb.
2. Keep a track of num of free tso descriptors available
in the pool of tso descriptors.
Change-Id: I01bdbb9e40b7259f77dbcfeec22c6d8cd0c0a6dd
CRs-Fixed: 2042950
Add peer-id in the meta data for the reinjected by the FW
and queue them to the HW.
Change-Id: I3f25d5f928b6891c06cad6ce3ed81df77d4e33ed
CRs-Fixed: 2024450
Due to HW limitation, WEP bit is expected to be set in AMSDU packets
transmitted in raw mode.
Set WEP bit if the QOS frame is AMSDU during the tx processing of the
raw mode packet.
Change-Id: Ibaa7d95f6ebcf9016e3c02355b5f0ce909eb9a93
CRs-Fixed: 2042666
1.Add QDF_TRACE_STATS for datapath stats to remove
module prints.
2.Fix Stats indentation for better readability.
3.Add missing stats
a. Update Packets on Rx side on per-ring basis.
b. Add stats for features (TSO/SG/RAW/Mesh)
c. Add packet type count on Rx.
Change-Id: Ief1719b67330f729ff60703ec2be26bc5e4201e9
CRs-Fixed: 2034876
Add support to set address search flags in WLAN Tx Descriptor
for TDLS operation
Change-Id: Iafb15fb1efd84a4bef436062368401a5496e4468
CRs-Fixed: 2041759
Add support to set addr_search flags in WLAN Tx Descriptor
as per vdev operational mode
Change-Id: I25fcd4bf450982f8aecc6e91236211c17d5f3f22
CRs-Fixed: 2004658