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
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
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
Changes to process PHY TLVs from monitor status ring and extract
information required for radiotap header.
Change-Id: I99d642e7506ea797b26dbfac89fd223d1a4c0a55
CRs-Fixed: 2048006
Fix bug in calculation of number of link descriptor entries per bank,
which was causing memory corruptions.
Change-Id: I68a86b8c644a4ef48a45ad5c98b739dced68d81d
CRs-Fixed: 2057893
Converged datapath currently uses a polling timer to check for pending
traffic. As part of suspend, pause the polling timer to avoid any
invalid accesses.
Change-Id: I6b4654c6737c08475443d021c04ba9385d084d74
CRs-Fixed: 2047505
Add CDP API for interrupt configuration to decouple interrupt
setup from soc attach / detach.
Change-Id: I422205ff5687fdc4a0936c68850455cc4e733e4d
CRs-fixed: 2046055
Modify the legacy LRO implementation to use the implementation
in QDF instead. This is to avoid code duplication and to unify
the LRO implementations for Napier and Helium.
CRs-Fixed: 2042812
Change-Id: I38e9da3b54392a1c5781133916361aac3875d43d
Adding support to parse stream of HTT TLV's recieved as response
to the HTT EXT stats request message
Change-Id: I44c990a1ed91c2381b89811de33c0717bd24be7d
CRs-Fixed: 1114641
Change DP_TRACE and DP_TRACE_STATS to use FATAL level.
Set DP module at QDF_TRACE_LEVEL_FATAL by default.
Change-Id: Ia894c6695699192feed204bb0dffdb9cfd59480c
CRs-Fixed: 2048931
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
Changes include
1. nss_cfg parameter to dp_soc.
2. nss_enabled field for pdev.
3. cdp api to enabled nss offload config.
4. skip rx ring configuration when nss enabled.
5. skip timter /interrupt configuration if
nss is enabled.
6. peer map/unmap event hander.
Change-Id: Ic4a919b6b7e846e18cb15ebcb94f8736a751ecb5
1) Defined modularized public api for cdp module
to track inactivity and over load detection.
2) Initialization calls are added to attach and
detach SON specific api.
3) operating system specific calls are replaced with qdf calls.
Change-Id: I130d1e99208d6454f5d9888774534cc6d619ad83
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 ring_packets variable to collect packet count on rx
path. This stat variable is incremented on
per ring - per core basis.
Change-Id: If8b51a757b28c231a6444e6b7f2e336b8c0cdd8e
CRs-Fixed: 2035142
Add nac(non associated client) configuration to pdev. It will be
used to perform smart mesh filtering on rx packets.
Change-Id: I29989d379e10fcc4a0e4aa19dbb3499650d6bf39
CRs-Fixed: 2017269
Add support to set addr_search flags in WLAN Tx Descriptor
as per vdev operational mode
Change-Id: I25fcd4bf450982f8aecc6e91236211c17d5f3f22
CRs-Fixed: 2004658
Add support to make WDS source port learning in lithium datapath
to be configurable.
Change-Id: I63eb64d6f46560a31f8e40a806d05d1dceddd784
CRs-Fixed: 2004658
Changing the method DP queries WMA regarding
DBS capability. Now his call will be made through
policy manager.
Change-Id: I269537761a7acfa7e20a00c0ee7fc26ec1d17106
CRs-Fixed: 2025317
Add support to extract LRO information provided by
the hardware and utilize the support provided by QDF to
perform LRO.
Change-Id: I00a26573a450e9c32586b3d5fb656dbfe802cfac
CRs-Fixed: 1107169
After configuting the external group interrpts called configuring api
to configure external group interrupts.
Change-Id: I9db8c9dc941421fa05676be732147929be24b0e6
CRs-Fixed: 2018655
packets received on a particular radio are queued to
a user configured reo destination ring.
Change-Id: I080090f22b80fd8d8868df4145b82888e1111cea
CRs-Fixed: 2017081
Add Invalid Peer stats on rx side
Add aggregation stats missing on Tx
API to update Rx Errors
Change-Id: Ib757ee7b89d9b9113e1a41b5a520faabb9ff28bb
CRs-Fixed: 1114641
Fix the logic to align a memory to the given boundary
and dma map the alinged address to the device.
Change-Id: I5cce07d5573949ab40f64cc08c937dfb7aa82b8e
CRs-Fixed: 2026493
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
Fix the logic that verifies that the dbs function pointer
in data path is valid.
Change-Id: I35418f2a66eb2d4b44260b005ab0d927d91eeac7
CRs-Fixed: 2025317
Reduce DP poll interval to 10ms and change per-packet prints in Rx path to debug level.
Also fixed HAL macros used to setup Rx buffer descriptors.
Change-Id: I112393a3f021b275dbe9da9df9c1bac584a96f3f
CRs-Fixed: 2026389
We are zeroing out complete peer structure after
initialing ast_entry queue. so re-adjusted code.
Also wds source port learning is called before we
pull the TLVs from the nbuf resulting in accessing
wrong src mac address.
Change-Id: Ifd5a2056a3f9f03a1ff1cf5b79046f932dd38510
We need to send the LRO and rx hash configuration to the
firmware during vdev attach. Currently they are being incorrectly
sent before WMI service ready indication.
Change-Id: I69680b48e6725c6deaad434d722546052cfe86b4
CRs-Fixed: 2022770
This change is for supporting monitor mode VAP. All the monitor mode ring
is configured. The related monitor mode ring includes:
-monitor mode buffer ring
-monitor mode destination ring
-monitor mode status ring
-monitor mode link descriptor ring
The packet is not sent to monitor mode ring unless the monitor mode VAP is
configured. This release support Multiple VAP - AP/STA VAP plus Monitor
VAP configuration. The status ring is not used in this release. However,
the ring is tested and the ring is moving and there are TLV's in the ring.
Change-Id: I782ee0c3b998d8b3bbac79b5e7fdecdbff15fa93
CRs-Fixed: 2013049
Ampdu count is populated in pdev
but zeroed before printing. Fix it to
be populated in peer and aggregated
in pdev before printing
Change-Id: I51d8f1968a87c0b9dbf53928acd1bbef45acc7ec
CRs-Fixed: 2025785
pkts should be forwarded from one STA to another
STA belonging to same VAP from within the driver
Change-Id: I68eb0dd91f7ac54352b4882ffdb9d5d53d627db1
Conflicts:
dp/wifi3.0/dp_rx.c
dp/wifi3.0/dp_types.h
Conflicts:
dp/wifi3.0/dp_rx.c
Change-Id: I68eb0dd91f7ac54352b4882ffdb9d5d53d627db1
Refactor flush rx queue function call based on soc by adding an
interface to CDP funtion indirection table.
Change-Id: Iea201553f555a6c317cf37e586433aa493e51623
CRs-fixed: 2023399
Use normal allocation instead of alloc_consistent for REO descriptors to
allow freeing from interrupt context.
Also fixed an issue in ba_window_size setting in REO queues.
Change-Id: I91b06e04c0343eb7fe8580d8655c6bc5e33cfe06