Commit Graph

1219 Commits

Author SHA1 Message Date
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
psimha
a079b8c678 qcacmn: Deregister HIF ext groups on rmmod
- Deregister & free the hif ext ctx when detaching DP interrupts.
- Unregister the hotcpu_notifier during rmmod.

Change-Id: Icbd3c6cee70b6b224059a4b301b9840485a96d11
CRs-Fixed: 2086729
2017-09-08 19:40:02 -07:00
URAJ SASAN
81d9571879 qcacmn: Enable client isolation
[PATCH 0/1][CR:2093711]

The client isolation feature parameters were
pass and stored but were not used for enabling/disabling.
Added the changes to enable disable the feature.

iwpriv ath0 ap_bridge 1
iwpriv ath0 get_ap_bridge

By default feature is enabled so the STA-STA packet does not
go through the bridge interface and incase the feature is disabled
packets are given to the kernel stack.

Change-Id: I76e8683a0a7e8791cf8cf743e39b7201fee39d30
2017-09-07 05:30:27 -07:00
Venkateswara Swamy Bandaru
ed15e74a87 qcacmn: Add support to pass napi budget as module parameter
Add module parameter to pass napi budget for dp interrupts. Default value is
set to 128.

Change-Id: I6b3761c6908ed9cec4e40118a657b39da6ac2532
CRs-Fixed: 2095242
2017-09-01 23:17:18 -07:00
Tallapragada Kalyan
dbbb0c8085 qcacmn: Add support for Hash based steering in RX PATH
Add support for hash based steering in RX path, also
considered cases where a particular radio or both radios
are handled by NSS offload.
CRs-Fixed: 2092357

Change-Id: Ib0e88c28eecd7bfdb52c7337d4485ac41371be68
2017-08-31 02:11:15 -07:00
Pamidipati, Vijay
899e775769 qcacmn: Add support to dump Host AST table
Add support to print Host AST table contents and
AST statistics

Change-Id: I669d547657fe9d826d2aed59cf8dbb06bc100996
CRs-Fixed: 2099205
2017-08-29 23:41:34 -07:00
Pamidipati, Vijay
9e34025ada qcacmn: Add option to enable or disable accounting of Tx in NAPI budget
Add a division factor for number of tx completions to be accounted for in NAPI
budget. Fix the data type of budget to int to account for negative values.

Change-Id: I620af5537c5c1cdf3161da3a3c053a2c8bf777e8
CRs-Fixed: 2092526
2017-08-29 23:41:33 -07:00
Chaitanya Kiran Godavarthi
6228e3be66 qcacmn: Add CDP API for HK DP to get security type from peer handler
Add CDP API for HK 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: I3c2688f33ca36a5bd2a747699d5acaab3ba14cfe
2017-08-27 21:51:34 -07:00
Linux Build Service Account
9472baa04e Merge "qcacmn: Add support for back to back htt stats" 2017-08-24 08:11:05 -07:00
Linux Build Service Account
39017b6b93 Merge "qcacmn: Fix DSCP to TID map table" 2017-08-24 08:11:04 -07:00
Venkateswara Swamy Bandaru
3f4e1c48cc qcacmn: Fix Key derivation for mesh rx stats
Fixed key derivation for mesh rx stats for received packet. Added cdp api
to get the key by passing key index and peer mac address.

Change-Id: I6a4c342b614ae85a5ad2fb047f2d8686aa068196
CRs-fixed: 2094335
2017-08-22 07:26:02 -07:00
Om Prakash Tripathi
121268292f qcacmn: Add support for back to back htt stats
In existing implementation when previous stats handling is under process
and a new stats event is received, new stats event is dropped.
Add support to queue any received stats message and process it
later in work queue context.

Change-Id: I7895a2f7ac49456c49374ce209da97c2148f43a2
CRs-Fixed: 2076552
2017-08-22 16:15:14 +05:30
Om Prakash Tripathi
5425c52aa0 qcacmn: Fix DSCP to TID map table
Add below fixes:
1. wifi3.0 only supports 2 HW DSCP to TID map tables.
   Check for supported number of tables before
   updating registers.
2. Do not overwrite previous DSCP TID config for
   different DSCP values while updating TID map
   for new DSCP value.

Change-Id: Icd8af1053fa48d3f1e2db317290f806cd41cd797
CRs-Fixed: 2091195
2017-08-21 01:35:11 -07:00
Radha krishna Simha Jiguru
f70f991f45 qcacmn: Send peer create to NSS only for connected peers
Send peer create to NSS only when peer map comes for connected peers.
When peer map comes for WDS peers only update WDS peer specific entries.

Change-Id: I32d785180bcd1dae2703d40b55f4536685f10439
2017-08-17 20:51:16 -07:00
Tallapragada Kalyan
1c14d5d8e9 qcacmn: MEC loopback check even when sa_is_valid not set
There is a case when the multicast/broadcast frame gets loop backed
even before a MEC WDS entry gets added, in this case
the MEC check based on sa_is_valid will fail, hence added
another ast lookup check.

Also fix the ast entry iterator to use _safe option, since
we are deleting ast entries in the same iterations

Change-Id: I0567893783649d991c3623a61c60fbc63d1a24ef
2017-08-17 14:55:13 -07:00