Commit Graph

729 Commits

Author SHA1 Message Date
Pramod Simha
5a03e749e9 qcacmn: Fix invalid format specifiers for kernel addr
Change format specifiers to print kernel vaddr from
%p to %pK.

Change-Id: Iccb0a4dae03f28533a6933cb6b60449315d159ee
CRs-Fixed: 2211136
2018-06-06 18:56:29 -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
Lin Bai
b5955f0e24 qcacmn: check peer when removing from defrag waitlist
Different peer may use same TID to receive fragment msdu. To avoid
such mismatch, compare both peer and TID number when removing entry
from defrag's waitlist.

CRs-Fixed: 2246558
Change-Id: I80d81e4fa8bef3df429c2a28f2e50135e7fd225f
2018-06-06 07:39:35 -07:00
Manjunathappa Prakash
e6aba4f65f qcacmn: Add DP callbacks for flow_pool create and delete
Current lithim_dp flow pool created in wma_vdev_start, wma_vdev_start
is called for same vdev multiple times for vdev. This leads to creation
of multiple flow pools for each vdev. Instead create from policy_manager
when session become active.

Register flow pool create/delete callbacks with policy manager.
So that lithium_dp vdev flow pools are created/deleted when vdev
become active/not-active.

Change-Id: Iaf6aaece47c79c7e6f7745feaee35a6bc5cd1297
CRs-Fixed: 2231601
2018-06-06 05:49:26 -07:00
c_cgodav
f2a954e493 qcacmn: Add command to set ACS noise floor threshold value
Add iwpriv command for setting the ACS noise floor threshold value

Change-Id: Ia3eca81243ff7aa03e7d42a0af23e06c7fdc1d1d
2018-06-05 04:07:29 -07:00
Jinwei Chen
15da8a56d7 qcacmn: fix tx desc allocate from freed pool issue
The avail_desc is not set to 0 when the tx desc pool is
freed, later if still try to allocate tx desc by judgement
of avail_desc, panic happens.

Change-Id: Ia4565da1caa6898c6d4293e2658cf4ccf89563fa
CRs-Fixed: 2246328
2018-06-04 00:55:39 -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
Mohit Khanna
4b3b7e7110 qcacmn: debug prints for monitor mode TLVs
Add prints to track:
* Incoming TLVs in the monitor mode status ring.
* HE, HE-MU and HE-MU-Other values being passed to the
  stack.

Change-Id: Ib23336353dc4a2253a62444b767d2a706ce372ea
CRs-Fixed: 2242514
2018-05-22 13:00:04 -07:00
chenguo
51d0f4e5ac qcacmn: Delete obsolete RX statistics number of BW and frame type
Before showing DP statistics, per VDEV and per peer statistics
counters will be aggregated together and stats.rx data member of
PDEV will be set to all zeros. So only need to update per peer
statitics counters in RX stats_update.

Delete the obsolete PDEV stats.rx update operations.

CRs-Fixed: 2237020
Change-Id: Iba6437e6010dd8f87a3f152a529a8b0bc632972d
2018-05-21 10:26:36 -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
Vignesh U
21a96f9644 qcacmn: Add pdev param for host dfs confirmation
Add pdev param to update host wait status timeout value.

Change-Id: I63fd6ebab1244eaabdf9445e48a04469ea681a36
CRs-Fixed: 2211883
2018-05-21 03:53:13 -07:00
Ruchi, Agrawal
bd22540e0d qcacmn: CCE Classify only for non encrypted packets
Enable raw mode cce classification only for packets for
which WEP bit is not set

