Commit-Graf

201 Incheckningar

Upphovsman SHA1 Meddelande Datum
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
karuna
b34c7b7c45 qcacmn: Add print functions to print HTT EXT TLVS
Read the TAG type from the buffer and call the corresponding
TLV display function

CRs-Fixed: 1114641
Change-Id: Ifec04b87af84229754f598fffa689979ff253f12
2017-06-09 16:12:52 -07:00
Venkata Sharath Chandra Manchala
99868ac3ca qcacmn: Unlock the tso segment descriptor pool
Unlock the tso segment and tso common segment descriptor
pool if there are no descriptors available in the freelist.

Change-Id: I5c09e381769cdaa914e03ced24dccae8aea90897
CRs-Fixed: 2042950
2017-06-08 15:23:19 -07:00
Dustin Brown
4a3b96b4f1 qcacmn: Pause CDP timer during bus/runtime suspend
Converged datapath currently uses a polling timer to check for pending
traffic. As part of suspend, pause the polling timer to avoid any
invalid accesses.

Change-Id: I6b4654c6737c08475443d021c04ba9385d084d74
CRs-Fixed: 2047505
2017-06-08 13:46:55 -07:00
Venkata Sharath Chandra Manchala
d6ad0d5c49 qcacmn: Print tx descriptor id
Print the tx descriptor id when a new
descriptor is allocated for a skb.

Change-Id: I7326a79149de124edc8ebf5b2b0d6349e385b321
CRs-Fixed: 2054538
2017-06-05 19:28:57 -07:00
Manikandan Mohan
b01696ba61 qcacmn: Fix mem leaks in datapath
Fix mem leaks reported in datapath code during module unload.

Change-Id: Ife95426df11d61b253110ed7153fe8f8981006ed
CRs-fixed: 2044907
2017-06-01 15:21:34 -07:00
Venkateswara Swamy Bandaru
a95b324a8c qcacmn: Add CDP APIs for configuring interrupt
Add CDP API for interrupt configuration to decouple interrupt
setup from soc attach / detach.

Change-Id: I422205ff5687fdc4a0936c68850455cc4e733e4d
CRs-fixed: 2046055
2017-05-30 22:01:12 -07:00
Dhanashri Atre
991ee4defc qcacmn: Modify legacy LRO implementation to use QDF
Modify the legacy LRO implementation to use the implementation
in QDF instead. This is to avoid code duplication and to unify
the LRO implementations for Napier and Helium.

CRs-Fixed: 2042812
Change-Id: I38e9da3b54392a1c5781133916361aac3875d43d
2017-05-26 16:11:22 -07:00
Ishank Jain
6290a3c543 qcacmn: Add APIs to enable HTT FW Stats
Adding support to parse stream of HTT TLV's recieved as response
to the HTT EXT stats request message

Change-Id: I44c990a1ed91c2381b89811de33c0717bd24be7d
CRs-Fixed: 1114641
2017-05-24 02:41:10 -07:00
Venkateswara Swamy Bandaru
15c68dadff qcacmn: Fix channel information mesh frame tx completion
Added channel info to meta header in mesh frame tx completion.

Change-Id: If032ee92330cc76c683f2b81af3707bccfe76fa9
CRs-Fixed: 2003389
2017-05-24 02:41:08 -07:00
Venkata Sharath Chandra Manchala
35503cce26 qcacmn: TSO fixes
1. Unmap tso common segment only after receiving
   completions for all the tso segments for a given
   skb.
2. Keep a track of num of free tso descriptors available
   in the pool of tso descriptors.

Change-Id: I01bdbb9e40b7259f77dbcfeec22c6d8cd0c0a6dd
CRs-Fixed: 2042950
2017-05-22 17:05:21 -07:00
Manjunathappa Prakash
ae66cda533 qcacmn: Remove excessive per packet logging in dp_rx_process()
Move excessive per packet logging inside undefined compile flag.
Eventually need to remove this debug logging.

Change-Id: If1470a4c780b4b718346982a69d6e5fb60e2287f
CRs-Fixed: 2049401
2017-05-22 13:16:14 -07:00
Adil Saeed Musthafa
03e2ac22d7 qcacmn: Change DP_TRACE level to FATAL (instead of NONE)
Change DP_TRACE and DP_TRACE_STATS to use FATAL level.
Set DP module at QDF_TRACE_LEVEL_FATAL by default.

Change-Id: Ia894c6695699192feed204bb0dffdb9cfd59480c
CRs-Fixed: 2048931
2017-05-20 19:26:09 -07:00
Dhanashri Atre
2fb392b7d5 qcacmn: Changes needed to support new hardware header files
Changes in the HAL APIs to adapt to the new hardware E6 header files.

The changes are in:
- The MSDU link extension descriptor
- The RX MSDU TLV (type_offset)

CRs-Fixed: 2033542
Change-Id: Ib314194f66fd2feea901f849753c9c91ec4a040c
2017-05-19 11:51:04 -07:00
Ishank Jain
b463d9a735 qcacmn: Bug fix for NAWDS
Add missing break statement after case to enable NAWDS in DP

Change-Id: Ia4fa740e083761d7cf8d798d82f33b7762bf58a3
CRs-Fixed: 2008205
2017-05-18 10:36:51 -07:00
Ishank Jain
997955e336 qcacmn: Add Support for Inspect Path for Lithium
Add peer-id in the meta data for the reinjected by the FW
and queue them to the HW.

Change-Id: I3f25d5f928b6891c06cad6ce3ed81df77d4e33ed
CRs-Fixed: 2024450
2017-05-18 10:36:48 -07:00