نمودار کامیت

216 کامیت‌ها

مولف SHA1 پیام تاریخ
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
133af812fb qcacmn: Do not include cds_api.h in dp_tx_desc.h
WIN compilation fix, cannot include cds_api.h in dp_tx_desc.h

Change-Id: Ia3a83a07f3353e72267daaf14a908c9144bb3e46
CRs-Fixed: 2078435
2017-07-18 23:35:17 -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
Linux Build Service Account
6e5563fc0f Merge "qcacmn: WAR for RXDMA packet drop issue" 2017-07-16 15:52:24 -07:00
Pamidipati, Vijay
eb8a92cedc qcacmn: Add support for delivering unencrypted errors
In mesh mode, it is possible to receive unencrypted frames while security
is enabled. Deliver such frames to OS stack.

Change-Id: Id148b6ecc1432b419ae97c92f2340155f3d851bf
CRs-Fixed: 2004658
2017-07-15 14:36:26 -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
Kiran Venkatappa
a7b6842a72 qcacmn: Initialize msdu_info in dp_tx_send_multiple
Initialize msdu_info before calling API to queue frames in HW. msdu_info
provides tid info which was going as random value to HW causing target
assert. Intialize it so that proper value is used.

Change-Id: I5028508f05b7b8ff2be123c21b3aed75adeb54d8
CRs-Fixed: 2076799
2017-07-15 10:05:33 -07:00
Karunakar Dasineni
15a3d48c75 qcacmn: WAR for RXDMA packet drop issue
When monitor RXDMA is enabled, regular RXDMA will drop a good packet
whenever an error is indicated in monitor path due to a HW bug. To
avoid this, a dummy buffer will be used to receive packets passing
"monitor other" filter on regular DMA, which will be received on
RXDMA2HOST ring. These packets should be ignored based on a special
cookie value.

Change-Id: I348527f662cd664652d8d99c01484bb310c6e705
2017-07-14 18:56:38 -07:00
Karunakar Dasineni
80cded8b4a qcacmn: WAR for incorrect MSDU count in MPDU desc
Rx MSDU count received in mpdu descriptor may be incorrect
sometimes due to HW issue. We should check msdu buffer address
in each Rx msdu buffer entry in RX msdu link descriptor.

Change-Id: I86af4797cfb79fad33977cf53d62a8d368dc3543
2017-07-13 16:08:16 -07:00
Pramod Simha
e0baa4436a qcacmn: Add misc list to hold HTT msgs
Add a misc list which stores HTT msgs & later frees them during rmmod.
This is required to prevent memory leaks during rmmod.

Change-Id: Iecc04ec38cfa1b459064da74dffa5bfeffdba956
CRs-Fixed: 2068058
2017-07-13 14:49:08 -07:00
Ravi Joshi
c05a6a163c qcacmn: Fix driver initialization due to issues in pktlog init
Currently pktlog is available only for WIN. The pktlog APIs
return negative error code for MCL implementation since they
are not available, causing the regression.

CRs-Fixed: 2074614
Change-Id: I830181233fb6fe0d6299c42f2ccd27b6d894857f
2017-07-13 14:49:07 -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
Venkata Sharath Chandra Manchala
532cd5f161 qcacmn: Fix for Tx software descriptor leak
Release Tx software descriptor if access to ring
fails

Change-Id: I23152301b8042af402b9c605b69a2e68d9a0c85c
CRs-Fixed: 2042201
2017-07-12 19:26:08 -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
Karunakar Dasineni
3da0811330 qcacmn: Fix REO stats prints
Split stats prints since they are truncated to 512 bytes due recent changes in
QDF_TRACE. Also flush REO queue descriptor cache after fetching stats to help
dumping from memory (for debugging).

Change-Id: Ie1d00766bd452d32cbc7085e95b66fb11bb9893c
2017-07-11 23:48:11 -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
Pamidipati, Vijay
f82fb2b8f7 qcacmn: Add support to process v2 fw2wbm completion structure
FW has moved to using v2 HTT_FW2WBM message format for Tx completions
Add corresponding change on Host.
Add missing code to free Tx descriptors for few HTT completion types
Also change the descriptor pool lock to spinlock_bh since transmit path
and completions typically run in tasklet/softirq context

Change-Id: I024d44243f95907f19086225f0f02a5cd64f4508
CRs-Fixed: 2068155
2017-07-11 23:48:00 -07:00
Pramod Simha
e382ff88b9 qcacmn: Add RXDMA_DST ring support
Setup & process the RXDMA_DST ring to handle error frames
from RXDMA block. Pro-active fix to handle the WAR for
the WBM stuck issue seen when sending RX_FLUSH command.

