Commit Graph

149 Commits

Author SHA1 Message Date
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
Tallapragada Kalyan
fb72b637f7 qcacmn: AST based MEC support for HAWKEYE
Implemented MEC support using AST entries rather than
using a separate MEC table.

Change-Id: Ifaafb4be1f8a981ad28609ea9740e8bbccec9046
2017-08-17 14:55:11 -07:00
Pamidipati, Vijay
623fbee5f9 qcacmn: Clean up TxRx statistics
Cleanup the print format for rate stats.
Add missing elements in HAL tx completion structure.

Change-Id: I57aaac605fce5060f7943b9bbe95ef8e8c2d3b7b
2017-08-15 17:32:16 -07:00
Pramod Simha
ccb15fbd29 qcacmn: Enable WBM scatter ring support
Program additional registers to enable the WBM scatter ring
support for providing link desc to HW.

Change-Id: I0d240150f81a333758a311af35c97e1f93ef4ed2
CRs-Fixed: 2068757
2017-08-15 13:27:05 -07:00
Karunakar Dasineni
dbaf4bed59 qcacmn: Link descriptor IDs to assist debug
We need only 3 bits of cookie field in link descriptor buff_addr_info
to store bank ID. The remaining bytes will be used set a unique ID,
which will be useful in debugging. Also fixed an issue in scatter idle
list setup.

Change-Id: Id3cc9a8a316fe942e749611c2f57e9324419dd40
2017-08-08 12:06:10 -07:00
Yun Park
fde6b9e551 qcacmn: Enable WLAN host data path support for IPA WDI3.0
Change to support WLAN Napier host autonomy data path architecture.

Change-Id: I07f7592d547bb796a3c12bbc4745cee22e2c0022
CRs-Fixed: 2064810
2017-08-07 17:47:38 -07:00
Ajit Pal Singh
d27d746357 qcacmn: Decrease REO DEST RING size for QCA6290
Reduce REO_DST_RING_SIZE to 1024 for QCA6290

Change-Id: I1e5ac1dcf2edd82b80b15995c29dddb16b7e56bd
CRs-Fixed: 2084719
2017-08-06 19:46:00 -07:00
psimha
c983d7ee09 qcacmn: Use interrupt polling only for monitor mode
Add logic to use MSI interrupts for mission & polling for monitor mode

Change-Id: Ieb824c2eb370040a125f743ec699954bdca9c83d
CRs-Fixed: 2051911
2017-08-06 10:47:17 -07:00
Houston Hoffman
648a918927 qcacmn: Enable msi support for ext_group ring groupings
assign msi vectors to srng rings based on the ext_group they will be
serviced in.

provide support for ext_groups in hif_pci.

Change-Id: If313fdb43b939871c0d73dea9a05f757427b5b16
CRs-Fixed: 2051911
2017-08-06 10:47:16 -07:00
psimha
61b1a36f72 qcacmn: Add NAPI stats
Add basic stats to track NAPI polls & schedules.

Change-Id: Iea8f21fc08d4a5de62e00f32ffdc020f8364ced1
CRs-Fixed: 2083867
2017-08-04 15:35:43 -07:00
Aniruddha Paul
0b1c4d22bb qcacmn: Dual radio mode with 5g NSS offloaded and 2g Non-Offloaded
Disable interrupt mask for rings used by NSS offloaded radios

Change-Id: I1491177c9faf242635a486b8cfffa2e849fe123e
CRs-Fixed: 2077274
2017-07-22 17:58:30 -07:00
Keyur Parekh
db0fa14b0e qcacmn: Pktlog modified to work for per pdev in wifi3.0
change pktlog CE ring to 5 from 11

Change-Id: I3cd3287cdda413ef9ac4ed204177300c85abfb24
2017-07-19 18:14:13 -07:00
Manoj Ekbote
2a372d279b qcacmn: Flush the REO cmd list during detach
When suspend is done, and if there are any outstanding
REO commands to HW, there could be a leak from allocated
buffers. FLush the buffer list during detach.

Change-Id: I62a7b612c401a36f5098163e017c3b42d7d3750d
2017-07-19 16:23:19 -07:00
Manjunathappa Prakash
5f050a8187 qcacmn: Include cdp_txrx_flow_ctrl_v2.h only if V2 flow control enabled
Fix compilation error failing for V2 flow control data structures.

Change-Id: I6cca1f7183b483f5e2403d95cd6ec77a959e47a0
CRs-Fixed: 2078435
2017-07-19 00:40:54 -07:00
Manjunathappa Prakash
ced7ea6cf2 qcacmn: Add changes for Napier flow control
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
2017-07-18 23:35:05 -07:00
Pamidipati, Vijay
b8bbf16192 qcacmn: Add support for WDS aging
Add support for monitoring receive traffic from WDS nodes and
aging out inactive WDS nodes

Change-Id: Iedea826832a5421714c00bccadc6e0dc4acd4c7e
CRs-Fixed: 2004658
2017-07-15 11:38:57 -07:00
Houston Hoffman
def86a361b qcacmn: Introduce hif_exec_context
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
2017-07-13 03:37:59 -07:00
Om Prakash Tripathi
2cd7fab473 qcacmn: create work queue to process htt stats
process htt stats in work queue context

Change-Id: Ibacc09e3921da2fa88173bc0cfdc2f0ced51cc68
CRs-Fixed: 2070977
2017-07-12 13:48:56 -07:00
c_cgodav
bd5b3c2c9b qcacmn: Add CDP APIs to get security type from peer handler
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
2017-07-12 12:55:50 -07:00
Om Prakash Tripathi
a7fb93f83d qcacmn: configure different reo destination each pdev
Change-Id: Icb44f2edf69cd271f5f5b49b192d52a204fa0f3a
CRs-Fixed: 2067575
2017-07-11 23:48:09 -07:00
Pamidipati, Vijay
bea353e14c qcacmn: Set the Tx completion ring size to appropriate value
Size the completion ring using following 2 parameters
 - NAPI schedule latency (assuming 1 netdev, gmac, competing for CPU) = 20ms
								 (2 jiffies)
 - Worst case PPS requirement = 400K PPS
    Ring size = 20 * 400 = 8000

Change-Id: Iaac0b61f50b52a4e824c3c8ef5d980adf455854c
CRs-Fixed: 2068155
2017-07-11 23:48:03 -07:00