Commit Graph

264 Commits

Author SHA1 Message Date
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
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
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
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
Neil Zhao
488763687b qcacmn: fix tid overwrite/save FRs for HK
Fix tid overwrite and save features' brokage for HK

Change-Id: I71985a73f65ad4ddf79ae9a2efb00c5de12b9cd8
2018-04-26 16:02:11 -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
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
Tallapragada Kalyan
e33a5632b8 qcacmn: add abstraction to update rx stats
Add a new API to update the stats which will be
called from dp_rx_process instead of updating stats
directly from within the dp_rx_process function

Change-Id: I13bdfd1606c3ceb2e38921ffa0cf3fe9f29c57ee
CRs-Fixed: 2189088
2018-04-05 07:46:47 -07:00
Venkata Sharath Chandra Manchala
bcfa6d8683 qcacmn: Add lock to protect rx_desc_pool
Create a lock for protecting rx descriptor
pool allocation during initialization and destroy it
during unloading the driver.

Change-Id: Icd489e400dab9bb648709134dcaa24c4d7724aa6
CRs-Fixed: 2215430
2018-04-01 21:02:38 -07:00
Manjunathappa Prakash
d9ce350f01 qcacmn: Initialize and reap both 2.4GHz and 5GHz MACs
Initialize MAC1 along with MAC0. 2.4GHz monitor mode operates on
MAC1 so initialize MAC1 and reap both MAC0 and MAC1.

Change-Id: Id281def37d460b224f5f571893266f193846fd0c
CRs-Fixed: 2176848
2018-03-20 15:54:58 -07:00
Chaithanya Garrepalli
974da2640a qcacmn: Avoid reference of peer object after peer_teardown
In API dp_peer_find_by_id return NULL if delete_in_progress
bit is set, this will avoid referencing peer memory which will
be free in peer_unmap event asynchronously.

Change-Id: Ieab559b9274a886809a9baa9bb348d348e924625
CRs-fixed: 2194265
2018-03-20 07:38:25 -07:00
jinweic chen
c3546321b6 qcacmn: add nbuf map result check when replenish
add the nbuf map result checking when replenish rx
nbuf to monitor status ring, this could avoid the
case nbuf map failed and invalid dma address
posted to HW or do unmap for unmapped nbuf.

Change-Id: I45cfc015f71a2d7295f7fcb4803bd6e68e2752d4
CRs-Fixed: 2182546
2018-03-13 06:00:59 -07:00
Soumya Bhat
bc719e6b02 qcacmn: Add support to get RSSI of Non associated clients
Add change in driver to get RSSI of non associated clients.

This is done in 2 levels of filtering
1. Send WMI to FW to configure BSSID in HW
2. Filter the neighbour BSSID packets received in host for
the configured client mac

Change-Id: I6b684b83cecb308dac326056aa77537aee07b933
CRs-Fixed: 2148773
2018-02-23 20:01:17 -08:00
Venkateswara Swamy Bandaru
37a3a456f6 qcacmn: Increase debug level of mesh prints
Increase debug level of mesh prints as in current debug level lot of
prints are coming.

Change-Id: Ic584c1bb17415521b66e656274e7283279c8cc61
CRs-Fixed: 2188324
2018-02-20 23:26:06 -08:00
Mohit Khanna
9a6fdd5cee qcacmn: Debug prints for monitor mode
Add some debug prints for monitor mode

Change-Id: Ie12279c832647cac9e1f152c98fa0205dd9d495e
CRs-Fixed: 2173407
2018-02-16 22:58:07 -08:00
syed touqeer pasha
4ffe1c5a1b qcacmn: Memory leakage with WiFi traffic
The buffer was not being freed after invalid peer handler.
Error are handled and returned but buffer free was not taken care.

Change-Id: I100cdc27e6ca1af3dde7ce6561f5dfb83b87127f
2018-02-15 13:24:02 -08:00
Tallapragada Kalyan
32e74e669d qcacmn: Linearize nbuf in intra-bss forwaring case
with fragmented pkts re-injected back to REO destination
ring as frag_list, we need to linearize these nbufs while
handling intra-bss forwarding cases.