Change-Id: Ibf56062da2cd9b5d447f1d43bbae5944426d88c8
CRs-Fixed: 2059870
2017-07-07 12:33:54 -07:00
Ravi Joshi
a9ebe0a7ca qcacmn: Fix issues in monitor mode initialization
Current monitor mode implementation does not catch
initialization failures causing it to believe successful
monitor mode initialization.

Change-Id: I5c30ac22e3084871b86cf5e2f0627988ebbb7b5d
CRs-Fixed: 2071602
2017-07-06 21:55:19 -07:00
Ravi Joshi
8851f4eb1c qcacmn: Enable RXDMA ring configuration for monitor mode
Enable RXDMA status, desc, buffer and destination rings to
support monitor mode. The change also provides fix to properly
map pdev_id to mac_id.

CRs-Fixed: 2071602
Change-Id: Ie9caaaa0021d5842eaf28a5532b3ab5512fe507f
2017-07-06 21:55:18 -07:00
Ravi Joshi
2320b6fe68 qcacmn: Enable all mgmt, ctrl and data fields in pkt_tlv
Currently all mgmt, ctrl and data frames are not enabled
while requesting for the pkt_tlv configuration for the
monitor mode. Adding changes to enable these while sending
HTT ring configuration message.

Change-Id: Ifa23edb55562512e18bb2ee4c426fa0b5e45a577
CRs-Fixed: 2071602
2017-07-06 21:55:16 -07:00
Rakesh Pillai
13146458f9 qcacmn: Fix CLANG warnings in Data path
implicit conversion from enumeration type 'A_STATUS' to different enumeration type 'QDF_STATUS'
implicit conversion from enumeration type 'QDF_STATUS' to different enumeration type 'A_STATUS'

CRs-Fixed: 2063344
Change-Id: Id3613d0b7fca58c3d94c5af59838b0bff3ef26de
2017-06-30 22:50:37 -07:00
Pramod Simha
59fcb31d81 qcacmn: check for in use flag during free
Add a in_use flag to identify if a rx desc is associated
with a valid nbuf and use this flag while freeing the nbuf.

Change-Id: Iace002ecadfd95ce60b7d1eaebc42194a433963b
CRs-fixed: 2044907
2017-06-30 20:14:16 -07:00
Karunakar Dasineni
f40efac097 qcacmn: Fix wbm release descriptor settings
Set BM_ACTION, RELEASE_SOURCE and BUFFER_OR_DESC_TYPE fields in WBM release
ring descriptor in hal_rx_msdu_link_desc_set function.
Added HAL API to retrieve RXDMA push reason and error code from REO entrance
descriptor.

Change-Id: I64209d9ebb332136fae43a55b39e0f0d242315fb
CRs-Fixed: 2062922
2017-06-30 19:29:47 -07:00
Karunakar Dasineni
1018547152 qcacmn: Fix LMAC interrupt mappings
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
2017-06-29 18:25:27 -07:00
Kai Chen
cbe4c342b6 qcacmn: Fix the issue on setup monitor mode ring
The pdev id in host is not the same as firmware MAC id
Add host pdevid to firmware MAC id mapping code
in set pdev id for htt sring setup and
set pdev id for htt rx ring selection cfg

The mon_ppdu_status is not synchronized
Fix the issue on pdev mon_ppdu_status by reset
mon_ppdu_status to DP_PPDU_STATUS_START after
monitor destination ring is processed

Add code for mpdu fcs error for later use

Change-Id: Ia6245cc9441e3339bcd01ed18fdce2f33f3f7699
2017-06-28 17:33:34 -07:00
Keyur Parekh
fad6d088fa qcacmn: Packet log changes for wifi3.0
Change-Id: I82462f426e4e449c5bc65331e39f07a062e8e242
2017-06-27 23:37:33 -07:00
Linux Build Service Account
2584ae5d53 Merge "qcacmn: fix skb cb corruption issue" 2017-06-27 11:49:03 -07:00
Tallapragada Kalyan
0cd1793ba5 qcacmn: fix skb cb corruption issue
the ftype in skb->cb is overshooting allocated 48 bytes
causing kernel crash

Change-Id: Ie33508c462a032b28624de5270ce91a93d0b067d
2017-06-27 10:32:46 -07:00
Pamidipati, Vijay
be379457e6 qcacmn: Add a flag to enable/disable per-packet sync of DP stats
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
2017-06-26 17:42:34 -07:00
Pamidipati, Vijay
45b1df25fc qcacmn: Configure DP interrupt mitigation values based on ring type
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
2017-06-26 17:42:33 -07:00
Linux Build Service Account
eba9b1e192 Merge "qcacmn: Incorrect use of tx descriptor" 2017-06-23 18:25:25 -07:00
Venkata Sharath Chandra Manchala
340c0d8903 qcacmn: Incorrect use of tx descriptor
Avoid accessing and releasing tx descriptor when it is
not allocated in tx path.

