Commit Graph

72 Commits

Author SHA1 Message Date
phadiman
6c99befe8c qcacmn: FR 43198 Firmware Coex Stats
Host side efforts for requesting and printing
the firmware coex stats (cmn_dev changes)

Change-Id: I6ef0d7d657212088d77c328a66de30333c0d2267
2018-02-07 09:32:08 -08:00
Venkateswara Swamy Bandaru
58c8085e21 Revert "Revert "qcacmn: Mesh throughput enhancements""
This reverts commit I7421f3572c46ed27a2d96724b2bbbe40c0704e5f.

Change-Id: I8c44b0e893f81aadf7aa4404538776f27a579d76
CRs-Fixed: 2180219
2018-02-06 07:44:57 -08:00
Soumya Bhat
1df9464a4d qcacmn: Handle TLV received asynchronously from Firmware
When TLVs come from TAC_thread last tlv sent by FW is
HTT_PPDU_STATS_SCH_CMD_STATUS_TLV
and in Tqm thread HTT_PPDU_STATS_USR_COMPLTN_ACK_BA_STATUS_TLV is the last
TLV to be sent. HTT_PPDU_STATS_USR_COMPLTN_ACK_BA_STATUS_TLV though can
come either in tqm thread or tac thread based on tid type.

Add change to process HTT_PPDU_STATS_USR_COMPLTN_ACK_BA_STATUS_TLV when it
comes from tqm thread and pass the populated buffer to the appropriate APIs

Change-Id: I7a064aba4e3c6814b63dcf4bb97cfb3be0194c39
CRs-Fixed: 2180477
2018-02-05 03:40:11 -08:00
Prathyusha Guduri
be41d97175 qcacmn: add dp_tx_send_exception
dp_tx_send_exception is an exception path that transmits frames
through FW by setting DP_TX_DESC_FLAG_TO_FW

Change-Id: Id6abfcd2bf060c4fe3aaca91634f3be501530a7e
CRs-Fixed: 2176814
2018-01-30 13:40:37 -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
Venkateswara Swamy Bandaru
b2864fabe4 Revert "qcacmn: Mesh throughput enhancements"
This reverts commit I89ff27994477a5637979a9cd6a397286144b2535.

Change-Id: I7421f3572c46ed27a2d96724b2bbbe40c0704e5f
CRs-Fixed: 2177160
2018-01-26 09:20:39 -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
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
Poddar, Siddarth
ec4b2a97ad qcacmn: Add new data stall event for no TXRX post tim
Add a new data stall event which will be triggered by FW
when there is no exchange of frames post TIM and the STA
will keep on extending the ITO waiting for the rogue AP
to send a frame.

Change-Id: Ic97ab1036a12a20b174fa433e4a06ce0e9b4c308
CRs-Fixed: 2163316
2018-01-12 02:37:59 -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
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
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
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
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
Pranita Solanke
a12b4b305c qcacmn: Add support for missing Node statistics
Add support for following node statistics for Lithium DP
1) Number of Tx unicast MSDUs and bytes
2) Last Tx and Rx rate
3) Excessive retries per AC

Change-Id: If533df25e5299bf399bed85ace99763aab74134e
2017-12-07 05:37:29 -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
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
28541119a5 qcacmn: Populate RU tones in TX PPDU stats
Populate per user RU tones for TX PPDU

Change-Id: I5725c0500d8a22247913d3656047e25eaaa8c6d3
CRs-Fixed: 2147797
2017-12-01 21:40:10 -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
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
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
Basamma Yakkanahalli
51ddfbcbee qcacmn: iwpriv txrx_fw_stats support halphy stats
Added TXRX_FW_HALPHY_STATS to support txrx_fw_stats
for halphy stats.

Change-Id: I93a9c9e3199c7c163cd6e93d28acb4e757c1e3eb
CRs-Fixed: 2114152
2017-11-06 00:50:50 -08: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
Pamidipati, Vijay
bd9c13f2e8 qcacmn: Enable update of per-peer statistics in MSDU Tx completions
Update of per-peer statistics was disabled from per-MSDU indications
as they are now updated from per-PPDU indications. However, the data from
per-PPDU indications is incorrect for some fields. Re-enable update of
statistics for per-MSDU completions till this issue is fixed in FW

