On some cases, dp_rx_thread can not handle nbufs in time,
then a large number of packets are pending in
rx_thread->nbuf_queue, which run out of system memory at
last and failed to malloc new buffers for refill buffer
ring, fw crash is encountered. To avoid this, drop RX
packets when the pending number becomes large.
Change-Id: I370ad983b185b6ecb28fa7c0b4820b8edc00c710
CRs-Fixed: 2737191
Currently when running downlink traffic with
fragmentation enabled, the SW2REO is getting
full. Increase the SW2REO ring size to 128 entries.
Change-Id: If43bc72a8cc173d44953ca367573800243b1cc5d
CRs-Fixed: 2738309
Currently WLAN_CFG_MAC_PER_TARGET value is two which may cause
dp stats request sent to firmware with unsupported pdev mask.
Update WLAN_CFG_MAC_PER_TARGET value to one for QCA6750 target.
CRS-Fixed: 2738910
Change-Id: I14fdf483bf7d18bb2f8302251ac096885547b43b
Add INI support for peer extended stats. The extended
stats as of now include per peer Tx/Rx delay per packet
path.
Change-Id: I20d3c7f81f65f4db5f111eb103945151a8cd83aa
Adding support for enabling ini config to remap reo destination rings
for HK v1, HK v2, maple and pine platforms.
Change-Id: Id9d304521f32497e3acd845ddd2973b96b641516
Currently there is a single INI item tcp_udp_checksumoffload to enable
or disable this feature for all the adapters. In some cases, we want to
be able to enable this feature selectively for NAN mode.
Add nan_tcp_udp_checksumoffload ini item to enable or disable checksum
offload feature specifically for NAN mode. If
nan_tcp_udp_checksumoffload is 'true' and tcp_udp_checksumoffload is
false, hardware checksum offload will be enabled only for the NAN
adapter and not for other adapters.
CRs-Fixed: 2693638
Change-Id: I6e255ce68ddc7b01ebdefe4e5e8d2c985388fefe
For DBS SAP case, need to balance the CPU cost and
TPUT KPI, use tx_descriptor size to control this can
in avoid the influence of IPA part.
CRs-Fixed: 2665268
Change-Id: I702a605b7a3156e429476f6a4d623b69bb19f615
Decouple IPA TCLring and IPA WBM completion ring size from regular
Tx TCLring and WBM completion ring size configuration.
This is required as there is limitation on IPA GSI rin size
configuration.
Change-Id: I689d0e8ca72f069c5b68dc1789358e091c554d30
CRs-Fixed: 2665010
Increase Tx HW and SW to 2K and 4K for qca6490.
This parameter change is based on the tuning exercise of 1Tx:8Rx device
tests in NaN scenario. This is helping Tx device to burst to multiple
Rx peers, there by improving the TPUT.
Change-Id: I28e1eafb78612c68fe172a640b1386ac88e051a2
CRs-Fixed: 2657056
The WBM release ring size of 64 is a bit too
small for bursty nature of inwards traffic.
In monitor mode, there can be a huge ingress
of packets and returning the link descriptors
back to the WBM can fail due to its small size.
Increase the WBM release ring size to match the
RXDMA buffer ring.
Change-Id: I41c755f29566cd8cb99520736d34304344a82776
CRs-Fixed: 2650480
Decouple software tx_descs from TCLring descriptors and Increase
TCLring descriptors max INI config limit to 2k to 32k.
Change-Id: I18d014cdb0c1e26b7661ff65aaa8dffe791d7163
CRs-Fixed: 2657056
Add following changes:
a. Add CDP API to config full monitor mode
b. HTT configuration changes
c. Init/Deinit changes for full monitor mode resources
CRs-Fixed: 2632442
Change-Id: I06db5194031b3ea0f0c1e5deda20df4bc0faa0b9
The default value provided for the INI item
dp_int_timer_threshold_tx for WIN is 1000 which is
beyond the specified INI range 8 and 100.
Changing the max value to 1000 to accommodate
the default value used by the INI and avoid
warning while parsing INI values.
CRs-Fixed: 2633718
Change-Id: I0aae0338798dab27d4ecb5d67e3b3fcfee983d92
Command ring is now renamed to credit ring on QCN9000
and used for credit based flow.
Renaming the ring to give meaningful name.
Change-Id: I726aed19477fcfb256e4e0cca8ddb9389035b58c
CRs-Fixed: 2562640
Add INI dp_rx_fisa_enable to enable/disable FISA feature.
Disable the feature by default.
Change-Id: I0cc524956e32ab9f2b5c556d8ae2e1855e8d3513
CRs-Fixed: 2599917
As part of componentization of packet capture feature
removed INI of packet capture.
Change-Id: If9f599cbaf5bc3e339dc1f21ee6be36f5eb093f2
CRs-Fixed: 2614621
Add the changes in utils and wlan configuration
layer for supporting the newly added IPCI bus type
for Moselle.
CRs-Fixed: 2597342
Change-Id: I4484d6e774e9f94a322b8dee4ae7ff4460ed2634
Add INI parameters for packet capture mode
pktcap_mode_enable - control to enable or disable support for
packet capture mode.
pktcapture_mode - control to set value for packet capture mode
Change-Id: Id0ffe4cf19db6ec5823a37083d9d8ee1cfe53e77
CRs-Fixed: 2528427
Reo timer threshold is set to 512us as a default so
increase the maximum value of timer threshold to 512us
to avoid out of bound value.
Change-Id: I291e80e5930b2d3537cbbc9716b323aeb6be89c3
CRs-Fixed: 2571639
Adds new INI variable for threshold control.
Host sends message to target with new threshold info.
If buffer reaches threshold then MAC drops incoming monitor frames.
Change-Id: Id659d7df68a5ec0b22fb571dc1ffa4990f8fcc4f
Increase the REO Threshold interrupt timer from 256 to 512us. This
provides additional savings in number of interrupts in low throughput
scnearios.
CRs-Fixed: 2500152
Change-Id: I0b21a0425018d5db068016222378d16f394dc347
Add tx device limit configurable from INI.
This is used to limit the overall tx descriptors used in the device
Change-Id: I51e9611ca14bdc146de914317b38b98329130c9f
Add dp_tx_desc_limit for 5G high, 2G and 5G low to limit the
number of software tx_desc to be allocated.
Change-Id: If97e858b73aafaed0e21fc8f6e0337e467ce0ecc
There are macro defined differenly for WIN and MCL
to pick up default INI value either for WIN or MCL.
The macro name uses WIN and MCL and also enabling the
right macro is controlled by CONFIG_MCL.
Replace the macro with CONFIG_AP_PLATFORM.
Change-Id: Ib5663532d45534cce1715ef06447116e2654e709
CRs-Fixed: 2484959
1. Add config table to accommodate per ring type
configuration to have a finer control over the
ring.
2. Provide struct wlan_srng_cfg interface to add
more parameters to control the ring.
3. Add interrupt threshold configuration parameters
to wlan_srng_cfg structure.
4. Add WLAN_CFG_INT_TIMER_THRESHOLD_WBM_RELEASE_RING
and WLAN_CFG_INT_TIMER_THRESHOLD_REO_RING to have
different timer values for REO and WBM ring.
Change-Id: Ied50e3241ab2cc181ca4ed7f126959cd5d9d2de5
CRs-Fixed: 2455297
Use same stop_th and start_th as QCA_LL_TX_FLOW_CONTROL_V2 for
QCA_LL_PDEV_TX_FLOW_CONTROL which allows pausing/unpausing
netif queues to avoid frame drop in driver.
Change-Id: Ifa649e31a41d1bf89eadc8cc7e9520f0e27b9fe4
CRs-Fixed: 2466999
write module specific macros inside module/config and
use these inc files inside the kbuild of the module using those
macros.
Change-Id: Ide18770973f35d0e5c45e2474b24256107f40d8c
System running out of 2M chunks inspite of large
free memory available. This is WAR till original
issue is root caused.
Change-Id: I379f8a56c31d76b74164a85978659d87ad74f87b
CRs-fixed: 2436495
Add a sanity check to avoid sending a htt
txrx_stats request with an invalid mac_id
parameter to firmware.
Change-Id: Iae980bbffdcf6759b6d467849c5ebc65628f17ba
Crs-Fixed: 2438693
The max limit of Tx comp ring is changed to 48K from
8k such that it can be dynamically changed based on
the INI.
Change-Id: I69ca62c33d538a669a3417dba749a818ca0bce07
For low mem config, use user configured max tx descriptors to limit the
allocation of software tx descriptors.
Use dp_txrx_pflow_update_pdev_params function to print stats and to update
pdev param.
Change-Id: I8fa6f0bb8841de68e8dc205ffcb0fde264f1b0e0
CRs-Fixed: 2414452
In datapath, some of the messages get printed everytime when packet
is received or sent. This situation ends up in excessive logging which
leads to stability issue.
In order to fix the situation, provide knob through INI to control
excessive logging and create new macro for logging the message which
comes under per packet path.
Change-Id: I2af5f9bf39540f952138aa8308401a387fe62bf1
CRs-Fixed: 2376998
Interrupt batch count configuration "dp_int_batch_threshold_other"
was initialized to wrong values, which was causing missed interrupts
from REO status ring.
Also remove the extra RXDMA2SW ring handling, which is currently
done in both UMAC and LMAC interrupt processing loops.
Change-Id: I9a9e951780356db6b491d1301d2c08ef1ac585d5
To avoid race conditions where BA window size can change, always
flush entire REO descriptor from HW cache irrespective of current
BA window size.
Change-Id: I608996722e7dc2dc6acfd145b8c190b58ce09822
CRs-Fixed: 2251811
- Support to pass IPA enabled(disabled) flag from ini to DP layer
- Use ioremap call to translate tx_comp_doorbell_paddr obtained from
calling ipa_setup api to tx_comp_doorbell_vaddr. This is needed to
write the initial value of HP at the doorbell address.
- Change REO_DST_RING_SIZE and WLAN_CFG_TX_RING_SIZE to 1023
for napier/hastings if IPA is enabled. This is needed because,
ipa_setup API can handle only 16-bit values for the size param(bytes)
of the ring.
- Disable hash based flow steering for SAP peers in case IPA is enabled
and set default reo_dest_ring_4 as default RX ring. Since IPA will be
reaping RX packets from reo_dest_ring_4 only, flow steering is not
needed for SAP peers.
- Unmap pre-allocated TX buffers for IPA in the TX completion ring.
- Donot execute IPA functionality if IPA is disabled from ini.
Change-Id: I6855bfe293a457ccc0abd1ad5567f5c95232a9d2
CRs-Fixed: 2183519
In noisy environments with monitor mode enabled, RXDMA2SW
ring is getting filled with bursts of dummy indications,
which were added as part of a WAR to handle RXDMA issue
with error indications received in monitor path. These
indications won't consume any real buffers, but are causing
ring full assertion failure due to smaller ring size.
This change increases max ring size, and the actual ring
size comes from ini file.
Change-Id: Icb7f08ab0757cb5b6ac7c1aee8e04f200ed4a1bd
Add the basic infra for legacy DP CFG items and the APIs to be used from
other components.
Change-Id: Iec1718f0a93fcb91061892b96ae6ae88174df9ee
CRs-Fixed: 2328481
Introduce INI parameters to fetch feature related values based on target
type and add CDP interface to get dp INI parameters to control path
Change-Id: Id6a3f409106eb7dc01b08a3f1ec00dbe7efc359f