Commit Graph

1283 Commits

Author SHA1 Message Date
Tallapragada Kalyan
2a5fc625d2 qcacmn: Add WDS Vendor Extension ECM Framework
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
2017-12-13 12:15:54 -08:00
Mohit Khanna
adfe908a35 qcacmn: Add peer APIs to get and release peer ref
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
2017-12-12 17:57:32 -08:00
Venkata Sharath Chandra Manchala
5a6f4296cd qcacmn: Add timer to reap monitor rings
Add polling timer to reap monitor status rings
until PPDU end interrupts are enabled.

Change-Id: I742b0df6fd5a369d9664b5c2e09a70916585174b
CRs-Fixed: 2117063
2017-12-09 23:27:22 -08:00
Chaithanya Garrepalli
30927c532c qcacmn: changes for httstats application
Added a cdp call back to indicates HTT stats response
to ol layer

Change-Id: I90024469a7877419508c230358fdebe4c1525ee7
CRs-Fixed: 2133000
2017-12-08 00:21:23 -08:00
Ruchi, Agrawal
34721398d5 qcacmn: Host CCE Classification Changes
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
2017-12-06 06:57:02 -08:00
ruchi agrawal
45f3ac45c9 qcacmn: WEP bit set for RAW Mode Workaround
Set WEP bit for protection disabled VAP, to avoid
Hardware crash

Change-Id: I4121d04de9465e07aae2ba24930b1045fb8addf8
CRs-Fixed: 2132317
2017-12-05 01:25:31 -08:00
Varun Reddy Yeturu
b9ec57ef65 qcacmn: Initialize the peer state after creating the peer
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
2017-12-04 21:32:42 -08:00
chenguo
1333ba09c5 qcacmn: Delete unwanted lock destroy of reo_cmd_lock
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
2017-12-04 21:32:37 -08:00
Mohit Khanna
90d7ebd385 qcacmn: add periodic data traffic stats
Add support for periodic stats for data packets to be displayed in
wlan driver logs.

Change-Id: Ifb8fc5cabb8ecd31da83b5d307721c1d41a30f9d
CRs-Fixed: 2118581
2017-12-04 19:47:14 -08:00
Soumya Bhat
6fee59c4d5 qcacmn: RX AM Copy mode
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
2017-12-01 22:28:23 -08:00
Soumya Bhat
89647efbf6 qcacmn: Enable/Disable AM copy mode
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
2017-12-01 22:28:19 -08:00
Manjunathappa Prakash
e23acaf21e qcacmn: Setup RXDMA to software Ring for WMAC1
Setup RxDMA to software ring of both MACs, required for
DBS MCC case.

Change-Id: I1a094c1fafe39a2a41e8867c82c1236c4b9b6593
CRs-Fixed: 2135851
2017-11-30 23:40:37 -08:00
chenguo
f254886c3d qcacmn: Mapping between NAPI budget and internal budget
There is a scale factor mapping between NAPI budget and internal
budget. Add logic for this dynamic translation.

CRs-Fixed: 2140049
Change-Id: Iac03bd431ab7a416a87e488b14bc8b5c1bb7869f
2017-11-27 22:40:17 -08:00
Ruchi, Agrawal
bd894b3bb9 qcacmn: NAWDS multicast issue CR2130039
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
2017-11-27 03:34:02 -08:00
Pamidipati, Vijay
c2cf669514 qcacmn: Enable support for new HTT Peer stats TLVs
Enable support for new TLVs (including TIDQ stats) added in
Target Firmware for HTT based peer statistics.

Change-Id: Ia039b835b32953518b29b5ac2f896b1ddad5189c
CRs-Fixed: 2121641
2017-11-22 13:20:16 -08:00
Om Prakash Tripathi
03efb6a7b6 qcacmn: Enhance txrx_stats interface to accept multiple args
1. Enhance CDP and DP txrx_stats interface to accept multiple
   args. these agruments are passed to htt without any
   interpretation.
2. Add reset stats support

Change-Id: I65db494824d03097e20dffc828bea380b16d411f
CRs-Fixed: 2136793
2017-11-17 09:19:21 -08:00
Linux Build Service Account
519d203401 Merge "qcacmn: Change format specifier %p to %pK" 2017-11-15 11:57:36 -08:00
Pamidipati, Vijay
365a8bd240 qcacmn: Fix parameter passed in dp-target_if API
Fix a bug in DP soc init to pass correct parameter in get_dp_cfg_param
API

