Commit Graph

1150 Commits

Author SHA1 Message Date
narayan
4b25ab2b2f qcacmn: Compile qca-wifi with gcc 5.2
Description:-
Added changes to avoid qca-wifi compilation errors with GCC 5.2

Change-Id: Idc6a1186af24219f193a2c36a00987cda820e334
CRs-Fixed: 2269330
2018-07-19 23:13:44 -07:00
Venkata Sharath Chandra Manchala
faa0d8b30a qcacmn: Update statistics counters
Account for tx.success and tx.comp_pkt stats counters
at peer level and propagate them to pdev level.
NSS stats need to be updated for all packets.

Change-Id: I18de95217690c9234060253671e0d5e1ef295e2a
CRs-Fixed: 2270816
2018-07-18 00:18:15 -07:00
Alok Kumar
fcdb185203 qcacmn: Add cdp ops to set/get timestamp for management frames
Add cdp ops for timestamp setter/getter function for peer based on
mac address.

Change-Id: I7025fdd7540f47bb4d3f95ef6d9f2ef92af5f1f1
CRs-Fixed: 2275985
2018-07-18 00:18:12 -07:00
Sravan Kumar Kairam
8e15ed92a1 qcacmn: Fix mem leak during dp peer delete
AST entry has been allocated at the time of peer creation at DP.
But during peer delete it is not deleted. This leads to memory leak
in the wlan driver. To fix this delete ast entry at the time of
peer deletion.

Change-Id: I8d16b575bd44bf06415c3b1cc44c1c7833c88137
CRs-Fixed: 2273601
2018-07-17 05:29:04 -07:00
Mohit Khanna
163c3170a1 qcacmn: fix dptrace for data packets
Enable tracing for TX/RX data packets
Donot print stats with 0 value

Change-Id: I4bab6537494c4ee0fe290e3778fb5662bf5abd66
CRs-Fixed: 2269193
2018-07-13 02:58:46 -07:00
Venkata Sharath Chandra Manchala
30e442b026 qcacmn: Disable monitor mode for QCA6390
Setup monitor mode rings and allocate
descriptors only if QCA6390_MONITOR_MODE is
defined.

Change-Id: I9c9bdc1e325eda822a326d64d6445a7112083420
CRs-Fixed: 2271998
2018-07-13 02:58:41 -07:00
Akshay Kosigi
78eced8c1d qcacmn: Add UMAC peer into DP peer structure
Add and initialize UMAC peer handle into DP peer structure as opaque
and to pass UMAC node structure to ol if layer for Block Ack and
rx_frag_tkip_demic functions.

Change-Id: If7c3faf859c97832c3c7f50fc163142b68eedeeb
CRs-Fixed: 2241356
2018-07-13 00:54:11 -07:00
Akshay Kosigi
0e7fdae9fd qcacmn: Move DP OL ops to target if layer
Move few common dp_ol_if_ops functions to target_if layer as part of
DP-CP interaction convergence

Change-Id: I9ad740af687f550f64ef8f81919159b73204e7b8
CRs-Fixed: 2243694
2018-07-12 18:02:13 -07:00
Sravan Kumar Kairam
5a6f590ed0 qcacmn: Add api to set ctrl pdev to dp pdev handle
Add cdp api to set UMAC ctrl pdev to dp pdev handle.

Change-Id: I12a1b6e04bce0b72257c87435d027d66d9156ca7
CRs-fixed: 2273029
2018-07-12 12:34:52 -07:00
phadiman
0381f56e17 qcacmn: Add sanity checks
Add sanity checks for ast_entry
structure

Change-Id: I361fac6b62f4b437f8d8d126fbb922d42b9b1b00
2018-07-12 04:58:49 -07:00
Akshay Kosigi
dbbaef4f81 qcacmn: Add UMAC vdev into DP vdev structure
Add and initialize UMAC vdev handle into DP vdev structure.