Change-Id: Id692974ac5d80f369fafae39aec32e2066dffb0b
2018-02-09 01:51:24 -08:00
Subhranil Choudhury
eea6738ef9 qcacmn: Move peer activity marking to a common place
Move the peer Rx activity to PPDU_stats_handler
which is common for both NSS offload and Host datapath modes.

Change-Id: I06c3dd14d117cc291e3b19076ddfc7f3be00e602
CRs-Fixed: 2176385
2018-01-30 05:39:07 -08:00
Pranita Solanke
a5a3ae721e qcacmn: Add support for Tx and RX Broadcast Packets
Add counters to display the broadcast packets on Tx and Rx side

Change-Id: I85bea07b83d34dc15b185297e7ec63208d8ab8e8
2018-01-30 05:39:04 -08:00
Pranita Solanke
ed0aba69a9 qcacmn: Rx and Tx peer statistics update
* Update the pkt_type counters correctly within the array bound
 * Add support for NSS counters on Tx side
 * Update ampdu flag in PPDU struct
 * Add support for ampdu flag in hal_ppdu struct

Change-Id: I79ea52727124ea4be4d82912cb2513ea58e2af10
2018-01-18 02:33:34 -08:00
Soumya Bhat
d4ad6afa37 qcacmn: Fix Rx pkt len in stats
Fix packet length updated in data path RX stats

Change-Id: I136901a526441f55361f3d7079a03608188996dc
2018-01-09 06:12:46 -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
chenguo
91c9010216 qcacmn: Fix memory leak for invalid peer error
In dp_rx_null_q_desc_handle, if peer is invaild and no need to
deliver to the upper layer, the nbuf must be freed before recycle
the rx descriptor.

CRs-Fixed: 2153932
Change-Id: I1b373d1b5b50da42b896f0b2fd7bbd13b0e2466d
2018-01-01 23:25:10 -08:00
chenguo
a80287435f qcacmn: Delete duplicated statistics in RX
Only need to udpate per peer statistics in RX. What's more, this
statistics should be protected by flag of process_rx_status.

CRs-Fixed: 2160448
Change-Id: Iff3f5e1e6d00ef777cd6b62d6903c710c9430960
2017-12-29 01:42:55 -08:00
chenguo
9bece1afc7 qcacmn: Enable DP statistics in driver by default for MCL
Both process_tx_status and process_rx_status is disabled for the
default setting. Enable those flags by default for MCL

CRs-Fixed: 2146734
Change-Id: I8c5a636badcfe9327fce7f3332abd93946f003bd
2017-12-28 05:44:59 -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
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
psimha
03f9a792e3 qcacmn: Handle LFR case in RX datapath
Add checks for peer as this can be NULL in case of LFR.

Change-Id: I64cc719c9461af5ce9fa4e4e19ba2feedb58a64c
CRs-Fixed: 2128291
2017-12-05 13:38:49 -08:00
Manjunathappa Prakash
71772a5317 qcacmn: skb->cb reorganize, use new FLOW_ID macro
Fix compilation failure because of skb->cb reorganize change.
Use new macro QDF_NBUF_CB_RX_FLOW_ID instead of
QDF_NBUF_CB_RX_FLOW_ID_TOEPLITZ

Change-Id: I4f34c4710c4352a1895d0a08ce7f2e0632b1d30a
CRs-Fixed: 2120295
2017-12-02 01:41:00 -08:00
Vivek
de90e59667 qcacmn: Reorganize the tx & rx member of skb->cb structure
The current tx & rx member of skb->cb structure has lot of common members
duplicated across win & mcl sub structures.
The common members are now moved out
and new members are added as per the requirement.
Also the members are organized to avoid additional padding
and fit within the 48 byte boundary for both 32bit & 64 bit platforms.

Change-Id: I27abc95d51127513cf2e7e9657a4ee84324b2cc9
CRs-Fixed: 2120295
2017-12-02 01:40:58 -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
Tallapragada Kalyan
a867edf5ee qcacmn: pass correct argument to qdf_nbuf_alloc
till date we were passing wrong argument to qdfnbuf_alloc
now we are passing the right argument.

