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
Accoring to new meta header format mcs, nss, preamble_type and retries
information will present in rate_info field. Changes done to extract
these fields and update ext2 header to firmware.
Change-Id: I56926f39f2ba17446418c7eae0fd382247430df8
CRs-Fixed: 2003389
Remove debug message to print pdev id in
dp_tx_comp_process_desc to avoid flooding of
print messages on serial console
Change-Id: I141b59a9e477aec25f3d9f8a424397d382903d58
CRs-Fixed: 2017426
Remove the dependency of dma_map for align_pad calculation
move the dma_map to correct position after mesh mode header addition
Change-Id: Idd309ed47d82f68f97191048c582c1b429f3b378
CRs-Fixed: 2004658
Intrabss forwarding logic turns around bcast (ARP) pkts on the
SAP with peer source addr. So a AST lookup on AddrY results will
route the pkt to HW and not FW which is not the design. Fix is to
enable lookup only on AddrX in SAP mode.
Change-Id: Iea41c53fd818acfb8dbfd9ad1582e43ba1c4bc83
CRs-Fixed: 2029656
Add Invalid Peer stats on rx side
Add aggregation stats missing on Tx
API to update Rx Errors
Change-Id: Ib757ee7b89d9b9113e1a41b5a520faabb9ff28bb
CRs-Fixed: 1114641
Move the qdf_nbuf_map to correct position before align_pad is
computed for mesh mode header addition
Change-Id: Ia62137daea2ab09e93a86c4b9da681f5591ce947
CRs-Fixes: 2004658
Add API to handle NAWDS packets on tx side.
Add API to handle invalid peers and pass them to umac.
Change-Id: Ie8c2508e4f51c7d6969c9eb6439919c57dd427d4
CRs-Fixed: 2008205
Change calls to qdf_dma_map_nbytes_single to qdf_dma_map to match with
qdf_dma_unmap used in tx completion path. Also fix the dma_addr value that is
passed to Tx HW; we were incorrectly subracting pkt_offset instead of just
subtracting alignment bytes from dma_addr
Change-Id: I2d6f32bd44e02824a1a788e3624dcb3680f1b242
CRs-Fixed: 2004658
After updating the skb with meta header cache flush is not happening. This
is sending incorrect meta data to firmware. Fixed this by doing cache flush
after meta header updation in skb.
Change-Id: I0952093e3080f5b8ec2233e6ab1edf4f48351603
CRs-Fixed: 2003389
Add command to set mapid for each VAP using:
iwpriv athX s_dscp_mapid N
Add command to change tid values in PDEV maps using:
iwpriv wifiX s_dscp_tid_map <MAP_ID> <TOS> <TID>
Change-Id: I510a40e71ecec5c453dd2dff1b13fd5ebedbe98a
CRs-Fixed: 1108452
Add per peer stats
Add support to update APSTATS
Change QDF_TRACE to DP_TRACE for improved readablility
Change-Id: I4be2adf2a1d7f978eb2961a544435d525c97923d
CRs-Fixed: 1114641
enable stats by default
Add a WAR to not use macros from Hardware Header file.
Will be removed once it is fixed in Hardware header file.
Change-Id: I73152645c89813dd65c23d9060e8b6fad1d88678
CRs-Fixed: 1112381
Added mesh specific data path changes. Extract mesh meta header in the
packet and pass it to firmware. Fill tx completion stats and call upper layer
call back function incase external tx completion is registered.
Change-Id: Ic3c1c37b2f59b1a35e3cf00a4498342dc20427d2
CRs-Fixed: 2003389
Due to issues in Kbuild wlan_cfg was included using relative path.
Also getting rid of a duplicate static function definition in
dp_peer.c.
Change-Id: Ie0883340a9143b739119f18c8871b4baa9787980
CRs-Fixed: 2005582
Napier is using per-PDEV tx descriptor pool until per-VDEV tx
descriptor pools are enabled.
Change-Id: I7699547fd71dec392345a186b4c34135629cd783
CRs-Fixed: 2005582
The Tx completion is an asynchronous event from hardware that
cannot be synchronized with vdev deletion. This causes issues
in the datapath which attempts to use invalid vdev pointer
(if tx complete is received after vdev delete).
Change-Id: I8b27b3a59a3674214dcd45dc621b068f7253a6c6
CRs-Fixed: 2005584
pdev id should be numbered as 1,2,3 for MAC 0,1,2 while
communicating with firmware.The pdev->pdev_id variable
holds 0,1,2 during init. Add 1 to the variable while
programming the ring metadata.
Change-Id: I2de7ef2c63d2bd59581d25ad2e45daaabdb579b6
Add Tx completion status value to the logging
of Tx completions. In addition dump Rx meta-data
and first few bytes of Rx packet only on NAPIER
EMULATION platform. This is only to facilitate
faster debug from the logs, and will be disabled,
once we have more stability.
Change-Id: I69d9e2fd6ad32efe01b8e56f355db5ed6d4d2e70
CRs-Fixed: 1116939
When QDF_LOCK_STATS is enabled, dp_tx_send_msdu_multiple needs to
not be inlined to avoid an [-Werror=maybe-uninitialized] compilation error.
": error: 'msdu_info' may be used uninitialized in this function"
Change-Id: I46edc3e3f5fdc498cb31c4eab38c89f91def10ba
CRs-Fixed: 2000132
Added raw mode descriptor preparation support in tx path when packet is
in Interface configured in raw mode.
Change-Id: I3159bce9ec6f3cd86ccfb157c51d1cb5f6412b89
We want to enable the compiler's -Wmissing-prototypes switch, but
there is existing code in dp_tx.c that is generating warnings. Fix
these warnings by making the following functions static:
dp_tx_desc_release()
dp_tx_prepare_htt_metadata()
dp_tx_prepare_ext_desc()
dp_tx_prepare_desc_single()
dp_tx_prepare_desc()
dp_tx_prepare_raw()
dp_tx_hw_enqueue()
dp_tx_classify_tid()
dp_tx_send_msdu_single()
dp_tx_send_msdu_multiple()
dp_tx_prepare_sg()
dp_tx_reinject_handler()
dp_tx_inspect_handler()
dp_tx_process_htt_completion()
dp_tx_comp_process_desc()
Change-Id: I4d40b836af85ea3c3dbee0c11514e2c1d2e9c8cb
CRs-Fixed: 1108175
Add HAL API to parse Tx completion statistics from WBM descriptor and
populate HAL Structure and a DP API to print the statistics per packet
CRs-Fixed: 1088985
Change-Id: Ic6e918aabdbd7743d8f640e0451070dc229c6f0d
Fix the packet offset value filled in Tx descriptor.
Also fix a crash in Tx completion handler because of storing wrong
pointer in tx descriptor chain (next)
CRs-Fixed: 1088985
Change-Id: Ie2895700e0bb7e6f4b7b09a01da07a17d1c41160
Wifi 3.0 compile against cdp apis.
Make compilable against mobile code base.
selective hw common header include.
Change-Id: I051f917001c0d13c762d9cb5a3ec141cd278d0e7
CRs-fixed: 1075736