Change-Id: I5249f197d5a3e00c73c6866011ba5f3a36868c0f
CRs-Fixed: 2132317
2018-05-21 01:37:55 -07:00
Jeff Johnson
ff2dfb217b qcacmn: dp: Fix misspellings
Address the following issues in the dp folder:
CHECK: 'availble' may be misspelled - perhaps 'available'?
CHECK: 'catagory' may be misspelled - perhaps 'category'?
CHECK: 'endianess' may be misspelled - perhaps 'endianness'?
CHECK: 'exceded' may be misspelled - perhaps 'exceeded'?
CHECK: 'explicitely' may be misspelled - perhaps 'explicitly'?
CHECK: 'Inteface' may be misspelled - perhaps 'Interface'?
CHECK: 'lengh' may be misspelled - perhaps 'length'?
CHECK: 'messsages' may be misspelled - perhaps 'messages'?
CHECK: 'miscelleneous' may be misspelled - perhaps 'miscellaneous'?
CHECK: 'Ouput' may be misspelled - perhaps 'Output'?
CHECK: 'poiter' may be misspelled - perhaps 'pointer'?
CHECK: 'Poiter' may be misspelled - perhaps 'Pointer'?
CHECK: 'psuedo' may be misspelled - perhaps 'pseudo'?
CHECK: 'registerd' may be misspelled - perhaps 'registered'?
CHECK: 'requred' may be misspelled - perhaps 'required'?
CHECK: 'retreive' may be misspelled - perhaps 'retrieve'?
CHECK: 'succesfully' may be misspelled - perhaps 'successfully'?
CHECK: 'vaild' may be misspelled - perhaps 'valid'?
CHECK: 'virtaul' may be misspelled - perhaps 'virtual'?

Change-Id: I66b9cdc6115dd133b385e60c9d02cefd1bd0bac3
CRs-Fixed: 2241574
2018-05-19 19:41:02 -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
Chaithanya Garrepalli
8aaf9b6959 qcacmn: ignore l2_hdr_offset in rx path for raw mode
In case of raw mode HW does not set the l2 header offset.
ignore this field in rx for rawmode.

Change-Id: I6e08a9540f55fdb97b21e4939256e6e5b9076e77
CRs-Fixed: 2243850
2018-05-18 03:34:50 -07:00
Jeff Johnson
e71b8c4019 qcacmn: dp: Remove legacy markings
Per current guidance remove legacy markings.

Change-Id: Id6b2e4758232355b0c47bf8c2f1a0b2a1eacba05
CRs-Fixed: 2230684
2018-05-18 02:17:24 -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
chenguo
6824d8d9c9 qcacmn: Fix compiling error when enable ATH_TX_PRI_OVERRIDE
"(" character should not appear in macro parameter list. Remove
this illegal character to avoid compiling error.

CRs-Fixed: 2239574
Change-Id: Ie50feb5dacda52edb0b1a4fcdfd516e909c7bda8
2018-05-18 02:17:17 -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
3f0dfd144a qcacmn: Fix typo "continous"
Replace typo "continous" with correct spelling "continuous".

Change-Id: If14e05ea8d30979c792e682c26da1e7ce33d7345
CRs-Fixed: 2238309
2018-05-17 00:47:36 -07:00
Jeff Johnson
bd6e61f610 qcacmn: Fix typo "funtion"
Replace typo "funtion" with correct spelling "function".

Change-Id: I05db828dd5830d4b95467ed5494f319113de9252
CRs-Fixed: 2238309
2018-05-17 00:47:29 -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
7947f90a30 qcacmn: Fix typo "retrived"
Replace typo "retrived" with correct spelling "retrieved".

Change-Id: Icde5e2480be78bdf8bf3befd1ce09b1b427074df
CRs-Fixed: 2238309
2018-05-17 00:47:20 -07:00
Jeff Johnson
ba9272370e qcacmn: Fix typo "coexistance"
Replace typo "coexistance" with correct spelling "coexistence".

Change-Id: I067eef3367e16c7e29e535ef7ccf4a5311173deb
CRs-Fixed: 2238309
2018-05-17 00:47:08 -07:00
Jeff Johnson
d087edef2e qcacmn: Fix typo "fuction"
Replace typo "fuction" with correct spelling "function".