Change-Id: Ie3ee8f1d870b410cbea3236d2fa42ae035a67e0f
2017-11-24 02:36:53 -08:00
Manjunathappa Prakash
6d2f46df2c qcacmn: Fix potential nbuf memory leak if mmap fails
Make sure free the allocated nbuf if we fail to memory map it.

Change-Id: I90606ab088fc093b390644478bccc77f08800cd5
CRs-Fixed: 2142469
2017-11-16 07:22:08 -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
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
Yun Park
fd269b5021 qcacmn: Remove kernel includes from datapath
To abstract kernel header inclusion, create a new QDF APIs for all IPA
APIs and redirect all IPA API calls through QDF interfaces.

Change-Id: I7bff975ad7cb32fc128320c124633594471e0a1f
CRs-Fixed: 2098907
2017-11-11 19:25:09 -08:00
chenguo
ab551a63c0 qcacmn: Remove duplicated API call
In the main data RX path, the API of geting MSDU description is
called duplciately repeatly. Because the input parameter is not
changed, unnecessary function calling is existed. Remove the
unnecessary API calling.

CRs-Fixed: 2137776
Change-Id: I11f3d83dd4045f6a353ca6b9b23c188e582672a6
2017-11-09 05:26:08 -08:00
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
Pamidipati, Vijay
3379c74969 qcacmn: Fix descriptor leak issue in DP
In the DMA descriptor reap code, the check for NAPI quota is after
Tail pointer is updated. This is causing a descriptor leak in high load
conditions when loop is exited without processing the reaped descriptor.
This change moves the quota check to end of while loop.

Change-Id: I2f3432bf257947f85abc2216a0f2dfc44813c44c
CRs-Fixed: 2137017
2017-11-07 09:38:11 -08:00
Yun Park
b9a7b5ac0d qcacmn: DP logging adjustments (0)
Reduce logging level of DP prints

Change-Id: I8909110ae33f279a9e2e66ae3fa1d40936418db4
CRs-Fixed: 2118016
2017-10-27 19:37:27 -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
psimha
eae1b41e33 qcacmn: Fix uninitialized access to rx desc pool lock
Add a check to prevent access to a uninitialized lock.
This occurs on the failure path of pdev attach.

Change-Id: I8be9d7c97095a3ba96b6d1a8599ee2412eb8f5d6
CRs-Fixed: 2099448
2017-10-06 14:18:03 -07:00
Jeff Johnson
3f217e2a81 qcacmn: dp: Replace instances of unadorned %p
Replace instances of unadorned %p in dp.

Change-Id: I8d9c0f6efe5f03a582a36d7ff39a905a5de576a7
CRs-Fixed: 2111274
2017-09-28 04:48:10 -07:00
Yue Ma
245b47bfb5 qcacmn: Add runtime PM support for new data path
Handle runtime PM feature in new data path for QCA6290.

Change-Id: I0a211436d80d68bc94d11ccd3c34860b648e40e7
CRs-fixed: 2023358
2017-09-26 11:25:52 -07:00
Dustin Brown
49a8f6e37e qcacmn: Prepend kernel includes with "kernel/"
To avoid include conflicts, prepend all kernel includes with "kernel/"

Change-Id: I1c3ae9078d5537b03486afff9c2491881c9f694c
CRs-Fixed: 2098814
2017-09-15 12:22:51 -07:00
Houston Hoffman
ae850c6d62 qcacmn: Cleanup some excessive logging
Cleanup some excessive logging used durring bringup.

Change-Id: I09df15b7aad8176ad35f70d4d51b4a0a254699e0
CRs-Fixed: 2101103
2017-09-13 15:25:42 -07:00
URAJ SASAN
81d9571879 qcacmn: Enable client isolation
[PATCH 0/1][CR:2093711]

The client isolation feature parameters were
pass and stored but were not used for enabling/disabling.
Added the changes to enable disable the feature.

iwpriv ath0 ap_bridge 1
iwpriv ath0 get_ap_bridge

By default feature is enabled so the STA-STA packet does not
go through the bridge interface and incase the feature is disabled
packets are given to the kernel stack.

Change-Id: I76e8683a0a7e8791cf8cf743e39b7201fee39d30
2017-09-07 05:30:27 -07:00