Commit Graph

192 Commits

Author SHA1 Message Date
Soumya Bhat
a6bdfd8b46 qcacmn: Populate ppdu end timestamp
Populate ppdu end timestamp, received from FW into cdp tx structure.

Change-Id: I114b595bf0ad98469f095267b8d3e98017897514
CRs-Fixed: 2143073
2017-11-15 07:25:11 -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
Soumya Bhat
606fb3902c qcacmn: Parse received PPDU stats TLV appropriately
num_msdu, qos and ppdu_type were being parsed incorrectly.
Parse them appropriately.

Change-Id: I665285bc0b628fd1d9459473d18ef62577bbd54e
CRs-Fixed: 2133732
2017-11-04 06:09:11 -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
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
Karunakar Dasineni
ead27fb613 qcacmn: Move packet log to HTT
Packet log messages be coming as HTT messages for Lithium. Temporary
change to bypass HTC connection for this new HIF pipe (CE 5), which
will be used for packet log and other high-priority HTT messsages.
Proper HTC connection to be added later once required FW changes
are available

Change-Id: I53361b4c28b838dacf62f435cc12051bb2eb65b6
2017-10-16 08:05:18 -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
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
sumedh baikady
308ff00498 qcacmn: Fix per msdu info for Monitor mode
Add support to include per msdu header info for each msdu in monitor mode.
Set HTT_RX_RING_SELECTION_CFG_TLV_FILTER_IN_FLAG_RX_RESERVED in htt msg
from host. Enable per msdu bit and set it in the dp_htt to be used for
filtering.

Change-Id: I36217e893c40570c86b758f586c581d88633b557
CRs-fixed: 2101013
2017-09-21 16:41:54 -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
Om Prakash Tripathi
121268292f qcacmn: Add support for back to back htt stats
In existing implementation when previous stats handling is under process
and a new stats event is received, new stats event is dropped.
Add support to queue any received stats message and process it
later in work queue context.

Change-Id: I7895a2f7ac49456c49374ce209da97c2148f43a2
CRs-Fixed: 2076552
2017-08-22 16:15:14 +05:30
Yun Park
fde6b9e551 qcacmn: Enable WLAN host data path support for IPA WDI3.0
Change to support WLAN Napier host autonomy data path architecture.

Change-Id: I07f7592d547bb796a3c12bbc4745cee22e2c0022
CRs-Fixed: 2064810
2017-08-07 17:47:38 -07:00
Keyur Parekh
db0fa14b0e qcacmn: Pktlog modified to work for per pdev in wifi3.0
change pktlog CE ring to 5 from 11

Change-Id: I3cd3287cdda413ef9ac4ed204177300c85abfb24
2017-07-19 18:14:13 -07:00
Pramod Simha
e0baa4436a qcacmn: Add misc list to hold HTT msgs
Add a misc list which stores HTT msgs & later frees them during rmmod.
This is required to prevent memory leaks during rmmod.

Change-Id: Iecc04ec38cfa1b459064da74dffa5bfeffdba956
CRs-Fixed: 2068058
2017-07-13 14:49:08 -07:00
Om Prakash Tripathi
2cd7fab473 qcacmn: create work queue to process htt stats
process htt stats in work queue context

Change-Id: Ibacc09e3921da2fa88173bc0cfdc2f0ced51cc68
CRs-Fixed: 2070977
2017-07-12 13:48:56 -07:00
Pramod Simha
e382ff88b9 qcacmn: Add RXDMA_DST ring support
Setup & process the RXDMA_DST ring to handle error frames
from RXDMA block. Pro-active fix to handle the WAR for
the WBM stuck issue seen when sending RX_FLUSH command.

Change-Id: Ibf56062da2cd9b5d447f1d43bbae5944426d88c8
CRs-Fixed: 2059870
2017-07-07 12:33:54 -07:00
Ravi Joshi
8851f4eb1c qcacmn: Enable RXDMA ring configuration for monitor mode
Enable RXDMA status, desc, buffer and destination rings to
support monitor mode. The change also provides fix to properly
map pdev_id to mac_id.

CRs-Fixed: 2071602
Change-Id: Ie9caaaa0021d5842eaf28a5532b3ab5512fe507f
2017-07-06 21:55:18 -07:00
Ravi Joshi
2320b6fe68 qcacmn: Enable all mgmt, ctrl and data fields in pkt_tlv
Currently all mgmt, ctrl and data frames are not enabled
while requesting for the pkt_tlv configuration for the
monitor mode. Adding changes to enable these while sending
HTT ring configuration message.