Change-Id: I32a3ec69c161e16b694a856db86448103900c759
CRs-Fixed: 2238309
2018-05-17 00:46:59 -07:00
Jeff Johnson
97a1cc5caf qcacmn: Fix typo "paramters"
Replace typo "paramters" with correct spelling "parameters".

Change-Id: I7b82a1c3fda1e826840152fb1a23102f3c23fdb8
CRs-Fixed: 2238309
2018-05-17 00:46:57 -07:00
Jeff Johnson
ae1b3de378 qcacmn: Fix typo "sucess"
Replace typo "sucess" with correct spelling "success"

Change-Id: Ieacb299890210d67848268a389a57168e2a2badd
CRs-Fixed: 2238309
2018-05-17 00:46:44 -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
psimha
4d9c3f9806 qcacmn: Add sanity checks before retrieving rx_desc
Add sanity checks for pool id & index extracted
from the SW cookie field within buf_addr_info.

Change-Id: Icf21b94fa05f6f8887b8c7a17896348f25436dda
CRs-Fixed: 2220030
2018-05-16 19:48:38 -07:00
Aditya Sathish
7131fc8147 qcacmn: Fix for TX Unicast Packet Count Statistic
Fix for obtaining the correct value for the total unicast packets
transmitted.

Change-Id: I06071846f1dc3610cb8de1e73d7abcd869f2b172
CRs-Fixed: 2237301
2018-05-16 03:57:51 -07:00
Keyur Parekh
49cdc74b40 qcacmn: Modify SGI value in case of VHT SIG TLV
In VHT case, for some packets SGI value is 3, which
represent 3.2us value. Which is not applicable for VHT.
So if value 3 received from HW for SGI, than convert that
to default value, which is 0.4us.

Change-Id: I92716f8041f0db20b60dcd5e5d6681fa1bfa708f
2018-05-16 03:57:43 -07:00
Anish Nataraj
7b6d21f763 qcacmn: Populate Rx Raw, Tx Nawds multicast counters
Aggregate vdev level tx nawds multicast counter and rx raw
unicast packet counters from peer level

Change-Id: Iee466587d67286e5bf8f87e8ce516ce8e00e6f68
CRs-Fixed: 2233242
2018-05-16 00:28:33 -07:00
Chaithanya Garrepalli
9b3988c245 qcacmn: Populate rx raw stats at peer level
Add rx raw unicast packet counters from peer level

Change-Id: I13f9aaf5c62be86f5ba3cc750d5ee1ec698f424f
CRs-Fixed: 2233242
2018-05-16 00:28:28 -07:00
Chaithanya Garrepalli
396bbc8f6f qcacmn: add null checks in cdp_get_dp_htt_stats
Add null checks in cdp_get_dp_htt_stats for soc

Change-Id: Ifb158a33c1daddfb4aafa3fe4a88efbd57e70d48
CRs-Fixed: 2240121
2018-05-15 05:57:00 -07:00
Tallapragada Kalyan
ee40c5657f qcacmn: handle mcast pkts in DBDC QWRAP mode
drop mcast pkts in DBDC QWRAP mode if its looped
back on a different pdev

Change-Id: Ia8a23d56e409c85f9c3be523da2041ab622dcb42
2018-05-15 04:33:58 -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
Prathyusha Guduri
02ed94801a qcacmn: Add support in DP for enabling multiqueue support
Enable multiqueue on VAP with 4 Tx and Rx queues in lithium.

In Rx path set the rx queue of skb based on the reo ring id on which it
is received.

In Tx path use the queue_mapping of skb to map to the hardware Tx ring
on which it has to be transmitted.

Change-Id: I103a21e91d1ed5c0e1d8441863d4fcd273b7bed9
2018-05-14 03:00:07 -07:00
Chaithanya Garrepalli
72dc9132a6 qcacmn: Raw mode re-factoring and cleanup in rx
Cleaned raw mode specific code and moved the rx
processing to single API dp_rx_sg_create

