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
In mesh mode, it is possible to receive unencrypted frames while security
is enabled. Deliver such frames to OS stack.
Change-Id: Id148b6ecc1432b419ae97c92f2340155f3d851bf
CRs-Fixed: 2004658
Add support for monitoring receive traffic from WDS nodes and
aging out inactive WDS nodes
Change-Id: Iedea826832a5421714c00bccadc6e0dc4acd4c7e
CRs-Fixed: 2004658
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
When monitor RXDMA is enabled, regular RXDMA will drop a good packet
whenever an error is indicated in monitor path due to a HW bug. To
avoid this, a dummy buffer will be used to receive packets passing
"monitor other" filter on regular DMA, which will be received on
RXDMA2HOST ring. These packets should be ignored based on a special
cookie value.
Change-Id: I348527f662cd664652d8d99c01484bb310c6e705
Rx MSDU count received in mpdu descriptor may be incorrect
sometimes due to HW issue. We should check msdu buffer address
in each Rx msdu buffer entry in RX msdu link descriptor.
Change-Id: I86af4797cfb79fad33977cf53d62a8d368dc3543
Add a misc list which stores HTT msgs & later frees them during rmmod.
This is required to prevent memory leaks during rmmod.
Change-Id: Iecc04ec38cfa1b459064da74dffa5bfeffdba956
CRs-Fixed: 2068058
Currently pktlog is available only for WIN. The pktlog APIs
return negative error code for MCL implementation since they
are not available, causing the regression.
CRs-Fixed: 2074614
Change-Id: I830181233fb6fe0d6299c42f2ccd27b6d894857f
hif_exec_context extends hif_ext_groups to support napi and tasklet models.
Some of the rename and enahancements have been done to support merging of
the execution context management code between the CE and DP contexts, as
well as supporting irq affinity for both napi & tasklet contexts.
Change-Id: I82c8abf2e906f027ec80faf7353a7685536bb79b
CRs-Fixed: 2051902
Add CDP API to get security type for ucast and mcast from
peer handler. Add additional peer handler argument for raw mode
rx decap functions. The peer handler is needed in the raw mode
functions for getting the security type of the frame and process
it accordingly.
Change-Id: I8b4728e9eb0ff29849805bb461c81e4fc3accc81
Split stats prints since they are truncated to 512 bytes due recent changes in
QDF_TRACE. Also flush REO queue descriptor cache after fetching stats to help
dumping from memory (for debugging).
Change-Id: Ie1d00766bd452d32cbc7085e95b66fb11bb9893c
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
Setup & process the RXDMA_DST ring to handle error frames
from RXDMA block. Pro-active fix to handle the WAR for
the WBM stuck issue seen when sending RX_FLUSH command.
Change-Id: Ibf56062da2cd9b5d447f1d43bbae5944426d88c8
CRs-Fixed: 2059870
Current monitor mode implementation does not catch
initialization failures causing it to believe successful
monitor mode initialization.
Change-Id: I5c30ac22e3084871b86cf5e2f0627988ebbb7b5d
CRs-Fixed: 2071602
Enable RXDMA status, desc, buffer and destination rings to
support monitor mode. The change also provides fix to properly
map pdev_id to mac_id.
CRs-Fixed: 2071602
Change-Id: Ie9caaaa0021d5842eaf28a5532b3ab5512fe507f
Currently all mgmt, ctrl and data frames are not enabled
while requesting for the pkt_tlv configuration for the
monitor mode. Adding changes to enable these while sending
HTT ring configuration message.
Change-Id: Ifa23edb55562512e18bb2ee4c426fa0b5e45a577
CRs-Fixed: 2071602
implicit conversion from enumeration type 'A_STATUS' to different enumeration type 'QDF_STATUS'
implicit conversion from enumeration type 'QDF_STATUS' to different enumeration type 'A_STATUS'
CRs-Fixed: 2063344
Change-Id: Id3613d0b7fca58c3d94c5af59838b0bff3ef26de
Add a in_use flag to identify if a rx desc is associated
with a valid nbuf and use this flag while freeing the nbuf.
Change-Id: Iace002ecadfd95ce60b7d1eaebc42194a433963b
CRs-fixed: 2044907
Set BM_ACTION, RELEASE_SOURCE and BUFFER_OR_DESC_TYPE fields in WBM release
ring descriptor in hal_rx_msdu_link_desc_set function.
Added HAL API to retrieve RXDMA push reason and error code from REO entrance
descriptor.
Change-Id: I64209d9ebb332136fae43a55b39e0f0d242315fb
CRs-Fixed: 2062922
Current data-path interrupt registration/handling assumes PDEV indices to be
in same order as HW MAC IDs, which is not always true. Fixed this by adding
wlan_cfg api to set and get pdev index to mac id mapping.
Change-Id: Iec8e9f4a02cd618a3b244cfd6fc7ead1e7d993c3
CRs-Fixed: 2063673
The pdev id in host is not the same as firmware MAC id
Add host pdevid to firmware MAC id mapping code
in set pdev id for htt sring setup and
set pdev id for htt rx ring selection cfg
The mon_ppdu_status is not synchronized
Fix the issue on pdev mon_ppdu_status by reset
mon_ppdu_status to DP_PPDU_STATUS_START after
monitor destination ring is processed
Add code for mpdu fcs error for later use
Change-Id: Ia6245cc9441e3339bcd01ed18fdce2f33f3f7699
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
Currently interrupt mitigation values are configured for per-packet interrupts.
Change this for core DP rings (REO Destination and WBM Tx Completions) to reduce
CPU overhead of interrupt processing
Change-Id: I7bf0f6e78c52b5678ad3c8cc4d829444e410fad3
CRs-Fixed: 2064113
Avoid accessing and releasing tx descriptor when it is
not allocated in tx path.
Change-Id: I36515b679c541d081fd836ea3fb732768031cc06
CRs-Fixed: 2062160
The irq entry for rx_err, rx_wdm_release, and reo_status
gets assigned for more than one context and this causes
double free irq during driver unload time. Fix the same
Change-Id: I197ee285e6eba5909dec3fa37677c13efce4765a
CRs-fixed: 2063981
Currently max_peer value is hardcoded with DP wlan_cfg. This change adds
a generic interface to obtain a configuration parameter from OL_IF and
store in DP
Change-Id: Id437ab3bcd02fb1cbcbe8b56d55d19780af87066
CRs-Fixed: 2004658
Enable qdf_assert on rx error path to detect corruption issues.
Also add a magic word in rx_desc and compare on rx indications
to detect any corruption issues early in the path
Change-Id: I4df1220f19c891928f9687f40de6f2118b530db2
CRs-Fixed: 2004658
Because of mult-radio changes where we have soc and scn
structures modified we need to address the same for WDS
Change-Id: I63f95d93ac15cdbcdd2b05cb80ce364115e9c16e
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
Changes to process PHY TLVs from monitor status ring and extract
information required for radiotap header.
Change-Id: I99d642e7506ea797b26dbfac89fd223d1a4c0a55
CRs-Fixed: 2048006
Remove the statement nbuf pointing to NULL
during allocation of descriptors as nbuf in rx_desc and next
pointer in dp_rx_desc_list_elem_t share the same address
space and pointing to NULL will not allocate the
rx descriptors.
Change-Id: If4c35202c2489aed1711173b37192f565f7c3d7b
CRs-Fixed: 2061564
Fix bug in calculation of number of link descriptor entries per bank,
which was causing memory corruptions.
Change-Id: I68a86b8c644a4ef48a45ad5c98b739dced68d81d
CRs-Fixed: 2057893