Change-Id: If0895bfdc773569cc9b40d735b6237522692cd57
CRs-Fixed: 2236237
2018-07-11 14:29:35 -07:00
Akshay Kosigi
1a9c6d1d4c qcacmn: Rename osif_pdev and os_if_vdev in dp_pdev and osif_dev
structures

Rename osif_pdev to ctrl_pdev and os_if_vdev to ctrl_vdev in dp_pdev and
osif_dev structures respectively which are
pointing to objmgr_pdev and objmgr_vdev structures to maintain
uniformity

Change-Id: Ida95a1a90ea74513573f00c652338baee3df897a
CRs-Fixed: 2241362
2018-07-09 02:02:23 -07:00
Sravan Kumar Kairam
f1e0766647 qcacmn: DP peer functions code cleanup
Remove pre processor directives for platform specific
dp peer functions and have stubs for them.

Change-Id: Ibdb9114918bbec86cc4be411f730da5777204226
CRs-Fixed: 2262603
2018-07-05 14:14:05 -07:00
Pramod Simha
6e10cb2dd6 qcacmn: Add CDP API to set key in data path
1. Add CDP API to set encryption key in datapath.
   Used to perform RX TKIP demic.
2. Fixes to RX TKIP demic function.

Change-Id: Ia14caeb71a320b4746f4303cf6611f1b6e4947ae
CRs-Fixed: 2214749
2018-07-02 16:09:03 -07:00
Tallapragada Kalyan
46f90ce4ac qcacmn: Remove WDS AST entry when STA roams from RPTR to ROOT AP
We need to remove the ast entry of STA which initally
got added as WDS entry as soon as the STA roams from
RPTR AP to ROOT AP and vice-versa

Change-Id: I71cac321844cd569a755790f951a7a3c4db283f8
CRs-Fixed: 2264787
2018-06-27 07:24:38 -07:00
Sravan Kumar Kairam
da542178c9 qcacmn: For dp peer reuse add peer to pdev local peer id map
Currently peer is not added to the dp pdev local peer id map when
resuing the peer reference. As a result register peer with the
dp fails and tx is not allowed. This leads to connection failures
as EAPOL tx is not permitted. In this change add peer to the pdev
local peer id map when existing dp peer reference is used.

Change-Id: I02221115e07450466ad165a6e0861d340cdbda4a
CRs-Fixed: 2241763
2018-06-20 04:06:00 -07:00
Vinay Adella
873dc40d46 qcacmn: Beacon to replace a probe response
Cancel broadcast of probe response if beacon is already sent
in beacon offload.

Change-Id: I4fea51433fbb959e05988c2daac89fbe839b1cdf
CRs-Fixed: 2209282
2018-06-15 12:39:38 -07:00
Lin Bai
f1c577ee03 qcacmn: Cleanup defrag waitlist when removing peer
Peer's RX TID may already be added to defrag's waitlist when it is
removed. Then use-after-free occurs when waitlist be accessed later.
Remove current peer's entries from waitlist, before it is freed.

As waitlist may be accessed from two contexts, additional lock
introduced to protect waitlist.

CRs-Fixed: 2244566
Change-Id: I8f1935973372a81086e9dbd992ac771b6709a677
2018-06-06 07:39:38 -07:00
chenguo
6a027fb223 qcacmn: Indent adjustments for DP statistics counters
There are several indent errors for DP statistics counter prints.
Made adjustment to them to avoid confusion and misleading problem
for statistics readers.

CRs-Fixed: 2245604
Change-Id: Ia46ae8e803e41e5f379408156bfbe209a4ebbc79
2018-05-29 02:05:27 -07:00
Soumya Bhat
dbb8530245 qcacmn: Tx desc counter changes
Add following Tx desc counter changes:
1. Initialize tx_desc allocated counter
2. Initialize tx desc free counter
3. Use per pool tx desc counter num_allocated to populate desc_in_use
   counter