Change-Id: Ifa23edb55562512e18bb2ee4c426fa0b5e45a577
CRs-Fixed: 2071602
2017-07-06 21:55:16 -07:00
Rakesh Pillai
13146458f9 qcacmn: Fix CLANG warnings in Data path
implicit conversion from enumeration type 'A_STATUS' to different enumeration type 'QDF_STATUS'
implicit conversion from enumeration type 'QDF_STATUS' to different enumeration type 'A_STATUS'

CRs-Fixed: 2063344
Change-Id: Id3613d0b7fca58c3d94c5af59838b0bff3ef26de
2017-06-30 22:50:37 -07:00
Kai Chen
cbe4c342b6 qcacmn: Fix the issue on setup monitor mode ring
The pdev id in host is not the same as firmware MAC id
Add host pdevid to firmware MAC id mapping code
in set pdev id for htt sring setup and
set pdev id for htt rx ring selection cfg

The mon_ppdu_status is not synchronized
Fix the issue on pdev mon_ppdu_status by reset
mon_ppdu_status to DP_PPDU_STATUS_START after
monitor destination ring is processed

Add code for mpdu fcs error for later use

Change-Id: Ia6245cc9441e3339bcd01ed18fdce2f33f3f7699
2017-06-28 17:33:34 -07:00
Keyur Parekh
fad6d088fa qcacmn: Packet log changes for wifi3.0
Change-Id: I82462f426e4e449c5bc65331e39f07a062e8e242
2017-06-27 23:37:33 -07:00
Karunakar Dasineni
4055568bad qcacmn: Monitor status ring handling
Changes to process PHY TLVs from monitor status ring and extract
information required for radiotap header.

Change-Id: I99d642e7506ea797b26dbfac89fd223d1a4c0a55
CRs-Fixed: 2048006
2017-06-16 17:12:13 -07:00
Ishank Jain
6290a3c543 qcacmn: Add APIs to enable HTT FW Stats
Adding support to parse stream of HTT TLV's recieved as response
to the HTT EXT stats request message

Change-Id: I44c990a1ed91c2381b89811de33c0717bd24be7d
CRs-Fixed: 1114641
2017-05-24 02:41:10 -07:00
Manikandan Mohan
50ec704606 qcacmn: Update for check patch fixes
Fix for compilation errors after check patch fixes

Change-Id: Ib530d8d860440754f526ac93f5b12dbeab45b8aa
CRs-fixed: 2033001
2017-05-02 13:29:33 -07:00
Pramod Simha
30e8135859 qcacmn: Changes for BA window update
Window size needs to be incremented by 1 since fw needs to
represent a value of 256 using just 8 bits.

Change-Id: I18cdb6fb928f28893dc0e1fd2fb574a12ca53972
CRs-Fixed: 2025197
2017-03-29 15:01:14 -07:00
Kai Chen
6eca1a62da qcacmn: Monitor mode configuration and processing
This change is for supporting monitor mode VAP.  All the monitor mode ring
is configured. The related monitor mode ring includes:
-monitor mode buffer ring
-monitor mode destination ring
-monitor mode status ring
-monitor mode link descriptor ring
The packet is not sent to monitor mode ring unless the monitor mode VAP is
configured. This release support Multiple VAP - AP/STA VAP plus Monitor
VAP configuration. The status ring is not used in this release. However,
the ring is tested and the ring is moving and there are TLV's in the ring.

Change-Id: I782ee0c3b998d8b3bbac79b5e7fdecdbff15fa93
CRs-Fixed: 2013049
2017-03-29 05:58:52 -07:00
Tallapragada Kalyan
6f6166e36c qcacmn: Add support for intra-bss forwarding
pkts should be forwarded from one STA to another
STA belonging to same VAP from within the driver

Change-Id: I68eb0dd91f7ac54352b4882ffdb9d5d53d627db1

Conflicts:
	dp/wifi3.0/dp_rx.c
	dp/wifi3.0/dp_types.h

Conflicts:
	dp/wifi3.0/dp_rx.c