Change-Id: I7696786d9a0f10983d3299956b46b2ec76b388a5
CRs-fixed: 2204824
2018-05-11 21:12:39 -07:00
Tallapragada Kalyan
bc62989ce4 qcacmn: Handle NULL objects properly
handle qdf_nbuf_unshare failure cases and NULL peer
in pn_error handler properly.

Change-Id: I9d271bed512a7e84a16d2b6c5b34f13235fc54e9
CRs-Fixed: 2221457
2018-05-11 16:18:10 -07:00
Linux Build Service Account
2dedc55d43 Merge "qcacmn: Fix htt included bit set for mesh exception packets" 2018-05-09 02:17:12 -07:00
Venkateswara Swamy Bandaru
97ca7e92fa qcacmn: Fix htt included bit set for mesh exception packets
There may be race condition in setting htt included when tx desciptors
getting prepared in two cpu cores. This is fixed by not setting the
bit globally.

Change-Id: I861cb2f0cf51a5a14a8fb6fbc6b64b00b82af675
CRs-Fixed: 2229350
2018-05-08 04:15:46 -07:00
jiad
c26dfc85f4 qcacmn: Fix return buffer manager for REO error ring
Return buffer manager for error packets has been changed
from HAL_RX_BUF_RBM_SW3_BM to HAL_RX_BUF_RBM_SW1_BM.

Fix is to use DP_WBM2SW_RBM to check correct rbm.

Change-Id: Ib5ffe7161f85fe6a374f16a06a1f6f4f701abe0b
CRs-Fixed: 2231571
2018-05-07 09:14:39 -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
psimha
0e8a2c6558 qcacmn: Get NSS info from SS bitmap
Get NSS info from a the MIMO SS bitmap within msdu_start info

Change-Id: I794b093783b5f1ffc7faf335da84cbc07375d520
CRs-Fixed: 2215660
2018-05-04 20:43:12 -07:00
Manjunathappa Prakash
56023f5649 qcacmn: Add GRO support to NAPI+Rx_thread processing model
GRO aggregations are hanging out of NAPI instance and we cannot use the
hif NAPI instance in Rx thread as gro_list inside NAPI is flushed out
at the start and end of NAPI poll, this will corrupt the gro_list on
which rx_thread is working. Address this concern by creating dummy
NAPI instances mapping to each hif NAPI and by not scheduling them.

Change-Id: I517c4c6158ed3ac073f5f617afde46c7ed07ff3e
CRs-Fixed: 2128457
2018-05-04 20:43:09 -07:00
chenguo
04d38d67ae qcacmn: Correct RX NSS statistics counter for txrx_stats commands
While doing RX NSS statistics counting, only MU_MIMO and MU_OFDMA_
MIMO frames are taken into consideration. So all NSS counter for
SU frames are missed.

Add RX NSS statistics counting for SU frames.

CRs-Fixed: 2228332
Change-Id: I5ee9b8f03177d31f5891a2e4e616b5740fec35f6
2018-05-03 04:43:41 -07:00
Manjunathappa Prakash
38ff9e3bb1 qcacmn: clear the tx_desc flags in V2 flow_ctrl dp_tx_desc_free
Make sure to clear the tx_desc->flags field before putting the tx_desc to
free pool. This was not takencare in V2 flow_control implementation.

Change-Id: I666b9b09de62d52cffc45e2b6db3a6be06d688e8
CRs-Fixed: 2186884
2018-05-02 19:48:03 -07:00
Shaakir Mohamed
4e30c9aba0 qcacmn: Avoid null pointer dereference
Check to prevent null pointer dereference.

Change-Id: Iec0f7d7738aa99994e2cf7b0dae2e6cd4a34c709
CRs-Fixed: 2220175
2018-05-02 14:29:24 -07:00