提交图

203 次代码提交

作者 SHA1 备注 提交日期
Santosh Anbu
2280e86440 qcacmn: Componentize extender AP
Remove dependency of extender ap on VAP layer and radio(ic) layer data
structure

Change-Id: Ib336f518847abd1b29f5ea3cfd1a508dc2cd14e8
CRs-Fixed: 2148247
2018-01-14 07:25:34 -08:00
chenguo
1dead6f99e qcacmn: Fix pointer dereference after memory free
The pointer to peer is dereferenced after memory free in peer
_unref_delete function. Fix the issue by changing function
call sequence.

CRs-Fixed: 2167698
Change-Id: Iebd8f958bde4964c16a3c312d037e8f06e319350
2018-01-14 07:25:31 -08:00
Venkateswara Swamy Bandaru
e91dd92e8b qcacmn: Mesh throughput enhancements
Sending all frames to firmware will have high throughput impact.
Queue mesh frames also to TCL/TQM and send cloned frame to firmware
only if meta header information is changed to update meta header
information. Increased meta info size as per new ext2 header.

Change-Id: I89ff27994477a5637979a9cd6a397286144b2535
CRs-Fixed: 2162643
2018-01-13 02:17:50 -08:00
Gyanranjan Hazarika
99a58d3b1a qcacmn: Add support for setaddbaresp cmd for HE
Addba recieve/response logic has been implemented in
host for HE instead of in FW like VHT. setaddbaresp
is not hooked to the dp module yet to set the addba
response from userspace. Implement the required logic
for HE to support this command.

Change-Id: I49cceca299db06d41f2cafa690f5ba59e01f1f4a
CRs-fixed: 2163475
2018-01-13 01:28:23 -08:00
Pamidipati, Vijay
8e79865e11 qcacmn: Correct the data type of byte count variable
Use a 64-bit data type for byte count variable to prevent
data overflow.

Change-Id: I0e4927ebeece05cb9ee0360400e6a0da27862d32
CRs-Fixed: 2165595
2018-01-11 14:25:52 -08:00
Tallapragada Kalyan
53f9e39a43 qcacmn: Fix sanity issue during peer delete
during peer delete we are trying to update peer stats to
vap_bss_peer, but in STA mode we do not have bss_peer,
this is resulting in an assert during peer delete in STA mode.

Change-Id: Ie302dd74caf2df3ffe0a57e9ecd22a0c31cbcb60
CRs-Fixed: 2168929
2018-01-10 00:25:26 -08:00
chenguo
7853b790bf qcacmn: Free all resources when VDEV is detached
TX descriptors should be unmapped and freed when VDEV is detached.
Or else it will cause memory leak in qdf_mem.

CRs-Fixed: 2163178
Change-Id: I59da73787786f78c1f057e4daad7b4d53e7fbe4c
2018-01-08 18:28:40 -08:00
Tallapragada Kalyan
4f894924e0 qcacmn: Fix vdev stats reset to zero on peer disassoc
vdev stats are getting reset to zero when a peer disassoc
with the AP. the fix is basically update peer stats to
bss_peer just before we delete the peer.

Change-Id: Ibada4ab82fbb68f32df89bdbae8b172bc8973fe7
2018-01-08 02:07:27 -08:00
Stephan Raj Ignatious Durairaj
ba29129dfb qcacmn: dp support for inact timers
Added dp path function pointers for inact
timers and set params used in WifiSON
Load Balancing Daemon

Change-Id: Ic23d7b562b476c0fb92c8734b029a4e1632599a5
2018-01-04 17:37:47 -08:00
Manoj Ekbote
376116e052 qcacmn: Handle error case with HAL SRNG setup
If hal_srng_setup() fails, memory allocated for srng
is not freed resulting in a leak. Free the memory in
that case. In future, return error to caller and
assert when invalid ring ID is used during setup.