Change-Id: Icbb8bd593d9bc3ad198ee63d66ce6c381c9954bb
CRs-Fixed: 2142458
2017-11-15 09:42:37 -08:00
Pamidipati, Vijay
57a435a7e0 qcacmn: Move peer stats to PPDU indications
Move peer stats updation to PPDU indications from per-MSDU indications
to optimize CPU cycles. Add dp_rx_stats_update for receiver side PPDU stats

Change-Id: I4bdda8ac447e64cd1017e5be3949ec3f915a9d71
CRs-Fixed: 2123969
2017-11-15 12:39:08 +05:30
Karunakar Dasineni
87f0c5d850 qcacmn: Replenish Rx buffers on low threshold intr
Replenish buffers in RXDMA refill ring based on low threshold
interrupts in addition to regular Rx processing. Also increased
RXDMA refill ring size to 4096.

Change-Id: If1f4592c815fe2404c4952a96b721cb6d4fdfcd0
2017-11-08 07:41:26 -08:00
Naveen Rawat
761329bbf2 qcacmn: Do not start unmap timer if send cmd to FW fails
Do not start unmap timer if peer delete couldn't be sent to
firmware.

Change-Id: Ie746bde046b76d8e136ebb4fd0b60088bf516d42
CRs-Fixed: 2116223
2017-11-06 21:52:16 -08:00
Yun Park
601d0d868a qcacmn: Fix IPA WDI3 Tx issues
Fix bug to enable IPA WDI3 Tx H/W path.

Change-Id: Ice691dccc649b38971985cd8da042719d943cec7
CRs-Fixed: 2085751
2017-10-23 22:08:28 -07:00
Venkata Sharath Chandra Manchala
3e8add86bb qcacmn: Propagate config parameters to datapath
Provide an API to accept the config parameters
from the upper layer and store them in wlan_cfg_ctx.
Enable/Disable the datapath features based on these
parameters.

Change-Id: Icbdc835a51a6fea87c06174e9fc63d5d007aec1d
CRs-Fixed: 2097229
2017-10-23 16:30:16 -07:00
Soumya Bhat
cfbb8952ff qcacmn: Tx packet capture
Add support to send MSDU, mgmt. and ctrl payload along with metadata
to upper layer callback

FR 42132

Change-Id: Ie751322c7c15419ea908538e9e8687b64693fcfa
CRs-Fixed:2068486
2017-10-23 15:46:03 -07:00
Pratik Gandhi
51b6b6d21b qcacmn: Control frame stats Rx BAR frames
Add Pdev level stats for Rx BAR frames.

Change-Id: I1cce56559fd1ffec11f873e35cb1c42b49c1c9ff
CRs-Fixed: 2110552
2017-10-23 01:55:58 -07:00
Houston Hoffman
41b912cfff qcacmn: DP logging adjustments (1)
Adjust logging to reduce printing to the console by datapath.

Change-Id: I9354cf939a6edcf6cd6fc66dbeb4638b517f30da
CRs-Fixed: 2117150
2017-10-20 12:17:26 -07:00
Aniruddha Paul
e3a0334ad0 qcacmn: Fix for interrput masking of NSS Tx/Rx rings
Added logic to reset the host interrupt mask bits for
NSS offloaded rings (WBM Tx completion ring and REO Destination ring)

Change-Id: I96ae29051b6294647cf0610d3cda6c2a995f77a8
CRs-fixed: 2121607
2017-10-17 06:44:19 -07:00
Tallapragada Kalyan
61cb97c58e qcacmn: choose proper REO destination ring for invalid hash
for cases where hash is invalid (non TCP/UDP) let us remap
the traffic to a configured REO DESTINATION ring instead of
using default ring 0.

Change-Id: I3d08f684f1914b60a2457bdcc5c184fc8a0068e7
2017-10-16 12:20:37 -07:00
Karunakar Dasineni
ea027c5bf2 qcacmn: Adding back lost LMAC interrupt changes
Redo some of the LMAC interrupt mapping changes made in
Iec8e9f4a02cd618a3b244cfd6fc7ead1e7d993c3, which were lost
due to a recent change made to support MSI.