Change-Id: I36515b679c541d081fd836ea3fb732768031cc06
CRs-Fixed: 2062160
2017-06-23 10:41:30 -07:00
Linux Build Service Account
429221b907 Merge "Revert "qcacmn: test change to validate on how to exclude MCL changes in WIN"" 2017-06-21 09:53:26 -07:00
Nandha Kishore Easwaran
82ac62ecca qcacmn: Fix double free irq of external group interrupts
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
2017-06-20 05:29:58 -07:00
Gurumoorthi Gnanasambandhan
ed4bcf8e9d qcacmn: Add changes for PN check in REO
Setup PN check in REO for Security mode.

Change-Id: I682cda20907b7f64ba18bfef9927b7f8d72d2b54
2017-06-19 12:43:30 -07:00
Tallapragada Kalyan
52b45a143a qcacmn: Add scatter-gather support in RX path
Add nbufs to frag_list of parent nbuf when ever we receive
multiple MSDUs spread across nbufs.

Change-Id: Iff7a5208408fa55306cb4137e97bc781e1e82a01
2017-06-19 12:43:26 -07:00
Pamidipati, Vijay
6b0d2a800c qcacmn: Add a configure interface to get max_peers from OL_IF to DP
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
2017-06-16 17:12:28 -07:00
Pamidipati, Vijay
5379474f69 qcacmn: Enabled asserts in Rx error path
Enable qdf_assert on rx error path to detect corruption issues.
Also add a magic word in rx_desc and compare on rx indications
to detect any corruption issues early in the path

Change-Id: I4df1220f19c891928f9687f40de6f2118b530db2
CRs-Fixed: 2004658
2017-06-16 17:12:26 -07:00
Karunakar Dasineni
93f633c394 qcacmn: Enable REO queue stats
Query REO queue stats from HW and print as part of host peer stats.

Change-Id: I817be3b293e684f0fa3a0b3154f618de0245681f
CRs-Fixed: 2057908
2017-06-16 17:12:25 -07:00
Tallapragada Kalyan
a3088d9a34 qcacmn: WDS changes to address multi-radio scenario
Because of mult-radio changes where we have soc and scn
structures modified we need to address the same for WDS

Change-Id: I63f95d93ac15cdbcdd2b05cb80ce364115e9c16e
2017-06-16 17:12:23 -07:00
Pamidipati, Vijay
9c9a2871a7 qcacmn: Add missing lock initialization for tx_lock used for me_buf_pool
CRs-Fixed: 2004658
Change-Id: I930fc823ce2b4d4a91f0bc949291d199ba783862
2017-06-16 17:12:21 -07:00
Pamidipati, Vijay
3d8e1e8655 qcacmn: Enable interrupts for DP Rx Error release and REO status rings
Initialize correct mask values to enables Rx error and status ring interrupts

Change-Id: I717fbea492f12d983fb57d964996f4b79c73cb38
CRs-Fixed: 2004658
2017-06-16 17:12:19 -07:00
Pamidipati, Vijay
c2cb427e7f qcacmn: Print Rx Decrypt error statistics
Add support to print Rx Decrypt errors as part of
DP statistics

Change-Id: I03f485003dd1e0d95db21cb25b2973fa26838982
CRs-Fixed: 2004658
2017-06-16 17:12:18 -07:00
Tallapragada Kalyan
274eb9e76b qcacmn: Temporary WAR for Multicast echo check in host
This is a temporary WAR in host for multicast loopback check
until we finalize on exact design, and host or firmware will
take care of this

Change-Id: I4d2d1b0f5d2a78d4c8716740b74c4fee22c28e96
CRs-Fixed: 2039038
2017-06-16 17:12:15 -07:00
Karunakar Dasineni
4055568bad qcacmn: Monitor status ring handling
Changes to process PHY TLVs from monitor status ring and extract
information required for radiotap header.

Change-Id: I99d642e7506ea797b26dbfac89fd223d1a4c0a55
CRs-Fixed: 2048006
2017-06-16 17:12:13 -07:00
Venkata Sharath Chandra Manchala
9dfc3874f1 qcacmn: Fix for Rx descriptor pool
Remove the statement nbuf pointing to NULL
during allocation of descriptors as nbuf in rx_desc and next
pointer in dp_rx_desc_list_elem_t share the same address
space and pointing to NULL will not allocate the
rx descriptors.

Change-Id: If4c35202c2489aed1711173b37192f565f7c3d7b
CRs-Fixed: 2061564
2017-06-15 18:09:27 -07:00
Karunakar Dasineni
c45b01eb2b qcacmn: Fix bug in link descriptor pool setup
Fix bug in calculation of number of link descriptor entries per bank,
which was causing memory corruptions.

Change-Id: I68a86b8c644a4ef48a45ad5c98b739dced68d81d
CRs-Fixed: 2057893
2017-06-14 17:24:50 -07:00