Change-Id: I6f3a7494a5c5e861652f3a38d18c220cd9a6eef2
2018-01-03 14:17:00 -08:00
Nandha Kishore Easwaran
47e7416b12 qcacmn: Add check to drop mcast loopback packet
Added a check in RX path to detect multicast loopback packets in
qwrap mode. In qwrap mode, there are multiple station vaps and
multicast loopback packet from one station vap should not come into
the other station vap. Added a check for this by iterating through
the vap list and checking if any of the vdev mac address matches
with the source address of the packet.

Also added a new vdev parameter to check if qwrap isolation mode is
enabled. In qwrap isolation mode, loopback packets should not be
dropped.

Change-Id: I7d35bf657a87337871156e4caec9038432e23a87
CRs-fixed: 2149190
2017-12-28 01:26:17 -08:00
Soumya Bhat
7422db894d qcacmn: PPDU stats
Add following changes in the context of PPDU stats
1. Mirror copy mode enhancements
2. Fix memory leak due to mgmt. TLV
3. Reset RX monitor lite ring when enhanced stats disabled

Change-Id: Ifb260929290bc483dc05b152a11cd675104f3a0d
2017-12-26 07:24:48 -08:00
Pranita Solanke
fc2ff39199 qcacmn: Add multicast and unicast packets stats for BSS peer
Add support to display multicast packets stats. Also
avoid sending message to target-if layer for every MSDU
to update node statistics

Change-Id: I7bb73d97bd8a02a601d191040a9a5730a9584d3d
2017-12-21 15:26:05 -08:00
Pranita Solanke
d7e10baaa9 qcacmn: Change the BW mapping on host side according to FW
Stats counters for BW were not updated correctly
due to difference in mapping of BW on host and FW

Also fix the Rx Stats to account for TCP Ack count

Change-Id: I7e844a7032e7968c110c7a0f8c45b0349a5cb818
2017-12-21 15:26:03 -08:00
Tallapragada Kalyan
9403463db3 qcacmn: refactor wbm_err_process function
In wbm_err_process function we are releaseing the sw rx
descriptors at the end and we are calling replenish after
we processed all the pkts in wbm_release ring. FW team said
that the re-fill ring is empty for high throughput scenarios.
To avoid re-fill ring being empty replenish buffers
first and then process the nbufs later. Also free any invalid
peer MSDUs during pdev detach.

Change-Id: I3e1088a3df3658965ffb31e0e0420a37203ba70e
2017-12-20 21:28:02 -08:00
Ruchi, Agrawal
4c1468fb23 qcacmn: RAW Mode EAPOL Frame Classification
Host CCE Classification changes for RAW Mode workaround
RAW Mode EAPOL frame classification for raw mode

Change-Id: I533c2e8bb55e3cd5088c6bff046e67066c784053
CRs-fixed: 2132295
2017-12-20 14:10:39 -08:00
Kris Muthusamy
7e36889461 qcacmn: Adding vdev id for WDS add/del/update API's
- Update the WDS add/del/update dp api's with vdev context

Change-Id: I68bf5670232aaa4bb4cce6a6fe0f7b3b2e921143
CRs-fixed: 2133484
2017-12-20 11:45:07 -08:00
chenguo
8107b66d8f qcacmn: Fix NR_CPUS overflow for one byte data structure
For one byte data structure of unsigned type, it is expected that
the maximum value is 255. However, NR_CPUS is 512 in x86 setup of
Napier.

CRs-Fixed: 2158203
Change-Id: I057fb0cf3c11e687dfdd6cd2295b16743297d561
2017-12-16 13:27:46 -08:00
chenguo
85d964f48b qcacmn: Add AST type for DP path
There is a hard-coded AST type number used for DP path, which will
cause poor readability. Fix this problem by using a pre-defined
constant type value.

CRs-Fixed: 2142975
Change-Id: I3520970bf59ea7152a0851cfdc3b8e7943ddbc19
2017-12-13 23:38:12 -08:00
nobelj
d124b749b7 qcacmn: Add support to set monitor filter dynamically
htt_h2t_rx_ring_cfg is invoked with suitable configuration based on
filter passed by wlan_set_monitor_filter.

Change-Id: I2fbb81e95903ae1bead92892fdb3165c8a515f14
2017-12-13 20:08:29 -08:00
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