Change-Id: Ic566e7285feaeb9058defe01c5e704be3135ed2d
CRs-Fixed: 2113818
2017-10-12 14:22:27 -07:00
Dustin Brown
f653d16e6c qcacmn: Remove qdf_handle_t from unused qdf_defer APIs
There are many QDF APIs require a qdf_handle_t parameter. None of these
APIs actually use the qdf_handle_t parameter, meaning it can be
completely removed. As a step toward globally removing this unused
type, remove qdf_handle_t parameters from unsed qdf_defer APIs.

Change-Id: I0568aa7cbd430abc0d046143482a067d96bf6313
CRs-Fixed: 2112646
2017-10-12 14:22:02 -07:00
Kabilan Kannan
60e3b3062d qcacmn: Add host data path functions for TDLS
Add and enable host data path functions for Napier
TDLS.

Change-Id: I228c2dcf4e8d797d173007a3306d112aca5ba52f
CRs-Fixed: 2114813
2017-10-05 19:59:55 -07:00
Yun Park
92af713fa2 qcacmn: Fix Intra-BSS forwarding issue
Extract ast_table manipulation functions from WDS feature flag

Change-Id: I029e151f608a6bb60344d817d7b7c75b86ca981b
CRs-Fixed: 2110304
2017-10-05 16:11:31 -07:00
D Harilakshmi
5da9ee74b2 Revert "qcacmn: Propagate config parameters to datapath"
This reverts commit 5a02b1f053.

Change-Id: I52dcfb50998577df8b2b4807adcd322f91d21e45
Signed-off-by: Kalyan Muddala <kmudda@codeaurora.org>
2017-10-04 16:14:12 +05:30
D Harilakshmi
388c21cbb6 Revert "qcacmn: Cleanup Statistics"
This reverts commit 60cb7e6fc9.

Change-Id: I0f8cddbb1833a7f5a2466964a2b06906f01dcdc4
Signed-off-by: Kalyan Muddala <c_kmudda@qti.qualcomm.com>
2017-10-04 15:43:45 +05:30
Venkata Sharath Chandra Manchala
60cb7e6fc9 qcacmn: Cleanup Statistics
Remove Tx flow control parameters from being
printed in multiple dumpStats statistics.

Change-Id: I2704c2b0a53bb08c16bdd8d61fb4dac21cfcfc31
CRs-Fixed: 2097229
2017-10-03 22:58:30 -07:00
Venkata Sharath Chandra Manchala
5a02b1f053 qcacmn: Propagate config parameters to datapath
Provide an API to accept the config parameters
from the upper layer and store them in wlan_cfg_ctx.
Enable/Disable the datapath features based on these
parameters.

Change-Id: I9336cac686bfb875cea242685a122ec98acdf8c2
CRs-Fixed: 2097229
2017-10-02 11:32:45 -07:00
sumedh baikady
72b1c7195f qcacmn: Add support for data path ring stats
Add feature to obtain position of head and tail pointer of all rings.
Change code to include 'iwpriv athx txrx_stats 263' that gives the entries
pointed to by head and tail pointer.

Change-Id: Ib125db8982362c50a415058fd29f07f326991a50
CRs-fixed: 2098806
2017-09-28 21:59:24 -07:00
Jeff Johnson
3f217e2a81 qcacmn: dp: Replace instances of unadorned %p
Replace instances of unadorned %p in dp.

Change-Id: I8d9c0f6efe5f03a582a36d7ff39a905a5de576a7
CRs-Fixed: 2111274
2017-09-28 04:48:10 -07:00
sumedh baikady
84613b085a qcacmn: Add support to disable monitor mode
Reset htt_tlv_filter when monitor mode is disabled.
CRs-fixed: 2112856

Change-Id: I3f412cd40e6d097b82e659faf275d2d6e28c79ad
2017-09-27 19:23:55 -07:00
Kai Chen
ad516ae457 qcacmn: Fix monitor hang issue on receive amsdu pkt
Remove the NAPI quota check on processing monitor destination
ring. The quota is applied to monitor status ring process.