Change-Id: I4d80d0acfbbdd32a9f7d66e938e0a0f4e2cd7048
CRs-Fixed: 2239623
2018-05-21 06:06:17 -07:00
Karunakar Dasineni
bb7848e5b6 qcacmn: Drop MPDUs for some RXDMA errors
Drop MPDUs received with rxdma_overflow_err, rxdma_flush
or rxdma_mpdu_length_err errors on monitor RXDMA2SW ring
since Rx TLVs are not populated properly by HW.

Change-Id: I3d4399f4c2b4bbe21e9f6b1b24369a633e964154
CRs-Fixed: 2233141
2018-05-19 10:56:55 -07:00
Santosh Anbu
76693bcc89 qcacmn: Support HMWDS for legacy platform
HMWDS for legacy was broken during bring up of DBDC on Hawkeye
platform.
Add cmn_tx_ops to support add, delete and update of AST entries.

Change-Id: Ia2a465a1f5f3d304a35d02c33bff73c56bb010a3
CRs-Fixed: 2225830
2018-05-18 02:17:22 -07:00
Tallapragada Kalyan
51198fc4ee qcacmn: Add counters for IP, TCP/UDP checksum errors
Add counters for IP, TCP/UDP checksum errors reported by
hardware.

Change-Id: Iaeb9280bc1ad4a287eee409d92ad0c95dc9f2c77
2018-05-17 16:55:19 -07:00
Jeff Johnson
2d821eb0fe qcacmn: Fix typo "recieve"
Replace typo "recieve" with correct spelling "receive".

Change-Id: I7d88e57b97fa6d217630d4a5d5c365b56e714428
CRs-Fixed: 2238309
2018-05-17 00:47:23 -07:00
Jeff Johnson
23dbde8dd9 qcacmn: Fix typo "choosen"
Replace typo "choosen" with correct spelling "chosen"

Change-Id: I0a4cfca422d395d3c0da911b358744e351f9b8ec
CRs-Fixed: 2238309
2018-05-17 00:46:38 -07:00
Venkata Sharath Chandra Manchala
4face24247 qcacmn: Generate pdev mask based on mac number
Set pdev mask in the HTT Stats request based on
mac id number provided from the user.

Change-Id: Ie8f1208fd3598efd2ea3736719c8b444ef86881a
CRs-Fixed: 2237467
2018-05-15 00:36:28 -07:00
Kai Chen
783e038223 qcacmn: Add monitor mode ppdu and mpdu stats
Add monitor mode status ring ppdu stats and destination
ring ppdu/mpdu stats

Change-Id: I702172f40ffc0915b630dd3781a697199bdd20fd
2018-05-14 21:54:53 -07:00
Ruchi, Agrawal
2755048d7d qcacmn: Remove NAWDS Rx Drop Count length counter
Remove NAWDS Rx Drop Count as it is not required,
drop packets in rx where length is not
available.

Change-Id: Ib4b41eefe88410137c3845090783ee43adb9147c
CRs-Fixed: 2191474
2018-05-07 07:38:53 -07:00
Chaithanya Garrepalli
2faa46fbfb qcacmn: avoid vdev stats aggregate for every ppdu stats event
Avoid vdev aggregate stats for every ppdu stats event as it is
consuming high CPU in veriwave max clients testcase. Instead
aggregate the stats when ifconfig athX command is issued. Add
CDP API to aggregate and update stats called when needed

Change-Id: I801d5f8fab0c275942b77a9975293f95bd4026b0
CRs-Fixed: 2220704
2018-05-05 21:34:38 -07:00
Chaithanya Garrepalli
2f5727960b qcacmn: Initialize dp peer map memory after WMI service ready
Initialize the peer map and peer hash memory based on the config
received from target in service ready event

Change-Id: I8e1b62cd9586f5b2be7acb863a106d2486be1b35
CRs-Fixed: 2223428
2018-05-02 03:19:29 -07:00
Anish Nataraj
4c9a4edde6 qcacmn: Add locks while extracting vdev from vdev_list
Add locks while accessing vdev from vdev_list

