For RAW Mode AMSDU when multiple fragments will come
address for first fragment getting updated but other
fragments were not getting updated properly.Fix updated
all the fragment address.
Change-Id: Ie450bcd4e467cca779d0280d76ce7b4ace1dffc2
Add support to display multicast packets stats. Also
avoid sending message to target-if layer for every MSDU
to update node statistics
Change-Id: I7bb73d97bd8a02a601d191040a9a5730a9584d3d
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
In wbm_err_process function we are releaseing the sw rx
descriptors at the end and we are calling replenish after
we processed all the pkts in wbm_release ring. FW team said
that the re-fill ring is empty for high throughput scenarios.
To avoid re-fill ring being empty replenish buffers
first and then process the nbufs later. Also free any invalid
peer MSDUs during pdev detach.
Change-Id: I3e1088a3df3658965ffb31e0e0420a37203ba70e
Enable or disable TCP\UCP checksum offload for TX according
to the flag in wlan cfg module, which is determined by INI
(MCL) or initialization setting(WIN).
CRs-Fixed: 2155236
Change-Id: I0e30fc062a000c2d9c47674fe80da59a2ac0de51
Host CCE Classification changes for RAW Mode workaround
RAW Mode EAPOL frame classification for raw mode
Change-Id: I533c2e8bb55e3cd5088c6bff046e67066c784053
CRs-fixed: 2132295
Adds stats for number of ADDBA, DELBA requests,
pn size and window size per tid.
Change-Id: Ib7e3a9b948439695afd9a952fe46ac42ac58c653
CRs-fixed: 2151863
For one byte data structure of unsigned type, it is expected that
the maximum value is 255. However, NR_CPUS is 512 in x86 setup of
Napier.
CRs-Fixed: 2158203
Change-Id: I057fb0cf3c11e687dfdd6cd2295b16743297d561
In dp_process_htt_stat_msg function, the stats message must be
interpreted one by one. It can't move to the next message unless
the current one is handled completedly. Or else it will cause a
memory copy overflow.
CRs-Fixed: 2156792
Change-Id: I8a3784cd17f2a68b16c4f47c6b1a24e12d23aaa5
During RX TID deletion, if FLUSH_CACHE REO cmd fail to be sent,
the required callback function won't be invoked, hence
local allocated REO desc and related TID queue desc will leak.
Do clean up when REO cmd failed to be sent.
CRs-Fixed: 2155929
Change-Id: I02ff4a2340ad32986c30b935a376924bb75edb67
There is a hard-coded AST type number used for DP path, which will
cause poor readability. Fix this problem by using a pre-defined
constant type value.
CRs-Fixed: 2142975
Change-Id: I3520970bf59ea7152a0851cfdc3b8e7943ddbc19
htt_h2t_rx_ring_cfg is invoked with suitable configuration based on
filter passed by wlan_set_monitor_filter.
Change-Id: I2fbb81e95903ae1bead92892fdb3165c8a515f14
Add WDS tx/rx policy checks in Tx and Rx datapaths.
In Rx path, check packets against rx policy configured
In Tx Reinject path, checks are to process or drop 4-addr/3-addr packets
to peers decisively
Change-Id: I0a6c01b7555fa5d369ab2c9baf454d49808857fc
In tkip mic error handler, addr1 (RA) is used to find vdev.
This is fine for unicast tkip mic error. But for group tkip
mic error, addr1 will be group address thus vdev will not
be correctly returned.
Fix is to use sw_peer_id in rx_mpdu_start tlv to find peer.
And use peer to find corresponding vdev and pdev.
Change-Id: I1e9e461318e25184ef7113132adaa7fe7853924d
CRs-Fixed: 2157532
The existing peer API cdp_peer_find_by_add does not maintain any peer
references. So a peer which is returned by the API may get deleted in a
different context. This may lead to access to a already deleted memory.
Fix the issue by introducing new APIs "peer_get_ref" and
"peer_release_ref" which make sure the peer is valid until it is
"released" (peer_release_ref is called).
Change-Id: Id04d13bc6a1b8a55c1ae9246077f64ffb86de3d8
CRs-Fixed: 2146742
We need to save the first msdu and last msdu flags in nbuf cb
so we can do WDS source port learning only for the first msdu
even in the null_q_handler. Without this fix we observed traffic
stops when WMM is disabled.
Change-Id: Ic7870354519ebebb8a5025b3e6c9741064686199
Add polling timer to reap monitor status rings
until PPDU end interrupts are enabled.
Change-Id: I742b0df6fd5a369d9664b5c2e09a70916585174b
CRs-Fixed: 2117063
Replace internal spin_lock macros with qdf_spin_lock APIs for lock
operating on TSO/EXT descriptor pools.
TX_DESC_LOCK_* APIs are used only by the flow_control V2 support
to by pass them.
Change-Id: I926c279de3878b6f48efd798194fa896072c1f6d
CRs-Fixed: 2142815
Change some HAL API to correspond to the header changes that got
modified for the Napier 11AX HW.
Change-Id: I514b18bc2a92ad11d95c1079ba8ef4b96b7bc6eb
CRs-Fixed: 2124274
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
Pass dev info to the qdf_mem_free_consistent so that the kernel can track
the memory & prevent false double free detection.
Change-Id: I82a00ce9adc3638caee3f1ae325ec041fb2bd1fe
CRs-Fixed: 2144237
According to FW design, number 0 stands for NSS 1, number 1 stands
for NSS 2, etc. So extra one is needed to be added in NSS number
for statistics.
CRs-Fixed: 2146055
Change-Id: I34d4166a187c048a233bee846235f4ec2492ad42
Initialize the peer state to disconnected(OL_TXRX_PEER_STATE_DISC)
after creating the peer. This will also help in roaming case not
to send a vdev up again to the firmware, since the legacy code
checks for this initial state of the peer.
Change-Id: I5b5a664a81c1e295e405c648c1124e9ac844c9cb
CRs-Fixed: 2150449
As the correct usage, a lock must be destroyed after all jobs are
done. Delete an unwanted lock destroy of reo_cmd_lock.
CRs-Fixed: 2151585
Change-Id: Ieb24b747e9d4704b65026db3ecfee23a94fbf835
Add support for periodic stats for data packets to be displayed in
wlan driver logs.
Change-Id: Ifb8fc5cabb8ecd31da83b5d307721c1d41a30f9d
CRs-Fixed: 2118581
Fix compilation failure because of skb->cb reorganize change.
Use new macro QDF_NBUF_CB_RX_FLOW_ID instead of
QDF_NBUF_CB_RX_FLOW_ID_TOEPLITZ
Change-Id: I4f34c4710c4352a1895d0a08ce7f2e0632b1d30a
CRs-Fixed: 2120295
The current tx & rx member of skb->cb structure has lot of common members
duplicated across win & mcl sub structures.
The common members are now moved out
and new members are added as per the requirement.
Also the members are organized to avoid additional padding
and fit within the 48 byte boundary for both 32bit & 64 bit platforms.
Change-Id: I27abc95d51127513cf2e7e9657a4ee84324b2cc9
CRs-Fixed: 2120295
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
AM copy mode
Have a configuration to send first 100 bytes of PPDU, whenever
requested by upper layer.
Add required variable and handle code to enable/disable AM copy mode.
Change-Id: I1ebdcd0d1777e276af8c16334dae1f1a0760d5a8
CRs-Fixed: 2127108
In attach and replenish path, nbuf maps a DMA region for device access.
But the DMA region mapped is not unmapped in detach path.
Fix is to unmap the DMA region when rx_desc_pool is freed.
Change-Id: If3e93113e59c7eec4419cb1d9228ee95c5b74b39
CRs-Fixed: 2149014
There is a scale factor mapping between NAPI budget and internal
budget. Add logic for this dynamic translation.
CRs-Fixed: 2140049
Change-Id: Iac03bd431ab7a416a87e488b14bc8b5c1bb7869f
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
1. Fix a case in dp where lock is taken on tso segment but
released on tso desc.
2. Increment dma alloc size if allocation is successful
Change-Id: I73d54026a1c268597105096925d138008c2d8c1e
CRs-Fixed: 2131278
Enable support for new TLVs (including TIDQ stats) added in
Target Firmware for HTT based peer statistics.
Change-Id: Ia039b835b32953518b29b5ac2f896b1ddad5189c
CRs-Fixed: 2121641