change Dummy TLV in status ring handling. The Dummy TLV
is not an indication of PPDU done.

Remove the mpdu err check in MPDU pop function.

Increase Monitor buffer ring, monitor destination ring
and monitor descriptor ring size.

Push destination ring buffer to stack when ppdu id from
status ring is bigger than ppdu id from destination ring.

Change-Id: If592a89ad132d405ab215024c8198a020153a9ff
2017-09-27 16:23:23 -07:00
Yue Ma
245b47bfb5 qcacmn: Add runtime PM support for new data path
Handle runtime PM feature in new data path for QCA6290.

Change-Id: I0a211436d80d68bc94d11ccd3c34860b648e40e7
CRs-fixed: 2023358
2017-09-26 11:25:52 -07:00
Venkateswara Swamy Bandaru
b3d6b4e446 qcacmn: remove module parameter from dp code
Remove napi_budget module parameter from dp code.

Change-Id: Ib48d08044977da9091f1a1264d219420d7f53962
CRs-Fixed: 2096650
2017-09-21 16:41:57 -07:00
sumedh baikady
308ff00498 qcacmn: Fix per msdu info for Monitor mode
Add support to include per msdu header info for each msdu in monitor mode.
Set HTT_RX_RING_SELECTION_CFG_TLV_FILTER_IN_FLAG_RX_RESERVED in htt msg
from host. Enable per msdu bit and set it in the dp_htt to be used for
filtering.

Change-Id: I36217e893c40570c86b758f586c581d88633b557
CRs-fixed: 2101013
2017-09-21 16:41:54 -07:00
psimha
fb49db3c83 qcacmn: Check to prevent crash when reading stats
Add a check for update_dp_stats before calling it.
This is registered only for WIN & causes a crash on MCL.

Change-Id: I584b7dba73bcc2426deb97641c30b4d704ce0d8b
CRs-Fixed: 2111735
2017-09-19 15:53:02 -07:00
Tallapragada Kalyan
4c183b84c6 qcacmn: Configure REO dest ring ctrl register to address rng mapping non UDP TCP flows
earlier we configured only REO_R0_DESTINATION_RING_CTRL_IX_2
and REO_R0_DESTINATION_RING_CTRL_IX_3, but we now configure
REO_R0_DESTINATION_RING_CTRL_IX_0 and
REO_R0_DESTINATION_RING_CTRL_IX_1. Also added module param for
rx hash steering.

Change-Id: I690aa395bc19e49df3687be2e70eaaad4994003e
2017-09-14 16:48:07 -07:00
Houston Hoffman
ae850c6d62 qcacmn: Cleanup some excessive logging
Cleanup some excessive logging used durring bringup.

Change-Id: I09df15b7aad8176ad35f70d4d51b4a0a254699e0
CRs-Fixed: 2101103
2017-09-13 15:25:42 -07:00
Soumya Bhat
539ecfa47d qcacmn: HTT PPDU Status TLV processing
Add support to process HTT PPDU per-user TLVs that are sent to host from
FW on PPDU Tx completions.

Change-Id: Ia05d5d0e045bfeb4143886ef3a1b075d927645fa
CRs-Fixed: 2098696
2017-09-13 01:48:20 -07:00
Anish Nataraj
38a2956c7a qcacmn: Add PPDU Statistics Support for Rx datapath
Add support for processing rssi, mcs etc fields from
PPDU status ring and delivering to CDP interface

Change-Id: I312bef20605594645bae6ec748f0b59e4d427075
CRs-Fixed: 2098696
2017-09-13 01:48:19 -07:00
Pamidipati, Vijay
038d090817 qcacmn: Add PPDU statistics support for Tx datapath
Add support to process HTT PPDU statistics for transmit
datapath and deliver PPDU indication to CDP interface.

Change-Id: I22e757497e13ce86fb7b42112fd56555c58e97bc
CRs-Fixed: 2098696
2017-09-13 01:48:18 -07:00
Manoj Ekbote
525bcabbb7 qcacmn: Clean up desc pool during soc detach
During soc detach, free the memory allocated for
link desc pool. This will return the 2 MB regions to
buddy allocator.

Change-Id: I1f1929525cf1d5de32321d56ec947969bebfeb93
2017-09-11 15:37:00 -07:00