Change-Id: I2983ef9244a6f95104ba49ab6d1c6543a951d0b2
CRs-Fixed: 2128230
2017-10-23 08:06:22 -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
Soumya Bhat
1c73aa673b qcacmn: Parse PPDU stats TLV
Parse PPDU TLVs provided by FW which are required to
capture TX data path stats

Change-Id: If91834aa94ff8893ba1f292d801f2c00ecdaea1f
CRs-Fixed: 2104488
2017-10-14 09:39:16 -07:00
Soumya Bhat
835033e388 qcacmn: Fix TX PPDU stats issues
1. Define bitmap array appropriately and expand ppdu per user
tx stats array to accomodate upto 8 users stats
2. Fix issue where even with 1 WLAN STA user_index was exceeding zero
3. Allocate 5 bits for ppdu_type variable

Change-Id: I969c929c3e16d4027a5e642a0a9195979c95e9cc
CRs-Fixed: 2121122
2017-10-12 14:22:42 -07:00
Pamidipati, Vijay
d7eb83ec15 qcacmn: Add missing fields in CDP Rx PPDU Statistics structure
Enable reaping of HAL PPDU Status ring when ol stats are enabled.
Added peer mac address and first_data_seqcntl fields into CDP Rx PPDU_stats
structure. Added support to disable printing of per packet stats through
iwpriv command.

Change-Id: If0f967676e867c7ba9870770c3c818cbea43461a
2017-10-12 14:21:51 -07:00
Poddar, Siddarth
5c57a8905e qcacmn: Add register/deregister data stall detect cb api
Add register and deregister data stall detect callback apis.

Change-Id: I59d5871b7ec03da4b4f69d87b14f7eb5e8606c4a
CRs-Fixed: 2090654
2017-10-06 12:27:19 -07:00
Kabilan Kannan
60e3b3062d qcacmn: Add host data path functions for TDLS
Add and enable host data path functions for Napier
TDLS.

Change-Id: I228c2dcf4e8d797d173007a3306d112aca5ba52f
CRs-Fixed: 2114813
2017-10-05 19:59:55 -07:00
D Harilakshmi
5da9ee74b2 Revert "qcacmn: Propagate config parameters to datapath"
This reverts commit 5a02b1f053.

Change-Id: I52dcfb50998577df8b2b4807adcd322f91d21e45
Signed-off-by: Kalyan Muddala <kmudda@codeaurora.org>
2017-10-04 16:14:12 +05:30
Venkata Sharath Chandra Manchala
5a02b1f053 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: I9336cac686bfb875cea242685a122ec98acdf8c2
CRs-Fixed: 2097229
2017-10-02 11:32:45 -07:00
sumedh baikady
72b1c7195f qcacmn: Add support for data path ring stats
Add feature to obtain position of head and tail pointer of all rings.
Change code to include 'iwpriv athx txrx_stats 263' that gives the entries
pointed to by head and tail pointer.

Change-Id: Ib125db8982362c50a415058fd29f07f326991a50
CRs-fixed: 2098806
2017-09-28 21:59:24 -07:00
Vignesh Viswanathan
3a133b7ca3 qcacmn: Dump disconnect stats
Add a new dumpStats parameter (25) to dump disconnect stats.
The following command will dump disconnect Stats into QXDM.
>iwpriv wlan0 dumpStats 25

Related qcacld-3.0 change I0908c947b5c829f51b087871ad11d5674908dca2

Change-Id: I359ef19c268123848fe6195f6453a6c246fba3a1
CRs-Fixed: 2058958
2017-09-21 20:17:58 -07:00
Soumya Bhat
539ecfa47d qcacmn: HTT PPDU Status TLV processing
Add support to process HTT PPDU per-user TLVs that are sent to host from
FW on PPDU Tx completions.