Change-Id: I89282ebd808382b6f1dc1076a2603650c7a29bf9
2018-05-02 01:19:45 -07:00
nobelj
1c31fee00e qcacmn: Configure RXDMA_MONITOR_STATUS on set mon rx filter
a) Configure RXDMA_MONITOR_STATUS to support mpdu_start.
b) Need Monitor other filter in RXDMA_MONITOR_STATUS
to support monitor vap.

Change-Id: I7ac90203f085850906f8c55209a57bb6a5464098
2018-05-02 01:19:40 -07:00
Shaakir Mohamed
41323bb65c qcacmn: Avoid scatter buffer from going out of bounds
Check to prevent scatter buffer overflow, limit to
MAX_IDLE_SCATTER_BUFS.

Change-Id: I8092e250eeafb22c1ff4f609e495345a4f31426a
CRs-Fixed: 2213708
2018-05-01 21:37:37 -07:00
Tallapragada Kalyan
1f49bffd64 qcacmn: Initialize ast_list during peer create
ast_list should be initialized during peer create
even for cases where peer exists

Change-Id: Iea48714166e7aead064c2879f6bf5f1cadf1589f
2018-04-30 03:23:20 -07:00
Pamidipati, Vijay
3b0f9169c5 qcacmn: add wildcard search support for peer_hash_find
Add option to ignore vdev_id match to peer hash lookup API
when vdev_id is passed as 0xff to the API, it ignores vdev_id
argument

This option is needed for usecases like peer level statistics
display where only MAC address is known and vdev_id is not known

Also add the missing accounting of rx broadcast frames in the
overall statistics

Change-Id: I9939ac8bf30f6be3d216f9aa28d52560bf445e06
2018-04-25 13:35:06 -07:00
Manjunathappa Prakash
38205cc1b7 qcacmn: Create flow control pools on vdev start
As many as 5 vdevs can be created, which is defined by MAX_SME_SESSIONS.
But flow control pools are only valid for active TxRx capable vdevs.
which is 3 active vdevs. So attach flow pool creation to vdev_start
instead of vdev_attach.

Change-Id: I137676ba618aa3a6684c7d17ef7d9263c4df6efe
CRs-Fixed: 2220079
2018-04-17 13:17:49 -07:00
Aditya Sathish
6add3db0d6 qcacmn: Fix Multicast RX Bytes and TX Packet Value in Node Stats
Fix for setting the right length when incrementing Rx Multicast
Bytes value

Fix for incrementing the Tx multicast packet value by correctly
returning the peer pointer to the stats function.

Change-Id: I46d59b7a71936d6eefdcba4419d0737f70aa4d48
CRs-Fixed: 2220973
2018-04-16 08:48:08 -07:00
chenguo
ec84983f42 qcacmn: Correct BW statistics printing for txrx_stats commands
BW statistics of TX is wrongly mapped as below:
80M counter ==> 20M counter

Make below correction:
20M counter ==> 20M counter
80M counter ==> 80M counter

CRs-Fixed: 2221744
Change-Id: Ic362e550b9f1a0a24d8ba646a885d04baea53d8d
2018-04-14 04:53:22 -07:00
Soumya Bhat
35fc699c0f qcacmn: Populate RX PPDU length
Add change to compute and populate RX ppdu length
from RX ampdu length.

Change-Id: I0e60764be1d3b0a0e69a8dc52cfb094a5df0f596
2018-04-11 09:15:12 -07:00
Ruchi, Agrawal
44461ef589 qcacmn: Resolve peer ref count increment issue
Resolve peer ref count issue for correct peer
delete sequence.

Change-Id: Ifa34b6d3c8089fba09d1b25f65b26bff721c8ab1
CRs-Fixed: 2209045
2018-04-06 14:47:14 -07:00
Venkata Sharath Chandra Manchala
16fcceb7de qcacmn: Change the buffer manager
Change the buffer manager from HAL_RX_BUF_RBM_SW3_BM to
HAL_RX_BUF_RBM_SW1_BM to handle regular and error packets.