Change-Id: I68eb0dd91f7ac54352b4882ffdb9d5d53d627db1
2017-03-25 06:38:24 -07:00
Pramod Simha
b17d067de0 qcacmn: Changes to support LFR
Setup all TID queues during rx peer init
Add support to handle ADDBA HTT msg
Allow pkts to be fwd to stack even if peer isn't found

Change-Id: Icdfec2eeaa3e0ca62202ed278cd63209b8f79cb2
CRs-Fixed: 2016138
2017-03-21 22:01:34 -07:00
Manoj Ekbote
46c03169ba qcacmn: Use correct offset for rx ring id
MAC id is needed to retrieve the ring id during srng
setup.

Change-Id: I42bb8db997df1e3540ba61cdc770e4e7810d10c4
2017-02-27 23:27:21 -08:00
Dhanashri Atre
2ea8c0fe00 qcacmn: Ensure the mac id sent to firmware starts at 1
Firmware expects the following:
- mac id for the refill ring configuration should be 0 (soc)
- mac id for the rx dma rings should be 1, 2 (mac 0 and mac 1)

Change-Id: I23c652e2e1f8e2fca69647906321e4d867a42609
CRs-Fixed: 2003050
2017-02-10 01:24:00 -08:00
Dhanashri Atre
d4032abf27 qcacmn: Support for configuring 2nd MAC
Add support to configure the second LMAC ring
which is needed for DBS.

Change-Id: Idb055621d174c994e267dc6dcca2bc798ae79bfc
CRs-Fixed: 1116939
2017-02-01 16:23:38 -08:00
Jeff Johnson
32140745b1 qcacmn: Make dp_htt_h2t_send_complete() static
Since dp_htt_h2t_send_complete() is only accessed from within
dp_htt.c, and since there is not a public prototype, make it static.

Change-Id: I002ac20d0e5ced8ddc9d5099a987a5ce208b4cfc
CRs-Fixed: 1108111
2017-01-09 09:55:26 -08:00
Jeff Johnson
2cb8fc7e18 qcacmn: Properly export dp_peer API
Currently some of the public functions in dp_peer.c do not have their
prototypes exposed in a header file. In addition clients of these
functions currently have local prototypes. Fix these issues by adding
the prototypes to dp_peer.h.

Change-Id: I461cf69024da56fad57b75a325775ecd68872c8e
CRs-Fixed: 1108085
2017-01-09 09:55:25 -08:00
Kiran Venkatappa
3ec0b30592 qcacmn: Fix for crash during unload of driver modules
Fix a typo to use correct data structure in htt_soc_detach

Change-Id: Ifbb68ef99190899e46003a95d0577f5b0a33981a
CRs-Fixed: 1097695
2016-12-20 21:52:22 -08:00
Leo Chang
5ea93a4527 qcacmn: wifi3 compile against cdp
Wifi 3.0 compile against cdp apis.
Make compilable against mobile code base.
selective hw common header include.

Change-Id: I051f917001c0d13c762d9cb5a3ec141cd278d0e7
CRs-fixed: 1075736
2016-11-17 19:13:03 -08:00
Dhanashri Atre
7351d17b41 qcacmn: MCL Buffer Replenishment
Add support for replenishing the rx buffers using the host to
firmware buffer ring.

This includes adding a flag QCA_HOST2FW_RXBUF_RING:
When QCA_HOST2FW_RXBUF_RING is enabled the host will do the following:
- Allocate the refill buffer ring (HTT_HOST1_TO_FW_RXBUF_RING) and
populate it with
 rx buffers
- Send the refill buffer ring configuration to the firmware
- Allocate the rx DMA ring (HTT_RXDMA_HOST_BUF_RING), leave it empty.
- Send the rx DMA ring configuration to the firmware

When QCA_HOST2FW_RXBUF_RING is disabled, the host will do the following:
- Allocate the rx DMA ring (HTT_RXDMA_HOST_BUF_RING), and populate it with
 rx buffers
- Send the rx DMA ring configuration to the firmware

CRs-Fixed: 1074199
Change-Id: Iec05a973cd9d628c742e3aaa16b8dabc7797625d
2016-10-28 05:21:59 -07:00
Karunakar Dasineni
9b814ce7e5 qcacmn: Lithium data path initialization
1. Intial version of Lithium data path initialization
2. HAL changes for REO and WBM setup

Change-Id: I52f638faf6e60c2a932acc3c76788bf8946c30db
2016-10-27 15:21:45 -07:00