Change-Id: Ia05d5d0e045bfeb4143886ef3a1b075d927645fa
CRs-Fixed: 2098696
2017-09-13 01:48:20 -07:00
Pamidipati, Vijay
038d090817 qcacmn: Add PPDU statistics support for Tx datapath
Add support to process HTT PPDU statistics for transmit
datapath and deliver PPDU indication to CDP interface.

Change-Id: I22e757497e13ce86fb7b42112fd56555c58e97bc
CRs-Fixed: 2098696
2017-09-13 01:48:18 -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
Pamidipati, Vijay
899e775769 qcacmn: Add support to dump Host AST table
Add support to print Host AST table contents and
AST statistics

Change-Id: I669d547657fe9d826d2aed59cf8dbb06bc100996
CRs-Fixed: 2099205
2017-08-29 23:41:34 -07:00
Linux Build Service Account
8b300c08c1 Merge "qcacmn: Fix race condition that Tx is paused by flow control forever" 2017-08-24 08:11:07 -07:00
bings
4dcaf8b239 qcacmn: Fix race condition that Tx is paused by flow control forever
When hdd_get_tx_resource is called, if free Tx desc is lower than low water
mark, vdev->os_q_paused will be set as 1 and WLAN_STOP_ALL_NETIF_QUEUE will
be triggered after a while. Before WLAN_STOP_ALL_NETIF_QUEUE is triggered,
if ol_tx_flow_ct_unpause_os_q is called, WLAN_WAKE_ALL_NETIF_QUEUE will be
triggered and vdev->os_q_paused will be set as 0. In such case there will
be no flow control unpaused forever.

Tx should be paused by flow control when Tx desc is lower than low water
mark, and unpaused when Tx desc is bigger than high water mark or Tx is
already paused by flow control.

Change-Id: Ib60139fd94a4fb88c92a7f8aaf886ae9d3ca4c75
CRs-Fixed: 2090475
2017-08-23 22:07:26 -07:00
Venkateswara Swamy Bandaru
3f4e1c48cc qcacmn: Fix Key derivation for mesh rx stats
Fixed key derivation for mesh rx stats for received packet. Added cdp api
to get the key by passing key index and peer mac address.

Change-Id: I6a4c342b614ae85a5ad2fb047f2d8686aa068196
CRs-fixed: 2094335
2017-08-22 07:26:02 -07:00
Radha krishna Simha Jiguru
f70f991f45 qcacmn: Send peer create to NSS only for connected peers
Send peer create to NSS only when peer map comes for connected peers.
When peer map comes for WDS peers only update WDS peer specific entries.

Change-Id: I32d785180bcd1dae2703d40b55f4536685f10439
2017-08-17 20:51:16 -07:00
Pamidipati, Vijay
623fbee5f9 qcacmn: Clean up TxRx statistics
Cleanup the print format for rate stats.
Add missing elements in HAL tx completion structure.

Change-Id: I57aaac605fce5060f7943b9bbe95ef8e8c2d3b7b
2017-08-15 17:32:16 -07:00
psimha
61b1a36f72 qcacmn: Add NAPI stats
Add basic stats to track NAPI polls & schedules.

Change-Id: Iea8f21fc08d4a5de62e00f32ffdc020f8364ced1
CRs-Fixed: 2083867
2017-08-04 15:35:43 -07:00
Pamidipati, Vijay
b8bbf16192 qcacmn: Add support for WDS aging
Add support for monitoring receive traffic from WDS nodes and
aging out inactive WDS nodes

Change-Id: Iedea826832a5421714c00bccadc6e0dc4acd4c7e
CRs-Fixed: 2004658
2017-07-15 11:38:57 -07:00
c_cgodav
bd5b3c2c9b qcacmn: Add CDP APIs to get security type from peer handler
Add CDP API to get security type for ucast and mcast from
peer handler. Add additional peer handler argument for raw mode
rx decap functions. The peer handler is needed in the raw mode
functions for getting the security type of the frame and process
it accordingly.

Change-Id: I8b4728e9eb0ff29849805bb461c81e4fc3accc81
2017-07-12 12:55:50 -07:00