Change-Id: I696d41f6cf0be1d5045ab27841ccc3ee2afea7de
CRs-Fixed: 2189452
2018-04-06 13:25:31 -07:00
Ruchi, Agrawal
89219d97b4 qcacmn: ast entry reset api for son
API to reset ast entry for son, ast entry active
field will be set on call of reset_api and all the
ast entry active field will reset on call of reset_table
api, ast_flush api will delete enteries in table

Change-Id: I26ed0fff818a112348a7aefba3b028ed40b2fe26
CRs-Fixed: 2209095
2018-04-03 16:50:17 -07:00
Chaithanya Garrepalli
0323f80221 qcacmn: Correct peer create-delete sequence
If peer with given MAC Address
already exists, just increment the refcnt
instead of allocating a new peer and deleting older
peer object. This avoids unnecessary memory fragmentation.

Change-Id: I76a3ffca4e907fccfdfd1b6857de721623f455d5
CRs-Fixed: 2209045
2018-04-02 15:21:55 -07:00
Anish Nataraj
cf526b7b9f qcacmn: Free memory for ppdu descriptor tlv list in detach path
ppdu tlvs are maintained in linked list and was not freed in detach
path but only freed after wdi post message. This was causing memory
leak to happen

Change-Id: I7b7b49d7ec829a6ef6b99edb1c7999bed713ae49
2018-04-02 03:09:00 -07:00
Sumedh Baikady
12b2b2c897 qcacmn: Use mon_lock while accessing monitor vap
Use monitor mode lock to prevent vap down while monitor
vap is still delivering all MPDUs to radiotap Api.

Change-Id: I908d8048afbf3210bddaafc2c19b177ec8209085
CRs-fixed: 2212004
2018-04-01 19:40:48 -07:00
Karunakar Dasineni
bef3b1b9b2 qcacmn: Disable batch intr for SW source rings
Source SRNG rings like RXDMA buffer rings only need low
threshold interrupts to ensure they are not empty. Disable
batch interrupts by setting batch count to 0.

Change-Id: I5de38caa1fccf162143d9598c0499dd8c5318391
2018-03-30 22:35:09 -07:00
Chaithanya Garrepalli
4c7099f001 qcacmn: Add lock for update ast entry
Add lock protection while update of ast entry for
peer

Change-Id: I0f61add9a06174303b40b017a6f1f2d202f3cf55
CRs-Fixed: 2210301
2018-03-30 02:46:44 -07:00
Anish Nataraj
f12b0a3463 qcacmn: Update netdevice stats to reflect ifconfig counters
netdevice_stats structure tx/rx/drop/error counters are assigned
proper values

Change-Id: I8e123a810a02292339a34b54bfebe3a56ae99dbd
2018-03-29 20:14:03 -07:00
Prathyusha Guduri
668c22c96b qcacmn: Fix BW mapping on host and add Tx nss stat
Stats counters for BW were not printed correctly due to difference in
mapping of BW on host and FW.

Also added Tx NSS stats during aggregate vdev stats

Change-Id: I348a5f9f974544ffe17ba403cd64769eff05c9b5
CRs-Fixed: 2203582
2018-03-27 05:47:40 -07:00
chenguo
07e2404dd9 qcacmn: Add reaping RXDMA status ring for 2.4GHz MAC for PKTLOG
Traffic will hang during PKTLOG operations for 2.4GHz Mac. The reason
is that Reaping operation is missed for RXDMPA status ring for MAC1.

Add reaping MAC1 along with MAC0 for 2.4GHz band during PKTLOG
operations in mission mode.

CRs-Fixed: 2198593
Change-Id: I8591c6cd85d7970c2d0835e18dbfd74d2aaae08e
2018-03-23 04:37:41 -07:00